This change adds the ability to create folders in the file browser.
Issue: https://github.com/storj/storj/issues/6105
Change-Id: I0dae0f9874b571cfd0ae79b2b994b58149d70aa3
This change adds the drag-drop upload feature to the vuetify app.
Issue: https://github.com/storj/storj/issues/6104
Change-Id: I177e33a677d94db9ef95a31e32da853a46a7dc51
Show real STORJ token transactions on billing screen in vuetify app.
Issue:
https://github.com/storj/storj/issues/6098
Change-Id: I1d7c2a613fefbf68c7ce3b8f62ec7ee992885bc4
With this change, we are able to fetch all objects to show in the object browser.
AWS SDK V3 provides paginator functionality to automatically make additional requests for every MaxKeys value (we use 500 objects at a time).
By initial request we fetch first 500 objects and save continuation tokens for the rest of the object batches.
Also, we save currently active (fetched) object range.
If user tries to open a page with objects which are out of currently active range then we look for needed continuation token and fetch needed objects batch.
Added a feature flag for this funtionality.
Issue:
https://github.com/storj/storj/issues/5595
Change-Id: If63e3c2ddaac3ea9f2bc1dc63cb49007f897e3e2
This change lists invoices on the vuetifypoc billing history tab.
It also removes invoice filtering on the main app.
Issue: https://github.com/storj/storj/issues/6099
Change-Id: Id4cc2db003a0208775ddaefc87abf26f4b05106c
The old way did not properly handle escaping, e.g. if the value of a
query param contained `&` or `=` inside it. By using
url.searchParams.set, we can safely add these types of arguments to the
path.
Change-Id: I62d3883b14f9d5a517e4a3d58f019014b46fd1b4
This change allows files to be downloaded from within the file browser
of the Vuetify project.
Resolves#6107
Change-Id: I0ac0384711baccb99c0a6d382fe96f318290789b
This change causes paid tier users to see notifications in the project
dashboard when their usage is approaching or has reached their maximum
or custom usage limits.
Change-Id: I7b68fcdd7d62797b6b26869e109cfb0b193fdddb
This change shows real file entries in the file browser table,
replacing the mock data. Sorting, searching, and folder navigation have
been implemented.
Resolves#6199
Change-Id: I7360879d2e26605489c20f9d094c3f231fee49cd
This change adds the ability to claim STORJ wallets and display token
balance.
Issue: https://github.com/storj/storj/issues/6096
Change-Id: Ifc89b586c0e3ed876905ff0a5b270e718cbb689c
This change adds pagination to the billing history table. It uses the
new invoice-history endpoint since we only list invoices in this table.
Issue: https://github.com/storj/storj/issues/5479
Change-Id: I192d58503434203808a23a7c18e8d1feb6afc73f
When an unverified user is sent a project invitation it contains a
registration link currently. Instead, send an activation link.
github issue: https://github.com/storj/storj/issues/6033
Change-Id: I54b88de8347a2532f7a85372c0c5e4df4bf4eb38
Add notification explaining that the share will be public to anyone with the link.
Remove the cancel button as it may be interpreted as cancelling or revoking the shared access.
Make the copy link full width block button.
Issue:
https://github.com/storj/storj/issues/6213
Change-Id: I7b9580b3d8135802c36af8e68f46630b499ab110
Start using @stripe/stripe-js lib (ES module) instead of regular stripe dependency.
Use strict typing for stripe commands/events.
This lib makes us able to modify stripe input styling in the future.
Change-Id: Iaba4f32a42e87edc85a4fbad82e5107c21bf19b6
This change adds project usage and cost per project to the vuetify app.
Issue: https://github.com/storj/storj/issues/6117
Change-Id: I8921aacb6bb24b41794008100ea6e52deed76b60
Hide CTAs on limit cards if user is not the owner of selected project.
We do this because user can't update limits if they are not the owner of the project.
Issue:
https://github.com/storj/storj/issues/6214
Change-Id: Ib6b564cd6afc1b4bed08ee9b26108f803f0ffb89
This change updates the access grant creation dialog to align with our
new designs. It also fixes an issue that would occur if the web worker
was initialized after the dialog was mounted.
Resolves#6169
Change-Id: Ic557766e6fcf57cc79c72e670a0e83c7eb2834ba
This change updates the vuetify app and the production app to load
fonts using the fontsource package.
Issue: https://github.com/storj/storj/issues/6200
Change-Id: I4b91a4d0dfcfc42f9f71ac03b31d1ef74c53e15d
This change fixes an issue where the gallery view will use wrong links
display object previews because they were encoded multiple times.
Issue: https://github.com/storj/customer-issues/issues/961
Change-Id: I498878e9beb927b812e40d4c7e5ae812cfa3554c
This change fixes an issue where the bucket deletion dialog wasn't
functional due to an invalid property value. This change also fixes an
issue where access grant worker errors were reported as being caused by
the bucket deletion dialog even when it wasn't open.
Change-Id: If2c2713857c4cc5c3c7ae60e431f5034e78c4c5f
Also copy the necessary vuetify dist directory in the `Earthfile` so
that this app can be easily deployed to staging environments.
Change-Id: I8d91c52bb8f7c31fc3764efe60a071e21b399b46
This change uses the new POST projects endpoint in place of the GraphQL
createProject query.
Issue: https://github.com/storj/storj/issues/6195
Change-Id: I1776b8b0e8656d2f5fa4219df020615bcc0f2543
This change allows buckets to be shared from the Buckets page through
a dropdown menu in the buckets table.
Resolves#6116
Change-Id: I92055a3ea174d786f2ef960124aafcbd3b2139c4
Added unique autocomplete values for password and passphrase inputs to make browser native autocomplete feature work correctly.
Issue:
https://github.com/storj/storj/issues/6151
Change-Id: I38e1bfed46beb47b3be1a620ce2a4996359feafc
This change requires a passphrase before opening a bucket and after
opening the objects page without going through the buckets page. It also shows if there are
objects stored with different passphrase.
Issues: https://github.com/storj/storj/issues/6100https://github.com/storj/storj/issues/6110
Change-Id: Ica509fd6db968ef9c232a05b3ee39e0ab5f746e1
This change replaces mock data for the total cost, STORJ token balance,
and coupon information in the Vuetify project's billing overview with
real data.
Resolves#6095
Change-Id: Iad1c5141065f8761d7d13140d42871018fa9aca4
This change adds a rule to the ESLint config to warn when tabs are used
instead of spaces for indentation.
Change-Id: I068d559211e0f9e40abaea86de839a409b405674
Users with a pending invitation for a project could be redirected to
that project's dashboard if its title in the projects table was
clicked. This type of redirection is only intended for projects that
the user is a member of, as navigating into any other project will send
the user back to the all projects dashboard. This change fixes this
issue, making invitation titles in the projects table unclickable.
Change-Id: I6ef6a72d92e8eb576d49d6268373af340116ee2f
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
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
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 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
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
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
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 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 uses the new /projects/paged endpoint to get user's owned
projects in place of the OwnedProjects graphQL query.
Issue: https://github.com/storj/storj/issues/6135
Change-Id: I1e8dfdefdc7de51595637577f7d8bdce8e969652
This change adds an endpoint to get a user's projects, similar to
the OwnedProjects GraphQL query.
The console.ProjectInfo struct has been renamed to UpsertProjectInfo
to more accurately reflect its use.
Issue: https://github.com/storj/storj/issues/6135
Change-Id: I802fe4694a5cc75a9df2b565476f6e6f473431d4
This change uses the new /create endpoint in place of the GraphQL query.
Issue:
https://github.com/storj/storj/issues/6139
Change-Id: Ic7db9407377b742ab87c887a74a37eaec6a8dbb6
This change uses the new /list-paged endpoint in place of the GraphQL query.
Issue:
https://github.com/storj/storj/issues/6138
Change-Id: I68c35437f3f2e18898783e2fd523cfdfb3f10de3
Start using analytics pinia module instead of making direct API requests from components.
We do this to not mix transport layer logic with view logic.
Issue:
https://github.com/storj/storj/issues/6122
Change-Id: Idb1902aec0635df4f0e682ba50bcc97b240ac4a9
This change uses the new /projects endpoint in place of the GraphQL
MyProjects query.
Issue: https://github.com/storj/storj/issues/6132
Change-Id: Ie4ae69dd6def75c4b8c627aaf55c31914cf69ce5
Added update session timeout dialog for vuetify app and wired it up with the backend
Issue:
https://github.com/storj/storj/issues/6090
Change-Id: Icfd981c8d24a87b199e5e1eeb599f6369e6ee5c4
Made UI updates to reflect pending token payments during upgrade account flow.
So pending transactions with confirmations count are displayed on Add STORJ Tokens step of upgrade flow.
While this modal is open we make a request to storjscan once in 20 seconds to get recent confirmations count.
When all transactions become confirmed we show success view where a sum of STORJ tokens received is displayed.
Issue:
https://github.com/storj/storj/issues/5978
Change-Id: Icfdc1e5080ed58cea1822cb7d85551ba8064c636
Upgraded package-lock version to correspond to node v18+.
Upgraded aws-sdk dependencies to resolve vulnerabilities.
Also, fixed typing errors in object browser pinia module.
Change-Id: I35e6e219e66f98ca167ccb4ac57ad07ac99efff1
Added change name dialog for vuetify app and wired it up with backend.
Issue:
https://github.com/storj/storj/issues/6088
Change-Id: I37af595c9e48034d59ead051918bbb4ec5e6ff31
This change fixes an issue where changing the size of a page will also
change the current page. It uses a more accurate calculation to
determine if the new size and current page will result in a page index
error.
Issue: https://github.com/storj/storj/issues/6094
Change-Id: Ie62f79191eb34ccd75ccd42b923b8866fe4e4d7f
Added change password dialog for vuetify app and wired it up with backend.
Issue:
https://github.com/storj/storj/issues/6089
Change-Id: Ib1dffa947b65c299b278a48ed1491a623895a0bd
Updated wording because we don't want to dissuade customers from upgrading and using Storj by implying that there is a ceiling to what they can store and egress with Storj.
Issue:
https://github.com/storj/storj/issues/6040
Change-Id: I8a08bea47b698e66e023d1bfcaa5ef09dae79192
Imported chart components from main project to vuetify app project dashboard with slight updates.
Issue:
https://github.com/storj/storj/issues/6071
Change-Id: I51254ea60aab59c7a841784b5dac7d41446e1df4
Build-watch is broken again since we don't use NODE_ENV variable anymore.
Adjusted code to work with 'mode' setting.
Change-Id: I08b19ef59b39e6b14ce05d7340f032ee8377c49c
Revert upload parallelism queue size back to 4 segments at a time.
Increasing this number causes some memory issues for some users.
Issue:
https://github.com/storj/storj/issues/6120
Change-Id: Ic5bcd1f13ee625fdc2613ee23d6945c905f03142
Implements the "sign out" button in the vuetify app to clear all app
data and navigate to login.
For now, there is a hard refresh after the router navigates to login,
becuase the vuetify poc does not have its own login page to route to.
The hard refresh allows the user to be presented with the main app's
login page after signing out.
Change-Id: Idb1c1e6af8511ea5db6533e46b96b9c15693379f
This change implements the table on the buckets view of the vuetify app.
Searching and pagination are implemented, but sorting functionality
needs to be added in a separate change - we need to extend the
bucketsStore/backend functionality in order to support sorting.
Resolves https://github.com/storj/storj/issues/6062
Change-Id: I4e92e6facbd7b21f4ec081e41f7e568ddb3cea29
A project ID path parameter has been incorporated into project-specific
routes. Previously, project IDs were stored only in local storage,
which made it impossible to bookmark or share links to pages within a
particular project.
Resolves#6076
Change-Id: I4f46f58a95dfc9b67d95fdb1c6a65b50fcafe02b
The all projects dashboard of the Vuetify project has been updated to
display real project information rather than mock data. Additionally,
projects may now be selected and project invitations replied to through
the all projects dashboard.
Resolves#6036Resolves#6038
Change-Id: I8aef0dc07c172e2bc8e2f7eb26a3d205bd56067f
The glob patterns in the linting commands have been removed in favor of
a simpler way of expressing which files should be linted.
Change-Id: I150a01725642b4bc445e2e157ddf86e50e3911a2
The name of the Vuetify Pinia app store has been renamed so that it
does not conflict with the regular app store. Previously, whichever
store was created first would override the other due to them having
identical names.
Change-Id: I11cb3b70b7385320accd30644cb3ad6cfad7d00e
Update wording to reflect latest auto upgrade account flow.
new wording:
Send more than $10 in STORJ Tokens to the following deposit address to upgrade to a Pro account.
Your account will be upgraded after your transaction receives 15 confirmations.
If your account is not automatically upgraded, please fill out this limit increase request form.
Issue:
https://github.com/storj/storj-private/issues/367
Change-Id: I46fcb9243722313b98e5c54e8194d6152f7e1631
This change navigates users to the all projects dashboard when the logo
in the navigation bar has been clicked.
Change-Id: Id63b616d12eea510b52f715f3003838541d2ab63