Commit Graph

1254 Commits

Author SHA1 Message Date
Vitalii
92a757cf3f web/satellite: clear vuex state on session timeout
We have to clear vuex app state on session timeout because user's session gets invalidated and user is redirected to login screen.

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

Change-Id: Id654056331c81fac0b46ed90eccea0a044e4e1c9
2022-12-15 21:57:32 +00:00
NickolaiYurchenko
bb170a9d57 web/satellite: VCheckbox, VButton migrated to use composition api
related tests moved to ignored folder or fixed and will be changed after;

Change-Id: Idb4b1a93ac176b98184c746222b5cd1e30dad595
2022-12-15 18:10:08 +00:00
NickolaiYurchenko
8d30b58a8c web/satellite: VInfo, VerticalArrows, VDateRangePicket migrated to use composition api
related tests moved to ignored folder;

Change-Id: Ic76fe5f6da8088484ddcd2956bb6bb6c0d5d6223
2022-12-15 17:30:46 +00:00
NickolaiYurchenko
55774bac10 web/satellite: VLoader, VModal, VList migrated to use composition api
VLIst component and tests deleted;
related tests moved to ignore folder;

Change-Id: Id65754a044cdc8adcd551a6f4e3c5df65b11ffa0
2022-12-15 16:59:59 +00:00
NickolaiYurchenko
e54d9b1c6a web/satellite: VAlidationMessage, TableItem and TablePagination migrated to use composition api
Change-Id: Id02dd4f32fdd9924a2528a7363682fb6e1cb7afa
2022-12-15 16:02:13 +00:00
NickolaiYurchenko
4fad04e153 web/satellite: autocomplete search bug fixed
problem: after clicking on any bucket serch input was prefilled weird by browser and causes table empty state to appear;
solution: added workaround to add readonly status for input and disable it on focus;

Change-Id: I3dd05e709ef3aceb3b8542fe468bdb41b7b6d353
2022-12-14 19:39:27 +00:00
NickolaiYurchenko
235e9be208 web/satellite: VBar, VBanner migrated to use composition api
composables folder created (same as react hooks) for functionality reusage;
related test moved to ignored folder;

Change-Id: I494aa27079aa5694bee7b18511eeadd56ced59e9
2022-12-14 11:21:11 +00:00
Lizzy Thomson
eee79ec3cd web/satellite: fix project selection logic
fixes https://github.com/storj/storj/issues/5294

Change-Id: I4cc3110e94700b0f31d20edabfd31482ae891200
2022-12-13 22:08:12 +00:00
Vitalii
5d727becb4 satellite/{analytics, web}: segment ui error tracking implemented
Implemented UI error tracking.
We use satellite analytics service to track the fact that UI error occurred and send minimal info to Segment (not Hubspot).
We send only the fact that UI error occurred and the place where this error occurred.
Extended notificator plugin error function to include the place where error occurred.
I made the place argument nullable to be always explicitly provided (build fails if place is not provided).
If place is not null then error event is triggered in the background.

Issue:
https://github.com/storj/storj-private/issues/107

Change-Id: I7d129fb29629979f5be6ff5dea37ad19b1a2397e
2022-12-13 18:11:53 +00:00
Vitalii
17db59e27a web/satellite: update apollo-client dependency to remove CSP error
This is insane but the problem was caused by the old apollo-client dependency which is 3 years old.
The error was coming from ts-invariant code here
https://github.com/apollographql/invariant-packages/blob/master/packages/ts-invariant/src/invariant.ts#L64

By this change I updated our app to use new @apollo/client dependency but there is one pretty big concern.
This lib has react as a peer dependency (what?!) so to avoid adding react to our vue project I had to import needed functionality from @apollo/client/core instead of just @apollo/client.

There is a discussion here https://github.com/apollographql/apollo-client/issues/7318
According to this ^ apollo team are going to remove react from their peer dependecies list when apollo V4 will be launched.
See https://github.com/apollographql/apollo-client/issues/8190

That's another point why we should move away from using graphql entirely or at least stop using apollo.

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

Change-Id: Ifd484efbcd9e99d8c2e21d0dab93670c9358e25c
2022-12-13 16:04:50 +00:00
NickolaiYurchenko
2b78433cf0 web/satellite: VPagination, VHeader, VSearch migration to use composition api
fixed issue with required props that were not passed to component;
added default props;
related test added to ignored folder till vue 3 version update with vue-cli-service;

Change-Id: Idc95a4c0b9f124797519652004abf53e066605c2
2022-12-12 16:13:14 +02:00
Malcolm Bouzi
99f4b2a26e web/satellite: Ensure that all users can register through keyboard only to improve accessibility:
- account types can be selected
- checkboxes can be interacted with

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

Change-Id: Id97c026b79fb2993bba9138e9d4754e7a1371bbc
2022-12-09 14:47:25 +00:00
Clement Sam
7461ffe148 {storagenode,web/multinode}: fix storage usage db/cache retrieval queries
The query changes we did while fixing the usage graph led to wrong
payout calculations directly linked to disk space.

This change:

- avoids converting from Bh to B directly in the query
- returns the at_rest_total in the original bytes*hour value
- returns at_rest_total_bytes as the calculated disk spaced used in bytes
- uses the at_rest_total_bytes only for the disk space graph
- return summary_bytes as the average disk space used within the specified date
- updates the disk space graph header to "average disk space used this month"

The total disk used in the month is also displayed in B not B*day

Resolves https://github.com/storj/storj/issues/5355

Change-Id: I2cfefb0fe711f9c59de2adb547c4ab50b05c7cbb
2022-12-09 11:07:33 +00:00
Wilfred Asomani
66b4509276 web/satellite: use TableItem in FileEntry.vue
This change continues the update of the file browser to use the common table component.
It replaces the use of <tr>s with <table-item>.
It also removes bootstrap from the file browser and fixes resulting UI "bugs"

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

Change-Id: Idfe415e9338243ad4fcedc8a74621c9e13e1da29
2022-12-08 14:38:09 +00:00
Wilfred Asomani
bf106131b0 satellite/{web/payments}: show token balance on billing overview
This change shows STORJ token balance on the billing overview page instead of the Stripe balance it shows currently.
It changes the text on the "Available balance" card to reflect the new balance being displayed. Finally, it adds shortcuts to navigate straight to token history or add tokens modal when call to action on "Balance card"

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

Change-Id: Ic88e43c602e4949b6c6be4c7644c04f3c7d38585
2022-12-08 11:47:37 +00:00
Wilfred Asomani
91b551134d web/satellite: fix mobile header not visible on ios safari and chrome
This change fixes an issue where the navigation header will not show on iOS (safari and chrome).
This is apparently a known issue where the Webkit viewport height is taller than the visible viewport.
More information here; https://bugs.webkit.org/show_bug.cgi?id=141832 , https://stackoverflow.com/a/56671096

This change applies the fix on all iOS browsers (using Webkit) except for Firefox, in which this fix introduces a strange behaviour
when a virtual keyboard is opened and dismissed, while not solving the issue because it doesn't exist here.

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

Change-Id: I19fc8018012bb70a5eda3eb21d44bfeedd08411c
2022-12-07 20:21:00 +00:00
CatInAHatIsBack
7d200d3962
web/storagenode: fix bandwidth graph (#5020)
fixes #4951

Co-authored-by: Clement Sam <clementsam75@gmail.com>
2022-12-07 14:31:13 +01:00
Vitalii
9a0c2dd878 web/satellite: added manage passphrase modal
Added manage passphrase modal where user can create new, switch or clear their project level passphrase.
Removed debug buttons from navigation.

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

Change-Id: I53f263a9697f197cee3f68634f5799d45b3eb193
2022-12-06 10:57:39 +02:00
Vitalii
b5aadff0f7 web/satellite: create project passphrase modal
Added create project passphrase modal.
User can select between generated and entered passphrase.

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

Change-Id: I69887562230c7c8002e9bc763ac24c551a0caa1d
2022-11-30 10:39:18 +00:00
prerna-parashar
3fe6aee786
satellite/analytics: Added analytics to track project members addition/deletion (#5340)
satellite/analytics: Added analytics to track project members addition/deletion
2022-11-29 14:56:03 -08:00
Wilfred Asomani
2442ba415f satellite/{web,console}: token links expiry changes
This change reduces the token links expiry time from 24h to 30m and improves the UI to promt users of the expiration.

see: https://github.com/storj/storj-private/issues/17

Change-Id: Iac00f5740fa84069937fdf9bd30a739b6db2a9e0
2022-11-29 21:44:42 +00:00
Vitalii
ffd6ba8e9c web/satellite: add server-side encryption banner to new project dashboard
Added server-side encryption banner to new project dashboard (same as on buckets view).
Reduced notAfter AG caveat to 1 hour for deleting bucket.
Added bucket AG caveat for deleting bucket.

Change-Id: I2aba9e5db315123b8d37c24d80789320093db00e
2022-11-29 14:50:27 +00:00
dlamarmorgan
94dcfd77ee Revert "web/satellite: allow execute permissions on wasm_exec"
This reverts commit 9022506292.

Reason for revert: Execute permissions are not required for this file. The error "Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope':" was instead caused by a browser cached version of import returning an incorrect response.

Change-Id: Ib5f6bf30dc5a9919bb7d71fb2b04075486c74f89
2022-11-23 20:26:07 +00:00
Jeremy Wharton
7a2be3e6f6 private/web,satellite/console/.../consoleapi: serve rate limiting errors as JSON
This change causes rate limiting errors to be returned to the client
as JSON objects rather than plain text to prevent the satellite UI from
encountering issues when trying to parse them.

Resolves storj/customer-issues#88

Change-Id: I11abd19068927a22f1c28d18fc99e7dad8461834
2022-11-23 17:56:07 +00:00
Vitalii
93bd1e2664 web/satellite: reworked bucket tables
Reworked bucket tables to be the same on buckets view and project dashboard.
Improved table adaptation.
User can open/delete bucket from project dashboard.
User can view bucket details from project dashboard.
User can search through buckets from buckets view.

Issues:
https://github.com/storj/storj/issues/5176
https://github.com/storj/storj/issues/5174

Change-Id: Ie4599ab62dc7eeba9a3349ab188cde8a198cc0f3
2022-11-22 17:49:54 +00:00
dlamarmorgan
9022506292 web/satellite: allow execute permissions on wasm_exec
Execute permissions are needed on the wasm_exec.js file but nothing seems to set this by default. Once set, it will keep permissions even after rebuilds, but this change will set the initial permissions if required for any new environments.

Change-Id: Ic6848e561210231e67dd2e17a286abdf885926ed
2022-11-21 11:20:53 -08:00
Wilfred Asomani
6c7f412124 web/satellite: fix pop up position on safari
This change fixes wrong positioning of pop ups (the bucket guide, and bucket item drop down) on Safari.

Change-Id: Ia0abcc1a1450cb21e38a435218fb6c788ce546e2
2022-11-21 13:49:05 +00:00
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
Jeremy Wharton
f84111ee69 web/satellite: prevent token card text from overlapping elements
This change resolves an issue where text inside the Billing page's
Storj Token card would appear over the project dropdown menu.
The issue was caused by using z-indexing to prevent an absolutely
positioned cosmetic element from displaying over its non-positioned
siblings. An alternate solution is presented in this change:
specifying a position for the non-cosmetic elements allows them to
display properly over preceding positioned elements without the usage
of z-indexing.

Resolves #5219

Change-Id: Icebbda33dcef9418020b025fe8ab3f461cd56533
2022-11-18 21:05:21 +00: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
28b4e57e9e web/satellite: fix upload buttons
Fixed upload buttons click in file browser for Safari

Change-Id: I9c6195fe231bd26eb9ce99f1f7a9d2073b8207bf
2022-11-17 15:24:08 +00:00
Wilfred Asomani
6fe89d5244 web/satellite: add a button to claim wallet from storjscan
Previously, a wallet is claimed automatically on opening the payment methods page.
This will result in users who may not even use the wallets claiming them.
This change introduces a button that will be clicked before a wallet is claimed.

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

Change-Id: Iab2020d80a30315b6b43ad93d33a984663770279
2022-11-17 14:47:57 +00:00
NickolaiYurchenko
5ef109f45a web/satellite: VTable default props console error fixed
Change-Id: I46bea6fd7a2d676f503747c9d9f25f87f394ec09
2022-11-17 14:44:10 +02:00
NickolaiYurchenko
3e5b527567 web/satellite: VSearchAlternateStyling, VTableCheckbox migrated to use composition api
tsc warnings fixed for defineProps and hooks

Change-Id: I09cebfc3a6a63e59465bb01f28a7de536254e78a
2022-11-16 10:44:17 +00:00
Malcolm Bouzi
e76915421d web/satellite: update all dropdown components to have the same interactions and states.
see: https://github.com/storj/storj/issues/5170

Change-Id: If0e85ca32e4b02c85c6d120bd383043c92c6db94
2022-11-14 15:47:39 +00:00
Wilfred Asomani
5c2b111347 web/satellite: filter out draft invoices
This change addresses an issue where draft invoices will be included with other ivoices by filltering them out. Clicking "Invoice PDF" on these entries will download an html page.

Issue: https://github.com/storj/storj/issues/5284
Change-Id: I15bc1f3641f01c33d2760c3118bc79d42f8755c7
2022-11-14 09:51:31 +00:00
Jeremy Wharton
5d4de3b751 web/satellite: properly position beta satellite checkbox
This change resolves an issue where an incorrect CSS class caused the
custom beta satellite checkbox to appear in the top-left corner
and the basic checkbox to appear in its place.

Change-Id: I5bea40a178c6657f4dea178799023ac35f78d76b
2022-11-11 15:41:54 -06:00
Malcolm Bouzi
3ae057261e web/satellite: make sure users are able to tab through all navigation dropdown items.
Change-Id: Ia6148d96cbe385e25bc1107b974288fb98000fe8
2022-11-09 20:15:07 +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
Wilfred Asomani
bae4ee4c5f web/satellite: clear AB testing data on log out for mobile
this change adds a call to clear AB testing data for mobile screens on log out.
Currently, that data is cleared on only large screens; web/satellite/src/components/navigation/AccountArea.vue L156

Change-Id: I04508d33cf65a17d6ac0cc470811aa3bad04d80f
2022-11-09 18:24:55 +00:00
Jeremy Wharton
3c8facfe58 satellite/console,web/satellite: always notify when adding project members
Upon adding members to a project using the Add Team Member modal,
users are now notified that only email addresses belonging to an
account will receive a project invitation. This notification appears
regardless of whether every submitted email corresponds to an account.
Previously, users received an error message if any email address not
attached to an account was submitted.

Change-Id: Ia014c8311c1347e001b1c6c33de73ea61f20b0cb
2022-11-09 17:48:50 +00:00
Clement Sam
59b37db670 storagenode: overhaul QUIC check implementation
The current implementation blocks the the startup until one or none
of the trusted satellites is able to reach the node via QUIC.
This can cause delayed startup. Also, the quic check is done
once during startup, and if there is a misconfiguration later,
snos would have to restart to node.

In this change, we reuse the contact service which pings the satellite
periodically for node checkin. During checkin the satellite tries
pinging the node back via both TCP and QUIC and reports both statuses.
WIth this, we are able to get a periodic update of the QUIC status
without restarting the node.

Also adds the time the node was last pinged via QUIC to the tooltip
on the QUIC status tab.

Resolves https://github.com/storj/storj/issues/4398

Change-Id: I18aa2a8e8d44e8187f8f2eb51f398fa6073882a4
2022-11-09 03:15:57 +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
NickolaiYurchenko
8ebea4cf8d web/satellite: FileBrowser component migrated to use composition api
Change-Id: Id0bb007b790e0d2365eb78f2bc78f8c3da05bc70
2022-11-07 16:27:45 +00:00
Vitalii
a342edd1c2 web/multinode: fixed linter
Fixed web linter

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

Change-Id: Ibc0b8e9f241e77e833645d9fa114bf5742c9f81c
2022-11-04 19:06:21 +00:00
Vitalii
8268933b56 web/storagenode: fix linter
Fixed web linter.

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

Change-Id: Ia63e3e6e7352a99e902c9ed08a4bcfd75059e943
2022-11-04 18:32:26 +00:00
Clement Sam
10f59f8633 web/storagenode: update new suspension and audit threshold on dashboard
The new audit scoring sets disqualification threshold to <96:
https://forum.storj.io/t/new-audit-scoring-is-live/19466/24.

This changes applies this update to the dashboard,
same colors but different thresholds now:
<96 = disqualification
<99 = warning

previously:
<60 = disqualification
<95 = warning

Closes https://github.com/storj/storj/issues/5113

Change-Id: Iaf61e5034101fe5d4d70df6b72eb5f4ccb706e5b
2022-11-04 17:47:05 +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