Separated out frontend config to make it live in an independent unchangable module.
Issue:
https://github.com/storj/storj/issues/5797
Change-Id: I094c44549d586dff6d1ef727fe43091c4aec03b8
Added new modal for already expired session which is triggered after timeout instead of auto-redirecting to login page
Issue:
https://github.com/storj/storj/issues/5771
Change-Id: I8385ddfd9b8988c1d6130b6f0d19f1399a92d8fb
The dashboard area component would set up the session inactivity timers
after it was unmounted, conflicting with those that were started by
dashboards mounted afterward.
This issue caused session refresh requests to be sent more often than
they should have been. Additionally, expiration of the old set of
timers would clear newer ones before they were due to expire.
Change-Id: I86a73f13dab4cd8f979181b29002eb3b3e6e8bac
This change amends invalid references to the first onboarding step.
Previously, the route for the first onboarding step was computed in a
router module using our old way of specifying frontend config values.
When we upgraded to our new config style, the module could no longer be
responsible for computing the route due to the module being independent
of the store holding the config. The route was removed, but some
references to it remained.
Change-Id: I8817174bb4acab44c5ff2624d6edb1bd3e675de2
References to the Team page have been modified to refer to its new
name. Previously, it was called Project Members or Users.
Resolves#5761
Change-Id: I71ababe48847d7573f6abbbdb6b24c621b0abd4f
Start using object browser pinia module instead of old files vuex module.
Also removed vuex related code.
Note: dependency will be removed in a follow-up change
Change-Id: I78cfb62a1ecc32bd86381bd3bfd3be4bd0f38e14
This change ensures that we only trigger a redirect to the onboarding
tour if we're not already there. Previously, we didn't take the current
route into consideration when redirecting. This exposed the risk of an
error occurring that prevented the page from loading.
Change-Id: I70323b21f58229abf463a7c737c262e4253f579a
Add default uploading large file notification when in buckets page.
When dismissed, store in local storage. When user uploads a file that
exceeds 1 GB, show warning notification.
Issue https://github.com/storj/storj/issues/5148
Change-Id: I895a230c017e8439ab2c19ea494930b7e9900a47
Fix for an issue:
uploading folder triggers object preview modal to show up if there is already and only 1 uploaded object in this bucket.
By this fix we check if uploading object has prefix (basically folder) so we don't trigger object preview automatically.
Change-Id: I32943ef81c19d4ba1960ecb2f15126dfb381d845
This change modifies the password strength component to reference the
frontend config when displaying the minimum and maximum password
lengths. Previously, these values were written directly in the Vue
file.
Resolvesstorj/customer-issues#691
Change-Id: I75fd3b7acd4536d2adae25525c61df3127d9c0a1
Previously, we evaluated index.html as a template in order to insert
frontend config values into meta tags. Now that the frontend fetches
its config through the satellite API, this is no longer necessary.
Resolves#5494
Change-Id: Ic98507c5e16cd80317bd9c31d4b55abda0dd7e34
All values derived from meta tag config values have been removed.
They were unused because references to them were modified to instead
refer to the frontend config fetched through the satellite API.
References #5494
Change-Id: Iab6c5e18eac85e2f757e9e731e23239fa267ee0a
References to the meta tag config values in Vuex store modules and
Pinia stores have been modified to instead refer to the frontend config
fetched through the satellite API.
References #5494
Change-Id: I2d16d8fa8f3159c45f00f506825b0c2119e475ff
References to the meta tag config values in Vue components have been
modified to instead refer to the frontend config fetched through the
satellite API.
References #5494
Change-Id: I00ecf81d4a0ba6bd07c827cecb2c689d923d67c0
A common error page component that reflects our new designs has been
added, replacing our old 404 and 50X Vue pages.
Change-Id: Ifc9071674eeda03c5d961c26dce9ff0c80b95c6e
The webpack loader we use for SVGs uses an optimizer that strips the
viewBox attribute by default in order to reduce the byte count.
However, this prevents us from scaling SVGs using CSS. Because of this,
viewBox removal has been disabled.
Change-Id: I443eb83c762d3e0c84bb0fb6705e8f089d8a9405
Use new pinia module instead of old vuex module.
Removed 'do you want to leave object browser with ongoing uploads?' feature for now because it doesn't make sense with project level passphrase
Change-Id: I2249ee9a497d3fa7c59b583849e70366491c3eeb
No component has referenced this page since 9dab10e and we do not
anticipate this changing, so this page can be safely removed.
Resolves#5768
Change-Id: I57acb5e4d0977d74df46aaf67606a19ec0f10bcf
Update notification and banners to be aligned with inner dashboard
content
Issue https://github.com/storj/storj/issues/5636
Change-Id: I0e9fe73835e691bfa9aae05c1cfb08a5b9ab68e3
Combined buckets and objects pinia modules since they are responsible for the same thing.
Rename files module to object browser module to make it more clear.
Change-Id: Id55ec2ab7dbffaec95e5724340068891752a9576
Clarify that bandwidth cost/limits relate specifically to egress
bandwidth (ingress bandwidth is free and does not affect bw limit).
Change-Id: I95a8a07ac3607ff41417d894067800f81246b7a2
This change adds checkboxes to file items in the browser so they can be
selected that way instead of the previous click behaviour, which now
opens the object modal for files and open folder for folders. This
change also features some styling fixes for the browser.
Issue: https://github.com/storj/storj/issues/5726
Change-Id: I5b38208a8e8673d8212c749586bdb7e169c086f8
This change adds a new setting on the account settings page to change
session timeout duration. The old settings page is replaced with a new
one used on the all projects dashboard page. Also, onboarding API
endpoints and store action have been changed to be generic to include
session timeout setting.
Issue: https://github.com/storj/storj/issues/5560
Change-Id: I9026e61c6f86e4be5f9357e5d20e280eab2c29ea
The satellite UI now shows a loading screen instead of the Vue router
view when fetching the frontend config. This prevents components that
rely on the config from being prematurely rendered.
References #5494
Change-Id: Ifeb06288a6895f98a7cab8f321cd68078c73c696
This change fixes an issue where clicking on the name of a project will
perform no action. And another where clicking "Invoice Pdf" on billing
history table will download twice.
Issue: https://github.com/storj/storj/issues/5698
Change-Id: I1a05b994d4855da5be309b1b6d4eb4c70f6f946b
This change makes the upperbound of the project limit slider the max
between the current project limit and the default limit for paid tier.
Issue: https://github.com/storj/storj/issues/5553
Change-Id: I6ca31ec86810ee3577370ab5cd042fce8daf1b90
add ability to sort api keys on the access management page by ascending
or descending name or creation date. Additionally, edit api keys query
when ordering by name to order by lower(name) so names starting with
capital letters are not treated differently from lower case when
ordering.
Change-Id: I81dbb87587a24fb7097313f76bad116b1f20d306
We use defineComponent syntax because images are not loaded with regular <script setup> syntax and dynamic template source.
Change-Id: If0993c57772277e767db2b0705100215e17a4625
Components related to project usage costs have been updated to show
different estimations for each partner, and the satellite has been
updated to send the client the information it needs to do this.
Previously, project costs in the satellite frontend were estimated
using only the price model corresponding to the partner that the user
registered with. This caused users who had a project containing
differently-attributed buckets to see an incorrect price estimation.
Resolvesstorj/storj-private#186
Change-Id: I2531643bc49f24fcb2e5f87e528b552285b6ff20
This is a fix for locked objects count to not update after some action (upload, delete etc.)
Although the issue is still there if user deletes file, navigates outside object browser and navigates back to the same bucket.
In this case we would refetch objects count both from satellite API and our gateway.
So bucket tally wouldn't be triggered that fast and object browser would still show locked objects.
Anyway it's better than it is now.
Also reworked weird object browser initialization which triggered some routing error so this event would be displayed in hubspot as a UI error
Change-Id: I545ab925b135fe3ef2740d17aaece6d43b731c96
* There was one bug where all projects dashboard was enabled, and the
actual path was not being passed to the router
* There was another bug where all projects dashboard was disabled, and
the user was directed to the projects dashboard rather than the next
step of the onboarding flow, meaning that upon refresh, the user would
be prompted for package selection again
Change-Id: I388f04c3af9d03b84b4dd3af6de29e6b82b10531
This flag was previously implemented, but when we reworked the billing
UI, we forgot to re-implement it with the new screens.
This change fixes that.
Change-Id: Ifad2b82f1080928b72d7e572796fcf4287e5ed3f
This change uses the onboarding user settings for whether to show
onboarding (pricing plan) or not.
This change also fixes an issue where a new user is prompted for
passphrase once from onboarding and a second time on the dashboard.
Issue: https://github.com/storj/storj/issues/5661https://github.com/storj/storj/issues/5675
Change-Id: I8e92c732260116de830cfbbbe0545f7e7c8997b0
This change updates the satellite frontend to retrieve its
configuration from the satellite.
References #5494
Change-Id: I1eb961f8a32f7d88173006117d41eddb57624692
There is a bug when switching passphrase outside object browser.
We don't generate edge credentials when switching passphrase so navigating to object browser shows old objects (for old passphrase).
By this fix we clear edge credentials every time user switches passphrase.
Change-Id: Ia09d559f90ae7f02ae5c778844beb7ec268356e7
The account upgrade modal has been updated to display prices according
to the the user's price model. Previously, the modal displayed only the
default prices which were incorrect for users with price overrides.
Resolvesstorj/storj-private#187
Change-Id: I58206cc8ea7e7742a37f759a84dbb24ca40dd8eb
When a user logs in, we check if they have zero projects at the
dashboard. If so, the default project is created and they are sent to
the onboarding flow. However, this allows a user to skip onboarding if
they close out and log back in, since the dashboard is loaded first.
This change moves the default project creation to the beginning of the
overview step of onboarding to make sure any important preliminary
onboarding steps are not skippable.
Change-Id: I4fd1efc6ccd26b972fe57425efe268f8ba135c26
Using eventbus was a terrible approach because if session would expire in less than 3 mins then we would do an explicit API request to reset session for each upload progress ping.
With this change we simply check if there is at least one ongoing upload and refresh session with one single API request and we don't show inactivity modal.
This is a possible fix for this issue (at least I can't reproduce it):
https://github.com/storj/storj/issues/5618
How to test:
setup storj-up with InactivityTimerDuration config value set to 120 seconds.
go to object browser and start upload of some heavy file, for example 1GB.
check if inactivity timer would be shown in 2 mins, additionaly you may check DevTools network tab.
in my case upload is successfully done in about 3-4 mins without any problems.
Change-Id: I09142a7affac08db1d02992ca2d2f40c6267324f
Do not reset showing server side encryption banner for buckets page on relogin.
Issue:
https://github.com/storj/storj/issues/5555
Change-Id: I30d9d8e8370aa1fd1f60069720ecd07d8450c8ee
Upgraded chart.js dependency to V4.
Removed vue-chart and types/chart.js dependencies.
Refactored VChart component to rely only on chart.js dep without any additional wrappers.
Refactored VChart component to use SFC composition API.
Change-Id: Ic5e0131bff413f3205d4449db930644d113fe36d
The Coupons area of the Billing page has been updated to match our
designs.
Resolvesstorj/storj-private#172
Change-Id: I0f3d7f3818f47a1bbc6a2dba930ab429f83f92c2
A package has been written to generate a TypeScript file containing
classes corresponding to the frontend config. These classes will be
used across the frontend once we no longer reference meta tag values
for configuration.
References #5494
Change-Id: If425035892773167ac6d9fbfae8140cab79fbb70
The code responsible for generating TypeScript classes has been
separated from the rest of the TypeScript generation code so that other
packages may take advantage of this functionality.
References #5494
Change-Id: I97eabd430bd6a5f748eafaf8b1d783977e75e660
This changes the icon, and text of the "Details" dropdown item to
"Preview". It also fixes text alignment in the dropdown menu.
Issue: https://github.com/storj/storj/issues/5643
Change-Id: Ib7ab3bc6fd98b9319ec3c3af5644aee6d1942335
This change adds a card to the billing overview page, which shows the
user's token balance from coinpayments.
Issue: https://github.com/storj/storj-private/issues/151
Change-Id: I11e295b48791b32b745cb7a11c5b4aad6b56618e
The styling of pricing plan components has been updated to match our
designs.
References storj/storj-private#172
Change-Id: I61a2536267c41292abd9e4860b5bd45fafb61408
This change implements a new account settings page for the all projects
dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Id777cd5c1efe3fa4b40234771ae2a99cc5cb9dd3
This change implements onboarding for the all projects dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: If8a48c21e6df264c84d362d17bf01d770d9ca768
Added truncating for long names in access grant and project member tables.
Added title to all table items so that full value is displayed on hover.
Issue:
https://github.com/storj/storj/issues/5130
Change-Id: I7f81d88c8ff4db606bdfeb15406ba3ee3fcec968
We should return public project id instead of regular one when quering project charges so that it is consistent on a client side.
This is a fix for an issue with displaying project name on a Billing screen.
Issue:
https://github.com/storj/storj/issues/5641
Change-Id: Ic0c544dbe7369aa88f3a7c97a2f5de5bc854e1fd
We decided to remove sanitizing dependency and restrict v-html with 2 exceptions for web/satellite (we control the content in those cases)
Issue:
https://github.com/storj/storj-private/issues/148
Change-Id: Ic6b2e894d20e7f0553f759ede51845a10831e890
Divide single error event into 2 separate events.
Those are list objects event and change route event.
Issue:
https://github.com/storj/storj-private/issues/164
Change-Id: I3efe0f2d14fceb5841b6d0ff6db685540351281a
Disable buckets checkbox if all buckets option is selected for new access grant flow.
This would disallow unchecking all buckets checkbox if none of the specific buckets is selected.
Change-Id: I81a9f03d49d2cde862fd0afbc2fde0abeb0b31ce
The pricing plan selection step of the onboarding tour is skipped if
there are no pricing packages configured for a user's partner.
Change-Id: I14bacbfaa10acf4cb97db04724749111a73e3928
This change uses the corresponding icons for different types of files
in the file browser.
Issue: https://github.com/storj/storj/issues/5477
Change-Id: I8b10ac4ece03563a465c7823a1e7482244a324b9
This change adds a tag to the project dashboard indicating if the user
is the owner of the project.
It also adds the project limit notification to the all projects dashboard
Issue: https://github.com/storj/storj/issues/5485
Change-Id: Ie2f446966459c160408fb5614ac1701179092cd5
The content alignment of project items that have descriptions and those
that don't differ. This change fixes that. It also adds some text style
changes.
Change-Id: Ic7bb348bdafee463a00faec7faa7af2d814416f8
Right now there is a problem that we list objects inside object browser using Delimiter param which helps us to define if bucket includes folders.
If we set Delimiter to '/' then in response we get a list of plain objects called Contents and another list called CommonPrefixes which includes 'folder' keys.
So this approach makes it impossible to know the exact object count because we don't know a number of objects behind folder keys.
So to correctly calculate objects count we have to make another list request without Delimeter param.
By doing this we get a single Contents list which includes plain objects and objects containing folder Prefix.
Example of Contents response without Delimiter param:
['object', 'object1', 'folder/object2', 'folder1/object3']
Change-Id: Id23f26bed369d2063bdbae96e7d915168c6c9bdd
A pricing plan selection step for users with a recognized partner has
been added to the beginning of the onboarding tour. Once visited, users
have the option of purchasing the pricing plan associated with their
partner or proceeding as a paid or free tier user.
Resolves storj-private#118
Resolves storj-private#126
Change-Id: I3b423194d96deaf87cf9807a766bf4d04fbcf86d
Added extra step for new access grant flow where user can confirm all selected caveats (except passphrase).
Change-Id: I9ac603d588016f30a95d4b578b3752e256a496da
The project limit banner allows free tier users to upgrade, and paid
tier users to request limit increase when project limit is reached.
Issue: https://github.com/storj/storj/issues/5483
Change-Id: I44cca07bee99618adbc1c25b8e559e42a51a3b01
Refactored project level passphrase flow to work correctly with new access grant flow.
Now we don't generate edge credentials when project passphrase is set.
We set them only when they are needed (bucket is being opened or created).
Replaced edge credentials generation to vuex objects module to be single source of truth.
Change-Id: I2a11194fff5a63f7970f6df60db16ad6a1ac7c60
This change does the initial implementation of the all projects
dashboard. It is accessible on satelliteUrl/all-projects.
This change does not implement onboarding step for new accounts.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Ideadbe91e7ce523f77bde0dee53a7d35ba9f16e0
This change just adds the components/changes needed by the all projects
dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Ie7926f563dd3eb47a56b234cfd004f5b69be00a8
This change prevents overlapping of registration success page content
when displayed on short screens. It also prevents the content from
exceeding the page width when it shouldn't.
Change-Id: I7d23da7ade5c023cd96ee9e997196e599a1bc059
Added s3 credentials generated step for new access grant flow.
We show access key secret key and endpoint.
They can be copied or downloaded to .txt file.
Change-Id: I647fb0a86453134702812e8ea9425b8417382a65
Added rule to restrict trailing white spaces.
Added rule to always use '===' instead of '=='.
Added rule to have correct spacing around commas.
Added rule to have spaces around '=>'.
Added rule to not have spaces in parentheses.
Added rule to have space before blocks '{}'.
Change-Id: Ibdbd204d591f0356e0745d89672e0e0579b59ce1
Added CLI access created step for new access grant flow.
We show satellite address and restricted key there.
They can be copied to clipboard or downloaded.
Change-Id: Ic1942abfa575017fbb57abb9f09e8de66039bb8d