Commit Graph

222 Commits

Author SHA1 Message Date
Cameron
98fed4bc30 {satellite/console,web/satellite}: get project salt from satellite
Add getSalt to projects api. Add action, GET_SALT, on Store
Projects module to make the api request and return the salt
string everywhere in the web app that generates an access grant.
The Wasm code which is used to create the access grant has been
changed to decode the salt as a base64 encoded string. The names
of the function calls in the changed Wasm code have also been
changed to ensure that access grant creation fails if JS access
grant worker code and Wasm code are not the same version.

https://github.com/storj/storj-private/issues/64

Change-Id: Ia2bc4cbadad84b066ca1882b042a3f0bb13c783a
2022-10-12 19:06:27 +00:00
Vitalii
2e6b473aba web/satellite: improved modal experience
Made modals to close on background click.
Refactored new folder and object details modals to use VModal component.

Change-Id: Ib7c6ecb576507f2088c0c90fab262113ac7c0760
2022-10-11 16:49:11 +00:00
Wilfred Asomani
05e57edb20 web/satellite: see token payments history
This change lists token payment histories from storjscan/coinpayments on the "Payment Methods > Storj Tokens" page

see: https://github.com/storj/storj/issues/4941

Change-Id: I178ba7940c4cb132f05673607030725a4c4b3e1c
2022-09-30 16:44:47 +00:00
Vitalii
8422c395d6 web/satellite: don't download the whole object for preview
Basically, I reverted this change with some modifications.
https://review.dev.storj.io/c/storj/storj/+/6731
We don't use signed requests anymore because its usage was not really affective and caused some UX problems like too long video loading/buffering.
We don't use presigned URLs as well because they are not really compatible (I think) with video streaming. So long videos (> 1 min long) constantly failed to buffer.
Instead of presigned URLs we just use STORJ linksharing. We generate new access grant which is valid for one day to render preview and object map.

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

Change-Id: I0313f2c6b78811f1058c25fdf5b94dc5d563c15d
2022-09-20 17:32:54 +00:00
Vitalii
c5bca894fd web/satellite: fix linter
Added imports linting, trailing commas, trailing semicolons, single quotes and spaces between curly braces.

Change-Id: I5de5d3eea48753dfe2737983b230bafaffe898c8
2022-09-09 11:02:04 +00:00
Malcolm Bouzi
8e3aa4d25b web/satellite: Creating a new folder on the bucket page is moved from an input field in the table list to a modal.
Change-Id: Ie15d4ec63b54c8be42f3c66e100e919b94adc345
2022-09-01 15:56:38 +00:00
Vitalii
d585f2550d web/satellite: share bucket feature
Implemented share bucket feature.
Refactored share object modal a bit (has to be refactored entirely).

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

Change-Id: Icefd4bfe3eef9173ae824eea44d30450acde8044
2022-08-29 18:41:06 +03:00
Jeremy Wharton
3f26cc599f satellite/console,web/satellite: invalidate sessions after inactivity
Sessions now expire after a much shorter amount of time, requiring
clients to issue API requests for session extension. This is handled
behind the scenes as the user interacts with the page, but once session
expiration is imminent, a modal appears which informs the user of his
inactivity and presents him with the choice of loging out or preserving
his session.

Change-Id: I68008d45859c814a835d65d882ad5ad2199d618e
2022-08-23 15:51:05 +00:00
Jeremy Wharton
ffd35ecfdc web/satellite: move billing nav item into My Account dropdown
This change moves the top-level Billing navigation item into the
My Account dropdown menu. A notification has been added that
informs users of this change.

Change-Id: I641b0e5ad0a6de0206f6cde9d3022033c419215a
2022-08-17 06:42:00 +00:00
Vitalii
0ec28ca623 web/satellite: add token funds modal
Created new modal which shows user their native STORJ token wallet address.
There are QR and copy buttons.
It will be used only in new billing screen.

Change-Id: Icef3c8668c548b779c07fe2b85eb5761cd1221a3
2022-08-15 14:17:30 +03:00
Vitalii
e1a85fccf4 web/satellite: added notification when storage limit is exceeded in file browser
Added error notification when user tries to upload object after storage limit is exceeded.
Slightly changed error handling on failed preview/map request.

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

Change-Id: Iee91c1037b5c6de7b9718adcdfcea850fd3056ca
2022-08-05 07:54:50 +00:00
Vitalii
27f6fbdeda web/satellite: refactored modals to use common VModal component
Refactored MFA, project members, profile and change password modals to use common VModal component.
Didn't touch access grant modals.

Change-Id: I9af5277496a99ec907fbee57a84127064ca9c02b
2022-08-04 21:46:30 +00:00
Cameron
9cd91c6df8 web/satellite: add modal for creating a project
github issue: https://github.com/storj/storj/issues/4372

Change-Id: I9b8cf64aa76f2d75c740ee8a0158f0382f4a1918
2022-07-21 17:52:42 +00:00
Vitalii
bb92b923d4 web/satellite: open bucket modal for new objects flow
Implemented new modal to open bucket.
This is a part of new objects flow.
It is hidden by feature flag.

Change-Id: I3839126933b8804c8adbd8949a29ac75771fab4a
2022-06-07 09:54:43 +00:00
Vitalii
ba58530089 {satellite}/web,console,testsuite: remove old navigation structure
Removed old satellite UI navigation structure.
Removed old feature flag.

Change-Id: Ic998886cf2e30ebd44e67a20fc53888103fe4b8d
2022-06-06 16:43:05 +03:00
Vitalii
3f13cd7de5 web/satellite: reworked add PM and Create Project modals
Reworked "add payment method" and "create project prompt" modals to use new common VModal component.

Change-Id: I73039e5d30077e35f05501a48f39142b799da875
2022-05-27 10:18:56 +00:00
NickolaiYurchenko
99237d5c78 web/satellite: new bucket creation flow
old bucket creation flow removed
new flow added
name and passphrase splitted into separate views
demo bucket will not be created automatically
bucket creation progress bar added

Change-Id: I2a1d7d77c3038caaafb3c06bdb0ac5dd1ad17599
2022-05-22 11:55:55 +00:00
Vitalii
aba7de6c32 web/satellite: added create project prompt modal for free tier users
Added new modal when free tier user tries to create new project.
This modal prompts to upgrade account.

Change-Id: I0e787e35b099387a08186c7df7fc080092d2366c
2022-05-13 14:02:44 +00:00
Moby von Briesen
7d35f3e977 Revert "web/satellite: use aws-sdk v3"
This reverts commit 2e3e5547e2.

The S3 client is returning an error related to region with the new
changes.

Change-Id: I989b8a46c0e97c1278517e1de07fe42d5950cf54
2022-05-13 09:31:12 +00:00
Egon Elbre
2e3e5547e2 web/satellite: use aws-sdk v3
While there isn't a significant win neither the prod javascript size nor
the number of dependencies, it does reduce the number of deprecated
packages.

Change-Id: Ib8edeb6916844500d74ae067464be9f28f542605
2022-05-12 09:17:26 +03:00
Egon Elbre
8620532a05 web/satellite: bump dependencies
This contains also multiple fixes to make it work.
The following is a non-exhaustive list.

When @Prop default value is a callback, then it is called
instead of set verbatim. This means, when you want a default
value to be a callback, then it needs to be `default: () => () => X`.

jest does not yet properly support WebWorkers, hence the code introduces
an indirection to provide the worker URL.

This in turn required removing the global "store" dependency from
the tests. As a consequence the new NotificatorPlugin takes store
as a dependency. And many of the tests are adjusted to not import
store directly.

Moved StoreModule definition to avoid initializing the global store.

Some of the router code was moved into store. We can later figure out
how to structure it better and move it back.

bip39 needs explicit fallbacks for some of the dependencies.

Fixes to timer mocking. jest supports it natively.

Remove sinon dependency. jest provides all the functionality we need.

Change-Id: I7af3599390c63ce9f99dbd0b1e0870e9f8ca994d
2022-05-04 15:02:01 +00:00
Vitalii
640c74a5e0 web/satellite: prevent access grant creation
In case user requests account deletion access grant is being created when user visits buckets screen.
With this fix access grant won't be created if user deletes all the buckets first and then deletes all the access grants.

Change-Id: I9a348bcf35a050838dbf6e1e7c682499d2f0a278
2022-05-04 13:05:45 +00:00
Vitalii
d506e9c07b web/satellite: store selected os tab during onboarding flow
Store selected os tab during onboarding flow.
Use stored value to show correct tab during all the CLI steps.

Change-Id: I82e9af7e5dd3a7eaf503ed4f38789b7b0fb4aa84
2022-04-19 14:39:25 +00:00
Monty Anderson
348007e119 web/satellite browser: don't use iterable as an array
Fixes a problem with using Upload button to upload files.

Change-Id: I765894535372d1840e7cab7c3a71d5b69d8f17f3
2022-04-04 15:07:54 +00:00
Monty Anderson
20a42f6cd0 web/satellite: remove reference to non-existent default image
Change-Id: I7b32f71daf1bf9256d86d1f29b48ad8cc109af84
2022-03-29 12:52:06 +00:00
Monty Anderson
2c83503712 web/satellite: type + lint files store
This change makes the files store fully type-safe. It builds with `npm run build` and lints with `npm run lint`, displaying no errors or warnings.

There was an issue where I was unable to use the newer web APIs for filesystem operations, I think TypesScript (and Vue?) may need to be updated - I already tried updating `@types/web`. To mitigate this, I added slim type definitions for only the parts we use. The definitions are exactly as they appear on MDN and even include links to the relevant documentation. In future they can be removed with no compatibility issues.

Change-Id: I7b8b4a5f95caabdb546157c65e9f2f42c5132a6f
2022-03-29 12:23:16 +00:00
NickolaiYurchenko
c6add65e75 web/satellite: download link hidden
download performed without adding link to address bar
added warning to not share link with external people

Change-Id: Ifa79582c51c77c000342c1e03e752dd157912975
2022-02-15 08:17:32 +00:00
Vitalii Shpital
150be885b7 satellitedb/projectaccounting, web/satellite: reworked bandwidth chart to show both allocated and settled bandwidth
Extended DB query.
Reworked charts UI functionality to show 2 lines if necessary.

Change-Id: I8ac4e4fa07676fc9fa7e9c078ecdeed62233b8e2
2022-02-08 22:07:59 +00:00
Vitalii Shpital
3c8e41e665 web/satellite: get object map and preview by signed request.
There is a sev-2 issue to add more browser caching.
In this PR I made object map and object preview to be fetched by signed request with non-public credentials using AWS SignatureV4 package.

Change-Id: Ib5013fa6d6af3faa97eed5168c11a13f9629cd87
2022-02-03 11:31:09 +00:00
Vitalii Shpital
b8c55fdd87 satellite/projectaccounting, satellite/console, web/satellite: implemented backend for bandwidth chart
Implemented endpoint and query to get bandwidth chart data for new project dashboard.
Connected backend with frontend.
Storage chart data is mocked right now.

Change-Id: Ib24d28614dc74bcc31b81ee3b8aa68b9898fa87b
2022-01-26 15:09:22 +00:00
Malcolm Bouzi
c30c7def44 satellite/{console,payments},web/satellite: save signup promo code to newly registered users
Users signing up through a url containing a promo code will have that code applied to their stripe account instead of the free tier coupon.

Change-Id: I071041b0934648ef3f5bdb05b6ec97c400f89ae4
2022-01-21 15:02:22 +00:00
Egon Elbre
04d04c0306 web/satellite: remove old object browser
Change-Id: Ief16a3887444df093c644831d86a9b3e865e5867
2022-01-05 16:29:19 +02:00
Malcolm Bouzi
6a059b7f9d web/satellite: remove all references to the old onboarding flow
Change-Id: I1f42fabdb407a7eb9c34f0341d332e66c3ce288d
2022-01-04 18:40:08 +00:00
Gabriel De Almeida
b6f1efbbdc web/satellite: fixing linting errors in the FileShareModal
Transitioned all functions into typescript code and changed the vue component to be a class component.

Change-Id: I5ffcca5abb1595d53e880d4ccdfa26e23b1a214d
2021-12-13 17:40:13 +02:00
Gabriel De Almeida
2be56e335c web/satellite: fixing linting errors in the file browser
Transitioning all browser components and the browser files vuex store into typescript code and fixing all linting errors.

Change-Id: I91d166153fcba82a06cdccb04ded963141855239
2021-12-13 15:33:17 +00:00
Vitalii Shpital
82fb0fce04 web/satellite: added charts date range picker for new project dashboard
Created common VDateRangePicker component to be reused.
Reworked it's styling.
Added date range selection logic for new project dashboard.

Change-Id: Ie9bdd173527514924e437ca5bcc9cfbf7793e4dd
2021-12-01 15:55:36 +00:00
Vitalii Shpital
be10ce84f8 web/satellite: implemented charts UI for new project dashboard
Added bandwidth/storage charts (with test data) to new project dashboard.
Added functional buttons to new project dashboard.
Fixed this issue https://github.com/storj/storj/issues/4262.

Change-Id: Ie87370b8f7b6015bc84022a6086ef1db40e16535
2021-12-01 15:55:20 +00:00
Vitalii Shpital
3de7f8d5af satellite/console, web/satellite: feature flag for new project dashboard
Added a feature flag to switch between old and new project dashboard

Change-Id: Ibb1b04ccbddb43e3f41116e3513f917deba95699
2021-11-17 16:02:47 +02:00
Vitalii Shpital
b41e140b26 web/satellite: fixed dropdowns weird behavior
Reworked click-outside behavior.
Fixed bucket names selection and date picker dropdowns.

Change-Id: I1d798139e6bf713650b7071e5a0547d5d576c7a6
2021-11-11 15:45:18 +02:00
Vitalii Shpital
dda6720dd6 web/satellite: added 2 new steps for onb CLI flow
Added 2 new steps to the beginning of onb CLI flow if it is visited from new navigation side bar.
Steps are: Access grant name and Access grant permissions.
Fixed wording for success screen.

Change-Id: If1a7605e0920d1262d13142843df95b438ce7717
2021-11-10 14:36:11 +00:00
Egon Elbre
fe3856ff91 web/satellite: remove ramda dependency
The package was barely used and the amount of code needed to remove it
is minor.

Also remove top-level package-lock, because it's not being used.

Change-Id: Ifb4ec4fe7f4fa36ce6e707a33d47f04c583cbe6c
2021-11-09 13:19:58 +00:00
Vitalii Shpital
696b8f0d8e web/satellite: moved object's passphrase step to be after buckets
Moved passphrase step to be after buckets screen.
Seems like it accidently enabled bucket force delete feature because buckets AG is being generated with empty passphrase.

Change-Id: I7ca0daf4e49045bf4d49b996eb5e2406132caeea
2021-11-08 11:45:35 +00:00
Vitalii Shpital
3c683998f5 satellite/console, web/satellite: feature flag for new objects flow
Added a feature flag to switch between old and new objects flow

Change-Id: Id1802f9fb1230928445f16e4d0a62aecdc91c038
2021-11-08 11:45:22 +00:00
Monty Anderson
804304a75d web/satellite: integrate browser
* create `isInitalized` property to check S3 client exists
* hide FileBrowser until `isInitialized === true`
* change broken reference from `buttonUpload` to `buttonFileUpload`
* add feature flag `new-browser` to switch between external and internal browser
* fix handling of `webkitRelativePath` for folder upload feature
* only load external styles when using external browser via contingent `file-browser` class

Change-Id: Ibdbfa45d8dbe3c6d828473c16e4cdb8694562c1a
2021-11-05 16:30:07 +02:00
Egon Elbre
187e508364 web/satellite/browser: auto-format code
Change-Id: I74504758be935ec5580713bcf8d566c444cfd51e
2021-11-01 17:07:09 +02:00
Monty Anderson
ea8782fcfa web/satellite: move browser from storj/browser
Change-Id: I1ee976ca117307dd1464dd78295b17c790fe8483
2021-11-01 16:48:06 +02:00
Vitalii Shpital
a281adddd5 web/satellite: auto-create first demo bucket for the user
Create first bucket ('demo-bucket') for the user if they have no buckets.
Fixed bucket name validation to include '.' and '-'.

Change-Id: I21ddad63f214b6482ebaad95474ff0b6cf16254f
2021-10-25 15:31:54 +03:00
NickolaiYurchenko
0ed3ef0fe4 web/satellite: registation success page moved
page moved to separate route to be able to track conversion metrics

Change-Id: I1506ac416056d652b9292d62c29f79bd75567c6a
2021-10-25 08:51:41 +00:00
Vitalii Shpital
0aab339d0d web/satellite: links and dropdowns for new navigation sidebar
Added nav links, resources and quick start dropdowns.

Change-Id: I12f2afddd899621749bb00d0fed58f84a45701a3
2021-10-20 13:56:27 +00:00
Vitalii Shpital
0009447773 satellite/console, web/satellite: feature flag for new navigation structure
Change-Id: I6f1fd43ea8154714187c7547ae93de0efe3482e6
2021-10-20 13:51:25 +00:00