Commit Graph

1364 Commits

Author SHA1 Message Date
Cameron
355f800916 web/satellite: create default project during onboarding
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
2023-03-16 18:19:32 -04:00
Vitalii
132a688bec web/satellite: rework session timeout reset with ongoing upload
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
2023-03-15 16:00:53 +00:00
Vitalii
7942f3774f web/satellite: do not show server side encryption banner on relogin
Do not reset showing server side encryption banner for buckets page on relogin.

Issue:
https://github.com/storj/storj/issues/5555

Change-Id: I30d9d8e8370aa1fd1f60069720ecd07d8450c8ee
2023-03-15 15:23:59 +00:00
Vitalii
37d7c0efbf web/satellite: migrate VChart component to use SFC composition API
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
2023-03-15 14:31:52 +00:00
Wilfred Asomani
61af5b3191 web/satellite: move register page to composition api
This change updates RegisterArea.vue to use the composition API.

Issue: https://github.com/storj/storj/issues/5059

Change-Id: Ieea65731cd76a9e98282f23aed90e625c6d09387
2023-03-14 21:26:27 +00:00
Wilfred Asomani
59ebb0ef27 web/satellite: move login to composition api
This change updates LoginArea.vue to use the composition API.

Issue: https://github.com/storj/storj/issues/5060

Change-Id: I34d748da1224805ed179bd2cf37e61d496d0811c
2023-03-14 00:34:07 +00:00
Jeremy Wharton
c24341bcab web/satellite: update Coupons area in Billing page
The Coupons area of the Billing page has been updated to match our
designs.

Resolves storj/storj-private#172

Change-Id: I0f3d7f3818f47a1bbc6a2dba930ab429f83f92c2
2023-03-13 08:09:06 +00:00
Jeremy Wharton
c4f8695e8a web/satellite: generate TypeScript for frontend config
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
2023-03-10 22:33:24 +00:00
Jeremy Wharton
4d823e8166 private/apigen: isolate TypeScript class generation
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
2023-03-10 21:52:30 +00:00
Wilfred Asomani
fafa6658a9 web/satellite: fix file dropdown
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
2023-03-10 19:13:33 +00:00
Lizzy Thomson
0559d19db5 web/satellite: fix accessibility issues with sidebar navigation
Fixes https://github.com/storj/storj/issues/5449

Change-Id: I095c6a70899cd9f5939ef8c802d0faa8322d441d
2023-03-10 08:56:31 -07:00
Wilfred Asomani
b1d4763086 satellite/{web,payments}: show STORJ balance
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
2023-03-10 13:01:15 +00:00
Jeremy Wharton
1d1739e187 web/satellite: update styling of pricing plan components
The styling of pricing plan components has been updated to match our
designs.

References storj/storj-private#172

Change-Id: I61a2536267c41292abd9e4860b5bd45fafb61408
2023-03-09 22:03:46 +00:00
Wilfred Asomani
31e386c607 web/satellite: add new settings page
This change implements a new account settings page for the all projects
dashboard.

Issue: https://github.com/storj/storj/issues/5514

Change-Id: Id777cd5c1efe3fa4b40234771ae2a99cc5cb9dd3
2023-03-09 20:30:49 +00:00
Wilfred Asomani
52abe8ddb4 web/satellite: add all projects onboarding
This change implements onboarding for the all projects dashboard.

Issue: https://github.com/storj/storj/issues/5514

Change-Id: If8a48c21e6df264c84d362d17bf01d770d9ca768
2023-03-09 19:55:34 +00:00
Vitalii
d6b661a412 web/satellite: fix for long names in tables
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
2023-03-09 17:58:14 +00:00
Vitalii
e3cbbd4d80 web/satellite: migrated StorageChart to use composition API
Migrated component to use SFC composition API.

Change-Id: I7328b76ce6e3b038877232e2c76814d7583bbf66
2023-03-07 15:20:36 +00:00
Vitalii
28f08405f4 web/satellite: migrate BandwidthChart to use composition API
Migrated component to use SFC composition API.

Change-Id: I987781a2b6741a903800a21964bdfd992f4221b5
2023-03-07 15:19:43 +00:00
Vitalii
0b58657914 web/satellite: migrated dashboard InfoContainer component to use composition API
Migrated component to use SFC composition API.

Change-Id: Ibc985f8e81d941dd83fecd065873be1610f40767
2023-03-07 15:18:51 +00:00
Vitalii
43da70556a web/satellite: migrated DateRangeSelection component to use composition API
Migrated component to use SFC composition API.

Change-Id: I224fffc827f8be53aa8e0389334224b367b7ee71
2023-03-07 15:17:58 +00:00
Vitalii
52f142e3fc web/satellite: resolve some build warnings
Resolved some of the build warnings which are code-related.

Change-Id: I05f7981eacbaa61280ac111046fcc78025560a34
2023-03-07 17:13:42 +02:00
Vitalii
a01d47b3ed satellite:{console, web}: remove old project dashboard
Removed old project dashboard along with a feature flag.

Change-Id: I9292b19caf101a84042d8c3006c27bc44db8d6b5
2023-03-07 13:34:59 +02:00
Vitalii
b6721633f1 satellite/payments: return public project ID for project charges
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
2023-03-06 22:50:21 +00:00
Vitalii
f834622a01 web: remove sanitizing dependency and restrict v-html
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
2023-03-06 19:58:27 +00:00
Vitalii
d843666606 web/satellite: divide file browser error tracking into 2 separate events
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
2023-03-06 18:53:25 +00:00
Vitalii
41efebeebd web/satellite: migrated AddCouponCodeInput to use SFC composition api
Migrated component to use composition API.

Change-Id: Ia39ef0f7c2226821f055856db1adcccc8b70e7e6
2023-03-06 16:57:51 +00:00
Vitalii
45a47f654e web/satellite: disable buckets checkbox if all buckets are selected
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
2023-03-06 14:45:55 +02:00
Jeremy Wharton
662e916194 web/satellite: skip pricing plan step if no available packages
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
2023-03-03 09:09:15 +00:00
Wilfred Asomani
0676a4ca89 web/satellite: use correct table icons
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
2023-03-03 08:14:51 +00:00
Wilfred Asomani
172fcc4f66 web/satellite: add project ownership tag
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
2023-03-02 20:55:50 +00:00
Wilfred Asomani
418a0639cd web/satellite: fix project item alignment
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
2023-03-02 12:37:05 +00:00
Vitalii
eab83ee7fa web/satellite: fix locked files number if there are folders
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
2023-03-01 18:02:04 +02:00
Jeremy Wharton
31ec4fae9e web/satellite: add pricing plan selection to onboarding tour
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
2023-02-28 20:49:59 -06:00
Vitalii
cd192164d2 web/satellite: confirm details step for new access grant flow
Added extra step for new access grant flow where user can confirm all selected caveats (except passphrase).

Change-Id: I9ac603d588016f30a95d4b578b3752e256a496da
2023-02-28 23:14:29 +00:00
Vitalii
552272d189 web/satellite: added more analytics for new access grant flow
Added docs opened tracking.

Change-Id: I9b69d521347e4a26c448312661fd278329b4466b
2023-02-28 23:13:53 +00:00
Vitalii
e9c4d1151f web/satellite: responsiveness and accessibility fixes for new access grant flow
Fixed responsiveness and accessibility for new access grant flow.

Change-Id: Ie39c807a702995610d240e19cf5dfd2c8a51d860
2023-02-28 22:14:14 +00:00
Wilfred Asomani
ec4b0c8ff6 web/satellite: add project limit banner
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
2023-02-28 15:51:47 +00:00
Vitalii
490402132e web/satellite: refactor project level passphrase flow
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
2023-02-28 14:51:59 +00:00
Wilfred Asomani
bac4c86388 web/satellite: add all projects dashboard
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
2023-02-28 13:54:43 +00:00
Wilfred Asomani
76d7bc6d18 web/satellite: add components for new dashboard
This change just adds the components/changes needed by the all projects
dashboard.

Issue: https://github.com/storj/storj/issues/5514

Change-Id: Ie7926f563dd3eb47a56b234cfd004f5b69be00a8
2023-02-27 21:33:24 +00:00
Jeremy Wharton
85d6843f2e web/satellite: registration success responsiveness improvements
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
2023-02-27 17:52:39 +00:00
Vitalii
a1c0fa96d2 web/satellite: S3 credentials step for new access grant flow
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
2023-02-27 15:15:58 +02:00
Vitalii
430b9646dc web/{satellite, storagenode, multinode}: more linter fixes
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
2023-02-27 12:37:32 +00:00
Vitalii
bd0ad21c24 web/satellite: CLI access step for new access grant flow
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
2023-02-27 13:59:47 +02:00
Vitalii
991211a2b0 web/satellite: access created step for new access grant flow
Added access created step to new access grant flow.
Also added some really tiny fixes for current project passphrase flow.

Change-Id: I94eb25b53cf7cc0c6ea7b9c13762ca76736ea7ac
2023-02-24 22:26:42 +00:00
Vitalii
fa2f7336cd web/satellite: encryption info step for new access grant flow
Added middleware info step in case if 'S3' access type is selected.
It's possible to toggle checkbox to not show it again in current browser,

Change-Id: I78b297b373f14715dc67b247baa8e684bea3a265
2023-02-24 21:49:27 +00:00
Vitalii
17ec326fd4 web/satellite: make inactivity modal appear on top of other modals
This change makes sure that inactivity modal appears on top of everything else including other modals.
If it is the last element of main dashboard wrapper then it will be the last element in DOM tree which makes it appear on top of everything.

Issue:
https://github.com/storj/storj/issues/5549

Change-Id: Ibb0c6e2036c0be09aae17118f672dbed4ffc5b62
2023-02-24 16:03:31 +00:00
Vitalii
a9ca643e3f web/satellite: added passphrase generated screen for new access grant flow
Added passphrase generated screen.
Passphrase is a 12-word mnemonic in this case and it is generated with bip39 lib.
It can be copied to clipboard or downloaded as a .txt file.

Change-Id: I031f6c0e92f4f783c07a2d8d35c0433c1d9a81ff
2023-02-22 14:18:34 +02:00
Vitalii
a1f46fe721 web/satellite: enter passphrase step for new access grant flow
Added generic enter passphrase component for new access grant flow to fulfill 2 cases where user enters project level passphrase and a new passphrase.

Change-Id: I10e89d0e32690b0423462ad76c20dafdb6ff096c
2023-02-22 00:00:41 +00:00
Wilfred Asomani
81d7f751da web/satellite: clean up popup constants
This change removes unused modal and dropdown action/mutation constants

Change-Id: Ib4f789ec967727d3619e9fd7769caf99dc9531ac
2023-02-21 23:11:02 +00:00