Commit Graph

1029 Commits

Author SHA1 Message Date
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
51c409844a web/satellite: delete unused Dockerfile
Change-Id: I85a8f822b0bca958dc27183c437624813851bb24
2022-05-12 11:27:07 +03:00
Egon Elbre
4eb3dd572c web/satellite: display authorize area icon only when set
When the icon wasn't defined, it showed an empty image icon instead.

Change-Id: I8fc731f99dbd1a5b29fa84c6c14be1bfe4c51f67
2022-05-12 09:26:45 +03: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
89cc544b34 web/satellite: avoid querystring
querystring dependency is deprecated in favor of URLSearchParams.

Change-Id: If7006cca1c590fff3b50440240307c00c2a23399
2022-05-11 16:39:39 +00:00
Vitalii
dedccbd2e4 satellite/console, web/satellite: limit failed login attempts
Added account locking on 3 or more login attempts.
Includes both password and MFA failed attempts on login.
Unlock account on successful password reset.

Change-Id: If4899b40ab4a77d531c1f18bfe22cee2cffa72e0
2022-05-11 14:49:11 +00:00
Vitalii
ca6a0fc844 web/satellite: use chunkhash instead of hash in webpack config
Replaced 'hash' with 'chunkhash' in webpack config because regular 'hash' was deprecated.

Change-Id: I9d2823707698ea3cfa2afeda38bba1830c1b2918
2022-05-11 17:18:37 +03:00
Moby von Briesen
a8b1e1a81d web/satellite/jest.config: Always use UTC
Update jest config to use UTC so that undesired timestamp changes are
not made to snapshots when they are updated in American timezones.

Right now, if you are in an American timezone, there are diffs like this
in the snapshot files after updating them:

-  <p class="user-container__date">1/1/1970</p>
+  <p class="user-container__date">12/31/1969</p>

The hacky solution is to manually set timezone to Europe/Amsterdam in
the terminal before updating snapshots, but this commit should fix that
automatically.

Change-Id: I7cbbda0493b229fcd22b863dd688201436edc18a
2022-05-10 17:46:37 +00:00
prerna-parashar
490254213e
satellite/analytics: Track events generated from Upgrade Account Banner (#4770)
satellite/analytics: Track events generated from Upgrade Account banner
2022-05-10 10:01:27 -07:00
Vitalii
4a4177a885 web/satellite: fix Buffer undefined issue
That's a fix for Buffer is undefined error when trying to generate mnemonic using bip39 lib

Change-Id: I5d96dc0e6c27bb4d46632d1415bda2621cf08290
2022-05-05 18:35:44 +00:00
Egon Elbre
98e12f5671 web/satellite: bump aws-sdk
Change-Id: I9d964998f4a4157a87ea9314cb8b7e13cd74dc38
2022-05-05 18:35:36 +00:00
Egon Elbre
0ba454da55 web/: bump eslint dependencies
Change-Id: Icf7a48f732c73b4b954de05e0bb9955ad4d9a609
2022-05-05 18:35:31 +00:00
Egon Elbre
ff64e9ffb3 web/{multinode,storagenode,satellite}: update stylelint
Also reset package-lock.json files to workaround issue
of npm auto-updating storj eslint plugin dependency to ssh.

Change-Id: Iaba102d713dc596d5814bdc4cc54c9b911398d64
2022-05-05 15:47:44 +03:00
Egon Elbre
37ad60b89b web/{multinode,storagenode}: fix callback default props
The default property for callbacks needs to be a func that returns
the appropriate callback.

Change-Id: Ia36222e600db41b3ddc79a25686ae998d1daf221
2022-05-05 14:33:52 +03:00
Óscar de Arriba
bbe7c30936
web/multinode: fix My Nodes in multinode dashboard menu
It is currently spelled as `MyNodes` whereas it should be `My Nodes`.
2022-05-05 14:23:46 +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
Egon Elbre
37c18bf790 web/multinode: components must not have constructor
Per https://class-component.vuejs.org/guide/caveats.html we always
must use lifecycle hooks intead of constructor. Otherwise some
of the props might not be initialized.

Change-Id: Ic6242cae61cd0775c3b0295850c267ee875cb0e0
2022-05-02 09:06:36 +00:00
hovex023
58f957bd1d
web/satellite: Add new access grants flow (#4765)
* Added new feature Flag for new Access Grant Flow. 

* Added 3 cards to access grant view for S3, CLI and Access grant to replace old header

* Added new formatting, text and Icon for Access Grant Delete Popup modal
2022-04-29 10:31:52 -05:00
Mya
5cebbdee03 web/satellite: add consent screen for oauth
When an application wants to interact with resources on behalf of
an end-user, it needs to be granted access. In OAuth, this is done
when a user submits the consent screen.

Change-Id: Id838772f76999f63f5c9dbdda0995697b41c123a
2022-04-27 14:33:07 +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
NickolaiYurchenko
c944c3f289 web/satellite: error while adding invalid card handled
Change-Id: I9773503baef91b176a080c3081f8ac63e5ca27e8
2022-04-14 21:52:58 +00:00
Vitalii
36bef42e0a web/satellite: add missing copy buttons for onboarding flow
Added missing copy buttons for commands on Install Uplink CLI screen of onboarding flow.

Change-Id: I34c4e7b56e955d8571aea2d570e31cb7bfb011c5
2022-04-12 08:09:42 +00:00
Vitalii
fc074b693b web/satellite: fix demo-bucket creation issue
Store demo-bucket creation status in browser local store so that it's not created every time when user enters buckets screen.
It will start working after first usage in new browser.
So if user removes bucket in Chrome and opens Buckets screen in Firefox demo-bucket will be created but only once.

Change-Id: I9f5811d97ab6208c5f757ededcd7c36cd864795c
2022-04-12 07:42:43 +00:00
Egon Elbre
e10eabe30b web/storagenode: update dependencies
Also pin all web/multinode dependencies, which was missing from
the other change.

Change-Id: Id78749076af6d80e59949efd73c1e10f5b52589c
2022-04-07 07:50:22 +00:00
Egon Elbre
9d3c886f35 web/multinode: update dependencies
Change-Id: If575d8d9b481476203cc08c80d95d49273d45c29
2022-04-06 14:48:21 +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
Vitalii
9b695525c6 satellite/console: fixed small email validation issues
Moved invalid email testing to separate test.
Made all the emails used to have .test domain.
Added links to regex resources.

Change-Id: I26920ba7360064528256a6aeaea947bbe56ef618
2022-04-04 09:43:33 +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
Egon Elbre
1f1f777d06 satellite/admin/ui,web/{multinode,storagenode}: build without embedding
Embedded files significantly increase the binary size for linking.
Add a tag that allows disabling embedding the build npm code.

Change-Id: I9d1fd7376d1fa035965c33d259faaa6c4770dfe1
2022-03-29 13:18:04 +03:00
Moby von Briesen
09bb0c6110 web/satellite: Encode email in registration success URL
Properly encode email sent to the signup success URL so that emails with
symbols like `+` are processed and displayed properly.

Change-Id: I2d24ae08dc6a540e1e24d6c7baf62d83a856cd68
2022-03-23 09:39:30 +00:00
Vitalii Shpital
60b209e47d web/satellite, satellite/console: reworked registration email validation
Reworked email validation for new users (for old users trying to login or reset password validation remains the same).
Regular expression was built according to RFC 5322 and then extended to include international characters.

Change-Id: Id0224fee21a1ec0f8a2dcca5b8431197dee6b9d3
2022-03-16 09:40:53 +00:00
Marlon Spangenberg
7609bb9515
web/multinode: UI clarification to also add port (#4602)
Add "port" to the placeholder text because it accepts and addresses with port.
2022-03-14 18:49:11 +01:00
Egon Elbre
dc0f7b5f77 storagenode,web/storagenode: use go:embed for assets
Go can now directly embed files without relying on external tools.
This makes code use go:embed and avoid the external tooling.

go:embed requires files to be present in the embedded directory,
hence we need to add .keep to "dist" folder. We also add one to
public/.keep, such that it won't be deleted when building storagenode.

Change-Id: I8bef81236be6829ed37ed4c16ef693677b93a631
2022-03-11 16:01:28 +02:00
Egon Elbre
28c9403702 multinode,web/multinode: use go:embed for assets
Go can now directly embed files without relying on external tools.
This makes code use go:embed and avoid the external tooling.

go:embed requires files to be present in the embedded directory,
hence we need to add .keep to "dist" folder. We also add one to
public/.keep, such that it won't be deleted when building multinode.

Change-Id: I53ac3d5ac76e44f740d95221acf0da99fc256d42
2022-03-11 11:10:37 +02:00
Jeremy Wharton
66e6a75e2a satellite/console,web/satellite: Add MFA to password reset
Users will be required to enter a MFA passcode or recovery code
upon attempting a password reset for an account with MFA enabled.

Change-Id: I08d07597035d5a25849dbc70f7fd686753530610
2022-03-03 17:27:04 +00:00
NickolaiYurchenko
64176aaca4 web/satellite: registration success redirect from config
This change allows us to send newly registered users to a configured URL
to help us track user conversions for marketing campaigns.
Brave conversions continue to be tracked using the /signup-success page
within the satellite app.

Change-Id: I9b451947ce0f39d3c99b233cb4b806d361151823
2022-03-03 10:13:21 -05:00
JT Olio
0178a13743 satellite/web: change cli install flow to use uplink again
depends on merging https://review.dev.storj.io/c/storj/storj/+/6639

Change-Id: Ie594c2a724ac85ce926caf40189f66ce29305d19
2022-02-18 16:46:30 +00:00
Ivan Fraixedes
9688c574b7
web/storagenode: Use an existing const instead value
Use an exiting constant for the ZK explorer URL rather than hard-coding
the URL value.

Change-Id: I029248c4fc2d1279f6b061ae94ca1036f0790b84
2022-02-18 11:49:18 +01:00
Moby von Briesen
538fa11636 web/satellite: Fix payment banner amount
Update payment banner to use 150GB as the free tier limits rather than
50GB. Fixes #4519

Change-Id: Idb35aeecf52fcf7ab0b38b8ecffe0fc99cec09d0
2022-02-16 16:21:33 +00:00
NickolaiYurchenko
70c8ccb435 web/satellite: inactivity timer to dashboard added
added InactivityTimerEnabled flag to enable/disable feature
added InactivityTimerDelay to configure delay time in seconds
default timer set up to 10 minutes
reset dom events: keypress, mouseover, mousedown, touchmove

Change-Id: Idb66067c2902b2cdbe1a972225319c8abff97927
2022-02-16 07:16:00 +00:00
NickolaiYurchenko
aff5cae56b web/satellite: filebrowser upload buttons UI/UX changes
https://www.figma.com/file/HlmasFJNHxs2lzGerq3WYH/Satellite-GUI-Public?node-id=11702%3A79450
2 buttons for file and folder upload converted into 1 with dropdown
icons changed
stylings changed

Change-Id: I13720ba940f93a6b3c1b1dae6ba92ee57f1e526c
2022-02-15 23:03:40 +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
Márton Elek
a2dd10ce14 web/storagenode: support polygon with transaction links
This patch fixes the link of "Transaction" on the storagenode web
console when polygon is used.

Tested with storj/storj-up based cluster and generating test payments.

Change-Id: Ia88954e055c6f41b92d77052afffebe633da549c
2022-02-14 13:44:26 +00:00
Vitalii Shpital
07c71e34c2 satellite/console{gen}: GetUsersProjects endpoint
Initial implementation of auto-generated GetUsersProjects endpoint

Change-Id: If41bff2ea3ff9cfc87afeda9e5e5b3f586cbab33
2022-02-10 08:03:02 +00:00
Vitalii Shpital
9d52112af8 testsuite/ui/satellite: test for new project dashboard
Implemented initial go-rod test for new project dashboard.

Change-Id: If3b0f936b5af791f8500d0911c6559fa367f8be5
2022-02-09 15:06:28 +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
b3e1be37ff satellite/projectaccounting: query to get daily project usage by date range
Finished implementing queries for both bandwidth and storage using pgx.Batch.
Fixed CSP styling issue.

Change-Id: I5f9e10abe8096be3115b4e1f6ed3b13f1e7232df
2022-02-04 22:32:37 +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