This change fixes an issue where the vuetify app will reload when
"enter" is pressed in a form. It also adds a success notification on
successfully enabling 2FA.
Change-Id: I23a66122dce4f1bd2ff21a5cd6ae0f1b22be9395
This change allows buckets to be deleted from the Buckets page through
a dropdown menu in the buckets table. Before deletion, users are
prompted to confirm their decision in a dialog box.
Revoles #6114
Change-Id: Ie3a8bfbf94a29c4bc67b4dacbace6abe7e1bc2eb
This change resolves an issue where the buttons in the navigation
sidebar would not navigate to the correct page when clicked if the
current path was not a sibling of the intended page's path.
Change-Id: I400aa05954f532eabbad98f9fa36f594f08a6c10
This patch makes it easier to configure existing placement rules only with string.
1. placement(n) rule can be used to reuse earlier definitions
2 .&& can be used in addition to all(n1,n2)
3. country(c) accepts exclusions (like '!RU'), regions ('EU','EEA'), all and none
See the 'full example' unit test, which uses all of these, in a realistic example.
https://github.com/storj/storj/issues/6126
Change-Id: Ica76f016ebd002eb7ea8103d4258bacd6a6d77bf
Updated message to be more clear, and changed "estimated charges" to
"estimated usage". This should make this card in the billing UI less
confusing.
Updated styling.
Issue:
https://github.com/storj/storj/issues/6150
Change-Id: I5de4d72dfd437d4f6bda882f5b779b2217e84f98
When we check the availability of the pieces, we do:
```
result.NumUnhealthyRetrievable = len(result.ClumpedPiecesSet) + len(result.OutOfPlacementPiecesSet)
// + some magic if there are overlaps between them
numHealthy := len(pieces) - len(piecesCheck.MissingPiecesSet) - piecesCheck.NumUnhealthyRetrievable
```
This works only if OutOfPlacementPieceSet doesn't contain the offline nodes (which are already included in MissingPieceSet).
But `result.OutOfPlacementPieces.Set` should include all the nodes (even offline), as in case of lucky conditions, we are able to remove those pieces from DB.
The solution is to remove all offline nodes from `NumUnhealthyRetrievable`.
Change-Id: I90baa0396352dd040e1e1516314b3271f8712034
This change implements the Project Settings page in the Vuetify
project. It allows users to view and change a project's name,
description, storage limit, and bandwidth limit.
Resolves#6176
Change-Id: Ibcc56d2bb7c71e818390e69eec197508e3551803
This patch fixes the node tag based placement of rangedloop/repairchecker + repair process.
The main change is just adding the node tags for Reliable and KnownReliabel database calls + adding new tests to prove, it works.
https://github.com/storj/storj/issues/6126
Change-Id: I245d654a18c1d61b2c72df49afa0718d0de76da1
This change fixes an issue where notifications would display above the
viewport if the page was scrolled down. Now, notifications are fixed to
the top-right corner of the viewport.
Change-Id: I4d55b7d149b889e7b41e2f245ff8547e998877fc
This change adds the ability to create a bucket to the vuetify poc.
Issue: https://github.com/storj/storj/issues/6112
Change-Id: Ib56432e2ad09c6673c9903a49537199882fd1cf3
There are cases when we would like to override the default placement=0 rule.
For example when we would like to exclude tagged nodes from the selection (by default).
Therefore we couldn't use a shortcut any more, we should always check the placement rules, even if we use placement=0.
TODO: we need to update common, and rename `EveryCountry` to `DefaultPlacement`, just to avoid confusion.
https://github.com/storj/storj/issues/6126
Change-Id: Iba6c655bd623e04351ea7ff91fd741785dc193e4
This change resolves an issue that 37a027a introduced wherein each
input component's details area was indiscriminately hidden. Now,
details are only hidden when there is no content to be displayed.
References #6170
Change-Id: I8ccbef3f64a54c400a2a2e9222618eb5015c8dd8
the progress bar was being set to inconsistent lengths
multiple times, causing a crash. this fixes that by
only setting the progress bar length once to the length
of the full object. it avoids a round trip by doing so
only after it has gotten the first read handle from the
source, so the length information is cached.
Change-Id: I112d7c79016e54ba3794e96c6174cc01b8baedb4
We moved the slim build to the same image name and used the tag
for distinguishing the different builds.
Change-Id: I82e235ba4db6a0b76b1edccab3b13d006c6c9328
for very large machines (>10Gbit) it is still useful
to have parallelism for uploads because we're actually
bound by getting new pieces from the satellite, so doing
that in parallel provides a big win.
this change adds back that flag to exist for uploads, and
removes the backwards compatibility code for the flag with
the maximum-concurrent-pieces as they are now independent.
the upload code parallelism story is now this:
- each object is a transfer
- each transfer happens in N parts (size dynamically
chosen to avoid having >10000 parts)
- each part can happen in parallel up to the limit
specified
- each parallel part can have up to the limit of
max concurrent pieces and segments
this change also changes some defaults to be better.
- the connection pool capacity now takes into acount
transfers, parallelism and max concurrent pieces
- the default smallest part size is 1GiB to allow the
new upload code path to upload multiple segments
Change-Id: Iff6709ae73425fbc2858ed360faa2d3ece297c2d
This change allows sessions within the Vuetify project to be refreshed.
In addition, dialogs appear to inform the user when a session is about
to expire and when it has expired.
Resolves#6147
Change-Id: I53d5508825aa9992e4fed8ce7b957d949ff28e2d
This change allows you to host the vuetify app on <x>.example.com where
the main app is hosted on example.com. A configuration is added to
specify an exact subdomain for cookies. For example, if my production
app is hosted on us1.storj.io and my vuetify app is hosted on
vuetify.us1.storj.io, the cookie domain should be set to ".us1.storj.io"
so that any authentication cookie is accessible to lower-level
subdomains.
Since the vuetify app does not currently support login/signup on its
own, it is still required to first login to the main satellite UI, then
navigate to the Vuetify app after the session cookie is set.
If the "vuetifypoc" prefix is not desirable when using subdomain hosting
for vuetify, the VITE_VUETIFY_PREFIX variable can be modified in
web/satellite/.env before running `npm run build-vuetify`. For now, we
should keep this prefix because it makes developing on the vuetify app
significantly easier if subdomains are not being used.
Issue: https://github.com/storj/storj/issues/6144
Change-Id: Iba1a5737892c8ee8f38148a17b94e3222f8798e6
This implements functionality to add cards to users' accounts, to the
vuetify POC.
Issue: https://github.com/storj/storj/issues/6097
Change-Id: Ie56e85e74fd44de6839e6a985877843b730a3f5f
This commit adds a new endpoint on the console api to delete project
members and invitations.
issue: https://github.com/storj/storj/issues/6136
Change-Id: I980bb97afd1ed2ed8f0f27cc2e8dc1d80d7eef05
Removed selection/checkboxes on team table.
Made search bars on searchable tables clearable.
Navbar toggle works on small screen sizes.
Removed notifications section from the settings page.
Issue:
https://github.com/storj/storj/issues/6148
Change-Id: I531088cf0db04fd2979d39f92bb4342e0d9551a6
The custom styling for the VAlert component as of
storj/vuetify-storj@71c509a has been pulled into the Vuetify project.
References #6170
Change-Id: Ia36fd936ddc33c7687bcf7b2cdd6f789d0bc0a92
Reverts this commit to make part size dynamic:
a9d979e4d7
There are issues with client-side memory usage using the dynamic sizing.
Change-Id: Iba18af1e424622b7b3bf57413322332d8e1aa63a
This change adds a Vue composable and wrapper component for reusing
session timeout code. In the future, the composable will be used to
implement session timeout in the Vuetify project.
References #6147
Change-Id: Ibd049a8a8041007319798ac4187a6ed6487b591f
When a user is in the free tier and attempts to add STORJ from billing screen, open the "upgrade" modal instead of the simpler "add STORJ tokens" modal.
The simpler modal is still used for Pro users.
Issue:
https://github.com/storj/storj/issues/6165
Change-Id: I261d67e1c4d569f7058da828bcb145a64136c231
Universal "large file notification" removed.
Threshold for user-triggered large file notification is 5gb instead of 1gb.
Large file notification appears as "info" instead of "warning".
Display large file notification on failed uploads >1gb.
Issue:
https://github.com/storj/storj/issues/6149
Change-Id: I6ae6ba50e45c65f058cbb91a5f0fbda79a49a812
This change modifies delete bucket requests to optin for force delete
using the x-minio-force-delete header. This solves an issue where
buckets deletes will be slow for buckets that have many objects. This
change is to make the UI emulate uplink rb --force since it has better
performance.
Issue: https://github.com/storj/customer-issues/issues/930
Change-Id: I0a74c1a201e74b07eb30b917adf78ef865ce2003
This change uses the new /delete-by-ids endpoint in place of the GraphQL query.
Issue:
https://github.com/storj/storj/issues/6140
Change-Id: Ia78016e68fca296367e650b7a919130e662ee8f6
This change uses the update project HTTP endpoint in place of the
GraphQL alternative.
Issue: https://github.com/storj/storj/issues/6134
Change-Id: I7d8203c20d8c0c1dcdddb7d1aaf472fc66568a3d
This change adds an endpoint update projects, to be used in place of
the graphql alternative.
Issue: https://github.com/storj/storj/issues/6134
Change-Id: I26c04f4400f71721cbddb7f64405e6c9b78edb4d
This change removes the project description from the subtitle of the
topmost item in the project navigation area, replacing it with the
project name and inserting "Project" where the name used to be.
References #6170
Change-Id: I07a04ebba54828df41f4d241aa69ec6b3d9e0cef
The message area beneath input components has been hidden by default so
that it doesn't occupy space when it isn't needed.
References #6170
Change-Id: I16b078cddb07708169b96e53db283aedb290f9f4
This change fixes the position of the close button in dialogs where
there was no spacing between the button and the edges of the dialog
header.
References #6170
Change-Id: Id3f798953319c1703d7bb6868757aecd02ec09f5
This change causes the satellite frontend to use the HTTP endpoint for
retrieving bucket usage totals rather than its GraphQL counterpart.
Resolves#6141
Change-Id: I9a42080c8344aa617a910a8782dc61101a6734c8
This change introduces an HTTP endpoint for retrieving bucket usage
totals. In the future, this will replace its GraphQL counterpart.
References #6141
Change-Id: Ic6a0069a7e58b90dc2b6c55f164393f036c6acf4
This commit adds a new endpoint on the satellite console api to get
project members and invitations.
issue: https://github.com/storj/storj/issues/6137
Change-Id: I66cb064eeaffb1c34878462b3e6b3be8f3629f4e