Commit Graph

236 Commits

Author SHA1 Message Date
NickolaiYurchenko
c27563b519 web/satellite: analytics api calls moved to pinia store
Change-Id: Icb17f51f0ebe625fe639cc10f7ff077f68520313
2022-11-21 10:47:26 +00:00
Moby von Briesen
1b67983130 web/satellite: Fix filebrowser bugs in Firefox
When attempting to upload a file on Firefox mobile, an error
"item.webkitRelativePath is undefined" prevents the client from
proceeding with the upload after the file is selected. This commit
contains a small check to protect against this issue.

Additionally, in Firefox (desktop, maybe mobile), links in the file
browser to enter subfolders, exit subfolders, or navigate out of folders
via breadcrumbs has default behavior of navigating the user to an empty
page that only displays "null". This changes adds `@click.prevent` in
some key locations to prevent this undesired behavior.

Change-Id: I83ee6fcc5a7d0ce9996dacc3f966e38a4936a9fe
2022-11-18 17:57:23 -05:00
Moby von Briesen
776f1128b3 web/satellite: project level passphrase vuex logic
Added new feature flag.
Reworked vuex logic to work properly with project level passphrase.
Implemented new simple set project level passphrase modal.

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

Change-Id: I6a15e90ee9fa7aa8a09c67022466787090120f9c
2022-11-17 16:53:25 +00:00
Vitalii
5f089873e0 web/satellite: fix auto open of first uploaded object preview
Fix for AHA moment when user uploads their first object in some particular bucket.

Change-Id: I3682762e6c73b10fd76e816bb752313bc735e9d2
2022-11-09 19:21:50 +00:00
NickolaiYurchenko
3c8f68fed9 web/satellite: pinia package added
added to replace vuex in future
buckets, projects and users modules pinia analogues created
have no pretty and straight-forward ways to work with option api + ts files so it is better to use with composition api components

Change-Id: Ia8acc491c0e76e01bf6d533747d186257680e5c9
2022-11-08 11:22:58 +00:00
Vitalii
7ac1e38e28 web/satellite: reworked new Add coupon modal to use common VModal component
Reworked new Add coupon modal to use common VModal component to improve UX.

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

Change-Id: Idd186ffd30a529761d15052bee4fac7cee4f5814
2022-11-02 19:16:25 +02:00
Vitalii
7f285c2eee web/satellite: reworked old add coupon code modal to use common VModal component
Reworked old Add coupon code modal to use common VModal component to improve UX.

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

Change-Id: I4e1b38cfa2a88bacb4bcc58b837bc5b4319aca3d
2022-11-02 19:04:49 +02:00
Vitalii
db864a8605 web/satellite: reworked delete bucket modal to use common VModal component
Reworked delete bucket modal to use common VModal component to improve UX.

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

Change-Id: I74acd07a0cb3f7e0231f88bf1255de9ac000ace5
2022-11-02 19:04:49 +02:00
Vitalii
8152920a51 web/satellite: reworked share object modal to use common VModal component
Reworked share object modal to use common VModal component to improve UX.

ISSUE:
https://github.com/storj/storj/issues/5104

Change-Id: Ie07550bb3e116651b08721298994eb0c867cf6f4
2022-11-02 19:04:49 +02:00
Wilfred Asomani
4edef9e05c web/satellite: add AB test for new upgrade banner
This change adds AB testing for a new upgrade banner and sends a hit event when "Upgrade" is clicked.

Change-Id: Ie463e224af5b0cb74a601b68eedb2b34f9089fd7
2022-11-01 16:39:52 +00:00
NickolaiYurchenko
d0cd39af7b web/satellite: session timer reset added while uploading files added
problem: when uploading large files we face a problem with session expire while waiting for file to upload
solution: added callback to progress event to reset session timer
timer is refreshed only when less than 3 min left

Change-Id: Ieab9250be61757762a884165902cd48f90048409
2022-10-28 09:23:50 +00:00
Wilfred Asomani
56128b972b web/satellite: clear payment account details on logout
this change clears the stored wallet, coupon and priceSummaryForSelectedProject on logout.

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

Change-Id: I2f51d727be97af9a0f26163bb3e93affa35dd2ee
2022-10-20 14:22:34 +00:00
Vitalii
149b59069f satellite/{web, console}: removed old object flow
Removed old flow along with a feature flag

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

Change-Id: I85cfabbf94e910c9d5efb01ef850f6b888a13f71
2022-10-20 16:27:50 +03:00
Yaroslav Vorobiov
34a88374fc web/satellite: remove add storj token deposit code
Removes unused front-end code to add storj token deposit since
coinpayments was disabled.

Change-Id: I4ce9a551727b523961e87307950125f69785b5d2
2022-10-17 14:27:43 +02:00
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