This change makes actions to hide the bucket guide much clearer by using only one "OK" action button.
see: https://github.com/storj/storj/issues/5094
Change-Id: I3de8c1e21a5ec5dbcd91e69c1579fac7f46d39ca
Added server-side encryption warning button to buckets page.
It can be dismissed and will show up again only on next user login.
Issue:
https://github.com/storj/storj/issues/5118
Change-Id: Iec5de91974ad5177a322b205f6b361c86f06923e
Reverts two of the changes in commit 119e61fcb because the timing of the
new docs deployment is changing.
Change-Id: Iaf804a41073d50700f67b153ef088631edefe6e5
This change adds the following endpoints:
- projects/apikeys/{id}: returns a paged list of API keys for the
project specified by the given ID
- apikeys/delete/{id}: deletes the API key specified by the given ID
Additionally, the API Go code generator has been given the ability to
process unsigned integer parameters.
Change-Id: I5ff24e012da24a3f06bea1ebb62bae6ff62f951a
2.7 natively supports the Composition API, which makes transitioning to
Vue 3 easier to do step-by-step.
Converted ::v-deep selectors to :deep() to fix new build warnings.
Change-Id: I21b34e10f55eaf9dcdad87729f02f3b0d723b6b1
The anchor tag for these links is changing, so we need to update the UI
for them to work. Also remove trailing slashes from docs.storj.io links.
Change-Id: Ic4682dae76c44cf803b16ebfe7352405520c4307
Improve styling for lists in `customHtmlDescription` for alternate
signup landing pages in `registrationViewConfig`.
Change-Id: If20831044099a1183e5dc8b41668bf2f68c272a2
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
update responsiveness in billing pages to match figma designs including added billing header scrolling for smaller windows
Fixes https://github.com/storj/storj/issues/5033
Change-Id: I94fc836f95e3985d6b675d3495961ec703e43044
This change fixes the duplicate navigation error on the new billing screen.
see: https://github.com/storj/storj/issues/5096
Change-Id: Ie0512de806835acfc29e86182e4c49ced6355383
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
after redirecting from bucket page to upload page if we have no files/folders
related to this passphrase but have other objects in bucket we show closable
reminder that we support multiple passphrases per bucket
Change-Id: I6420aedd5605100e4aa35b598771e5298e251f91
This change fixes makes the "See Payment" and "Edit payment method" on the billing page
navigate to the correct corresponding pages.
Change-Id: Ia2045394643d11171cc8ad5ded6654c4293875d6
Improved access grants empty state to show correct label depending on search query.
Issue: https://github.com/storj/storj/issues/5074
Change-Id: Ibc5e8857ed213bcea28774151472e8750400beee
Fixed old billing layout to show new billing layout.
There was a routing issue when navigating from account dropdown.
Change-Id: I65d91681b2891ec347a6729ae3db4cd0e6073161
This change fixes an issue where description texts will not show on the partner signup page on small screens.
Change-Id: I59868b5c598499e3fc6dba7991453ec5c4e4d998
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
This change updates the access grants table to use the new table component.
see: https://github.com/storj/storj/issues/4994
Change-Id: I6fa8c3feb2023c2dacc7ea5536ba9e16652f8c26
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
This change shows a new "no bucket" page and a
tooltip to guide users to open a bucket for upload.
see: https://github.com/storj/storj/issues/4969
Change-Id: I99fd855fe39ba7ad308b1c90f79703eeee1b1627
Jenkins doesn't do a very good job with identifying what has been changed.
While it has a syntax to defined patterns, it compares the current build with the previous build (in case of git-verify it can be a totally different branch) instead of checking the HEAD commit.
This patch introduces shell scripts to do this better:
* It doesn't depend on Jenkins any more
* It can be executed locally
* It can detect web changes properly (see the relation change as an example).
Change-Id: I9d37775e3818c08c4aa96ffb78f84d57f28a2c95
The new dashboard currently gets stuck on loading and displays an error when
it fails to get usage data. Failure happens on satelliteDb due to a cockroach transaction error
caused by reading data before using AS OF SYSTEM TIME in the same transaction.
This change reverses the order of daily usage queries to avoid this error.
And hides the loaders on the dashboard if/when an error occurs.
see: https://github.com/storj/storj/issues/5012
Change-Id: I06b6ee434f72242f9b7d21dec7aaf39d1d622f1e
updated the CreateAccessModal to support direct deep linking
added a new option in the quickstart dropdown that navigates to the
S3 CreateAccessModal and updated the quickstart Create Access Grant
action to use the new modal
Fixes https://github.com/storj/storj/issues/4961
Change-Id: I49388ebbfcfee74ae481c2f5b7afb7e6168190b5
call to action buttons were unreachable on some screens.
banners made scrollable since they occupies a lot of screen space when more than 1 appears.
Change-Id: Iaf0eb7170f432d260133f7d4c31ee6a4dae5d439
This change fixes an issue where the file selector does not open when the "drop files" box is clicked in the file browser.
see: https://github.com/storj/storj/issues/5064
Change-Id: Ib3020cd7c2cfeb7740a1f7b68fd0620cb26cab28
Added code for SortingHeader2.vue, VerticalArrows.vue, and TokenTransactionItem.vue. This code is for some of the stubbed components on PaymentMethodsTab.vue.
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
Refactored MFA, project members, profile and change password modals to use common VModal component.
Didn't touch access grant modals.
Change-Id: I9af5277496a99ec907fbee57a84127064ca9c02b
Added label for new project dashboard which tells user that there might be a delay before actual data is shown.
Issue: https://github.com/storj/storj/issues/5002
Change-Id: Ife317f68c4bd3c5eadc72e35ed4e77c97b1c038e
This change replaces the support email with a link in the "deposit storj token" message.
see: https://github.com/storj/storj/issues/5007
Change-Id: Icff1171e563a6b9184eb0e2828cd61e3c95b45e4
Added string length limits for registration partner and promo params.
Limitation added both on client and server sides.
Issue: https://github.com/storj/storj-private/issues/44
Change-Id: Ifae04caad1775e0a8ca72ae7f9abcf0ea5fb564b
Implemented Recaptcha and Hcaptcha for login screen.
Slightly refactored registration page implementation.
Made 2 different login/registration captcha configs on server side to easily swap between captchas independently.
Issue: https://github.com/storj/storj/issues/4982
Change-Id: I362bd5db2d59010e90a22301893bc3e1d860293a
eslint-plugin-storj is uploaded to the main npm registry.
While we have no clear proof that it causes the random freeze of npm install, it can be fater anyway as fixed version can be cached safely.
Change-Id: Ie74d93c7c4863e46121a9ab6c4e6b787fa3899b3
When a someone tries to create an account with an email that is already
associated with a verified account, send them an email with options to
sign in, create an account on another satellite, or reset password.
Change-Id: I844144d88b7356bd7064c4840c9441347a5368b0
This changes the project member page's table to match the new table design,
And updates the common table component fit this page's use case.
For: https://github.com/storj/storj/issues/4993
Change-Id: Ic7e2c4ceade9bbc98793760927a9243914f454d0
Coinpayments is not working properly; This change replaces the storj deposit form
on the upgrade account modal with a message to contact support.
Related to 1bd609c00
Change-Id: I02eeb6dd721320099a3c523c538dac597c4e8914
Coinpayments is not working properly; This change replaces the storj deposit form
with a message to contact support.
see: https://github.com/storj/storj-private/issues/43
Change-Id: If3792d05282c102c1d5ca0664bd8c70ad103f61c
* tabs and routing implemented
* added new method card
* token payment card complete - need to discuss responsiveness on this
* began table implementation
* latest stripe integration changes
Co-authored-by: hovex023 <97616907+hovex023@users.noreply.github.com>
Co-authored-by: Andrew Hove <andrew.hove@concordusa.com>
Co-authored-by: Maximillian von Briesen <mobyvb@gmail.com>
When implementing the new billing screen, we mistakenly removed the
router-view component from the old billing screen. There was also an
issue where the button would add an extra /billing in the path, so this
change modifies the way the router navigates to the add-coupon route.
Change-Id: Iad3e9aea8c91dbf3bb13022e0995b24ade26af0d
The old version has a weird artifact in Firefox which draws a diagonal
line from the logomark across the logo text.
Change-Id: I0172c908c3fd0ea3ac363b8196488a98b09afb67
On small screens the top of the registration page is cut off. This change updates the styles to fix that
Change-Id: I73420cb30c5e34acf7aa6312c054655db410f5e2
we want sign up page to be more configurable since we have to add partner branding to it.
added ability to add logo, different title and decpription and even html after common markup.
v-html rule disabled and sanitize plusin added to avoid xss injections.
tsconfig changed to be able to load modules from json files.
Change-Id: I9ff2cf6e5cf977b8c41ca48953b491bd361f26a1
Fixed dev build to do only one build at a time.
Basically, it will do only one legacy type of build and ignore modern build.
Issue:
https://github.com/storj/storj/issues/4908
Change-Id: Ia90deac1f8bf4f609ec776a3580ab0dc8f22a84e
If "partner" query param is set on signup screen we pass it on satellite switch.
Issue: https://github.com/storj/storj/issues/4955
Change-Id: I59039d6ae660d8790390e59650de0ce1e3bba1b4
functionality moved from reset password where no cookie and causes error to proper place
added redirect with 2 sec delay after success
Change-Id: I9cfe7e88bed7cfaf04fc7dc7fde58702b0040c5c
after I copied and checked an acknowledgment i was able to delete the passphrase and create the access grant
now if I do this "copied" and "acknowledge" statuses if passphrase is changed
Change-Id: I57199a476c802eb3c44e4dddc43ef40fcedcee2f
Added new email html template.
It is sent when user tries to reset password with unknown or unverified account.
Made a couple of minor config changes.
Issue: https://github.com/storj/storj/issues/4913
Change-Id: I730f48b3478e302d1e38e1f8a27c75f66a8ba6fd
- Created screen for billing overview tab
- Added total estimated charges and balance
- Added breakdown of individual projects
- Links to billing history and payment methods
- Mobile Responsive
Adding go.mod into node_modules is not sufficient, because npm install
wipes them quite often out. Similarly, when running npm install locally
it will remove it, causing the git state to be dirty.
Rather than having them committed, add them after running npm install.
Change-Id: Iaf21a9c6e198dc31fe50345ec5dee85b44617176
* tabs and routing implemented
* added feature flag
* added billing history buildout
* Update to use real data for table population
Story: https://github.com/storj/storj/issues/4633
Co-authored-by: cl-mitch <mitch.george@compozelabs.com>
Ask for encryption passphrase when user tries to navigate inside bucket using next flow: Buckets -> BucketDetails.
We don't ask for passphrase if user uses this flow: FileBrowser -> BucketDetails.
Don't allow empty passphrase in open bucket modal.
Fetch buckets using our API after new bucket creation flow (instead of S3 fetch).
Change-Id: Ia0894d6bb4a764c4ff0974fb16ed89bb82699807
Add go.mod to node_modules folder, that way Go compiler doesn't
need to scan the node_module directories for any Go code.
Change-Id: I747909416490c847d6b4bfa3438fea66660fcd53
Show free/pro badge in collapsed nav side bar.
Use getter to indicate which badge to show instead of calculating once after first render.
Fix project overview label for smaller screens. The problem was with new project dashboard route name.
Change-Id: I6ec340b14fe7cf11ba96a0d4ae6771e830c2ed94
On bucket details page, make bucket name breadcrumb link back to the
page for that bucket. Additionally, add a pointer cursor to the
"buckets" breadcrumb.
Also remove settings dropdown from bucket details page as the only item
is "View Bucket Details" which is already the current page.
github issue: https://github.com/storj/storj/issues/4909
Change-Id: Ic24abba7fb447ca5a8ac1e8ba244ba98dec2fc92
tabs and routing implemented for new billing flow
Co-authored-by: hovex023 <97616907+hovex023@users.noreply.github.com>
Co-authored-by: Maximillian von Briesen <mobyvb@gmail.com>
Add a badge to the account area indicating whether the user is paid tier
or free tier.
github issue: https://github.com/storj/storj/issues/4747
Change-Id: I3d435113fada48d4bda6faeef27680eb2850427b
Merged two components into single one to have single source of truth.
Also this may fix some go-rod test problems.
Change-Id: Iffa86d1b3c24a0e2a551335ecda721a93ff616e3
Our SVG loader was recently reworked so that snapshots of UI tests
are smaller, but this broke some SVG styles because SVG paths no longer
contain a scoped CSS attribute. This change adds deep selectors where
appropriate to repair the broken styles.
A scoped CSS attribute is added by Vue Loader to elements of components
with scoped styles to identify which component the element belongs to
and restrict CSS rules accordingly. Paths within imported SVGs no longer
contain this type of attribute, so the deep selector must be used to
style the SVG as if it were a child component.
Change-Id: If4beb903fa3b40aa208efa549b8fe23ccf2a547b
This change resolves an issue where clicking outside an access
grant deletion dropdown would produce errors instead of closing it.
Change-Id: I2e0d5bfc50e2abeffe2d181aa3319b3476138d07
Implemented new modal to open bucket.
This is a part of new objects flow.
It is hidden by feature flag.
Change-Id: I3839126933b8804c8adbd8949a29ac75771fab4a
Created and style modal-added open and close functionality
Added logic to access grants selection type
Changed CLI to API-Changed Types to radio buttons-Added date picker-Added buckets list(not yet populating with buckets)
Added permissions check box logic and new input field for buckets.
Added tooltips and hover logic for the tooltips
Added acknoledgement functionality to encrypt step
Added conditional logic to encrypt access button and the ascknoledgement box - removed blank comments from paymentMethods snapshot
Added logic to retrieve restricted api key, access credentials, and satellite address
Added copy functionality and download functionality for the credentials step
Change-Id: I8c8f02bc1ee38c3df42396cbd9bb3db2e7ff9cc4
Co-authored-by: cl-mitch <mitch.george@compozelabs.com>
In the name step of the create bucket view for the new objects flow, fix
the placeholder for the input to mention "name" rather than "passphrase"
Change-Id: Ia7a64383b58d36f6aee1df952ed7cb300734e09d
Fixed main content width to be appropriate.
In case of very long access grant name (100+ symbols) main content gets overlapped with window border. That's an unhandled edge case.
Change-Id: I42ef709edc8454f054baa52231c605afadc471e2
Reworked "add payment method" and "create project prompt" modals to use new common VModal component.
Change-Id: I73039e5d30077e35f05501a48f39142b799da875
logo redirects to homepage on login, signup, forgot password, reset
password, and activate account pages
Change-Id: I992aeae197004d620addd8d515cae1c1ca80a778
github issue: https://github.com/storj/storj/issues/4289
also change other notifications in CardDialog.vue to use $notify plugin
Change-Id: Ic38c39cce8ade720a8fcd9061e916978168575b8
Created and styled Access Grant Flow modal. Added open and close functionality
Added proper text for access grant create buttons
Added logic to access grants selection type
Added permissions check box logic and new input field for buckets.
Added tooltips and hover logic for the tooltips
Added acknowledgement functionality to encrypt step
Added conditional logic to encrypt access button and the acknowledgement box
Added a prop that shows the scrollbar for the bucket selector
Added name validation - needs proper error message
Implemented download utility and simplified true/false method
Co-authored-by: cl-mitch <mitch.george@compozelabs.com>
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
Styled Access Grant Table according to new flow UX
Added search functionality to My Access Table.
Separated search styles into 2 components
Co-authored-by: Moby von Briesen <mobyvb@gmail.com>
Co-authored-by: hovex023 <97616907+hovex023@users.noreply.github.com>
Edit svg in payment-methods-container__card-container__dots-container to draw 3 dots instead of two.
Change-Id: Ie447abf9a2e15b619cf937fe1b1c263e2eeca3e8
Made some small styling changes to access grants and common components
Added svg and png files to be used in the new access grant modal
Co-authored-by: Maximillian von Briesen <mobyvb@gmail.com>
Co-authored-by: hovex023 <97616907+hovex023@users.noreply.github.com>
Adds a new configuration for hcaptcha enabled, secretkey, and sitekey.
If both reCAPTCHA and hCaptcha are configured as "enabled", reCAPTCHA
will be used.
Change-Id: I73cc6e133d8da3555e0ed8b2b377cf9eb263e6dc
Added new modal when free tier user tries to create new project.
This modal prompts to upgrade account.
Change-Id: I0e787e35b099387a08186c7df7fc080092d2366c
This reverts commit 2e3e5547e2.
The S3 client is returning an error related to region with the new
changes.
Change-Id: I989b8a46c0e97c1278517e1de07fe42d5950cf54
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
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
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
Also reset package-lock.json files to workaround issue
of npm auto-updating storj eslint plugin dependency to ssh.
Change-Id: Iaba102d713dc596d5814bdc4cc54c9b911398d64
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
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
* 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
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
Store selected os tab during onboarding flow.
Use stored value to show correct tab during all the CLI steps.
Change-Id: I82e9af7e5dd3a7eaf503ed4f38789b7b0fb4aa84
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
Moved invalid email testing to separate test.
Made all the emails used to have .test domain.
Added links to regex resources.
Change-Id: I26920ba7360064528256a6aeaea947bbe56ef618
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
Properly encode email sent to the signup success URL so that emails with
symbols like `+` are processed and displayed properly.
Change-Id: I2d24ae08dc6a540e1e24d6c7baf62d83a856cd68
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
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
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
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
download performed without adding link to address bar
added warning to not share link with external people
Change-Id: Ifa79582c51c77c000342c1e03e752dd157912975
Finished implementing queries for both bandwidth and storage using pgx.Batch.
Fixed CSP styling issue.
Change-Id: I5f9e10abe8096be3115b4e1f6ed3b13f1e7232df
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
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
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
most of project related errors fixed to show correct message
found out that update project mutation is broken
Change-Id: Ia3492d34e9a9ef0ce0f0ea4591bd48d5cdbb5f5a
Previously, there was no difference between the "Upload File" and
"Upload Folder" buttons in the Object Browser aside from the text.
This change adds file and folder upload icons to their respective
buttons.
Change-Id: If9766c12420d9a9bc45348c0b9b0bdf6b42b8922
This change disallows creation of users possessing the same email.
If a user attempts to create an account with an email address
that's already used - whether it belongs to an active account or not -
he will be notified of unsuccessful account creation. If he attempts to
log in using an email address belonging to an inactive account,
he will be presented with a link allowing him to re-send the
verification email. Attempting to register with an email address
belonging to an existing account triggers a password reset email.
Change-Id: Iefd8c3bef00ecb1dd9e8504594607aa0dca7d82e
Transitioned all functions into typescript code and changed the vue component to be a class component.
Change-Id: I5ffcca5abb1595d53e880d4ccdfa26e23b1a214d
Transitioned all functions into typescript code and changed the vue component to be a class component.
Change-Id: If804c8c58399c304c416f2e53672fa6f9c8bbffe
Transitioned all functions into typescript code and changed the vue component to be a class component.
Change-Id: Iffd8e8b368ee69f15c8f4ad9b34dad9c36a1f931
Transitioning all browser components and the browser files vuex store into typescript code and fixing all linting errors.
Change-Id: I91d166153fcba82a06cdccb04ded963141855239
User could confirm delete bucket action without entering bucket name.
fix for this issue https://github.com/storj/storj/issues/4296
Change-Id: Ic76f59885fd5bd812609f831f8887c07f02360a8
Created common VDateRangePicker component to be reused.
Reworked it's styling.
Added date range selection logic for new project dashboard.
Change-Id: Ie9bdd173527514924e437ca5bcc9cfbf7793e4dd
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
Added new query to get project object and segment count.
Added appropriate object and segment count view for new project dashboard.
Change-Id: I69a2e55442f318c51dc365c0c578b964f2f06c7f
When a small value is displayed then the progress wasn't visible.
Add a drop-shadow for a quick-fix and set the overflow property to the
correct value. Currently both need to use !important hack since
the old browser is being imported and the css properties conflict.
Change-Id: I2a2d62f9b16a9ef26aaec91e82f5c05cc33dee23
Fixed issue with project selection for new objects flow.
Fixed issue with navigating from objects browser when upload is in progress.
Fixed command line solution link on Encryption passphrase step.
Renamed Objects nav route to be Buckets nav route.
Change-Id: I4d838854668d6c44491cfd83302ea705ef7c26bd
Also, we have multiple tests that contain the same sign up
and login logic and refactoring them would make tests
cleaner and more readable.
Change-Id: I25bf95ca2fffb7f494a3c93a4a4afe429ece70d3
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
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
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
Reworked component to have all needed warnings and info.
Removed Warning route from objects flow.
Updated tests.
Change-Id: Iced68aca7fbf4e1f7b7e5302147a51fd0e9115c8
* 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
Currently uploadObjectStep.svg was a large file that was embedded into
the js bundle. This reduces the gzipped bundle size by 80KB.
Change-Id: Iff673ca44330b345eb6b317175cd8bf4e1efd29b
Even though we want to start charging segment fee instead of object fee,
it's hard for users to understand what a segment is. This PR adds the
object count back in the UI alongside with segment count to help address
the issue.
Change-Id: I92eb42c769d350eba68a72443deffec5c278359c
Changed MFA label from "STORJ DCS" to "STORJ <sat_name>" for the users who use the same email for different satellites.
Change-Id: I1ff68a08fee1da57ab3c32173ce8d3b52cac39d9
Fixed user's paid tier status to be set by amount of CCs instead of db field.
Fixed some minor styling issues.
Change-Id: Ie1989289a1bf3ce964de7fe19ca8dd3e11dffc38
Trims whitespace around the email address, MFA passcode,
and MFA recovery code before sending a login request to the satellite.
Change-Id: I145e6a5991270b0e49ac3f09ab3c9d1c9f970699
Since we don't have main content responsiveness I decided to make sidebar shrink earlier (1280px).
Added event listener for dropdowns to close if navigation sidebar is being scrolled vertically.
Change-Id: I15ac2ae652aedfc06fd331585bb64b69076c0eed
Fixed a download link for CLI setup screen of onboarding flow.
This is a fix for this github issue
https://github.com/storj/storj/issues/4220
Change-Id: I5ab8f69f30c7c83098004556aebb5318916cd9e6
Create first bucket ('demo-bucket') for the user if they have no buckets.
Fixed bucket name validation to include '.' and '-'.
Change-Id: I21ddad63f214b6482ebaad95474ff0b6cf16254f
Added account area and dropdown for new navigation sidebar.
Fixed vertical layout for new and old nav structures depending on top info bars amount.
Change-Id: I238ba1f899d27d7fd9b865b0c17b0bfd7cff47ad
Newer npm seems to invoke the command without the current user
privileges. However, Go already initializes its cache using root.
Change-Id: I23b32ca3bbd7db06515c2af86b1bb5adc8e38a8f
Stylelint and eslint should be run separately and not part of the build
process.
Add a flag STORJ_DEBUG_BUNDLE_SIZE to debug compiled bundle size.
Reduce the number of chunks, it's far from ideal. Once we reduce the
images and browser size, we probably can drop chunking altogether.
Change-Id: I5bdf35ceb140e2c47a30df8d319606d05bfb30dd
We are not using the benchmark results for anything, they are mostly
there to ensure that we don't break the benchmarks. So we can disable
CockroachDB for them.
Similarly add short versions of other tests.
Also try to precompile test/benchmark code.
Change-Id: I60b501789f70c289af68c37a052778dc75ae2b69
Fixed caching issue by using regular Webassembly.instantiate instead of instantizteStreaming which fails to work in chrome sometimes.
Now web worker instantiation is part of initial app loading process. This fixes go-rod test flakiness.
Change-Id: I5300e70d4e0866f2321df86ce729f32b588bc5c4
For some reason our build process cannot handle relative path packages,
it's easier to create a new repository than to figure out,
why npm/docker etc. don't like it.
Change-Id: I94b7cb9611f453246b596f97114fe5c54d9a4008
Added tests for signup with invalid email or password.
Added test for signup screen's satellites dropdown.
Change-Id: I76d975039543e315b3e9c9416e3ec1f2a3331a6a
Removed Generate access grant step.
Updated according test and added Back button click test logic.
Change-Id: I736eb4ecb4c3a2437c78af3f42da160b0f147d26
Resets the reCAPTCHA response token when an error is returned from
the satellite. This prevents old response tokens from being used
in later requests.
Change-Id: Icabb53bb6b307d22c21ae960075d552ba739aa86
Added prop for VButton component to make button labels uppercase.
It uses text-transform css property which is better for screen readers.
Change-Id: I2a771af954a3bb9846a58dac9c2a1769e13f6e5c
Fixed issue for Encrypt your data screen. It was impossible to proceed further into object browser after selecting Generate passphrase option
Change-Id: Ibddda3c6bd7fce34bd1c629bbbb2d87529964b8a
Advanced Report is broken and it's causing support tickets.
The Advanced Report page must not be linked to until it is fixed.
Change-Id: I51d6afeee7584022ec920f311bb4c0d31174fd2c
Added warning copy to EncryptYourData component to let user know that this approach uses server-side encryption.
Change-Id: I864b8d5272e3d54a5ef0fafe464cd0e1ccaa9e83
There is a bug with back button of Create Bucket step of new onb CLI flow when proceeding further into flow and trying to come back.
Change-Id: I663a05021824164617ba933815973d8be856539f
Fixed inputs to have correct box-sizing and fixed stylings for it.
Removed 2 unused components.
Fixed VInfo component's small styling issue.
Change-Id: I268b4b754be477d4e0d36b3946d62d65fd7d6cc8
Added API key, CLI setup and Generate AG components.
Also some common components were added to reuse in this flow.
Change-Id: Ic7b2e33b02b8d2c0e8f989a1ac59c8ebf05830d4
Refactored Generate Passphrase screen to be common for onb and object flows.
Replaced initial Generate Passphrase screen to access grants wizard.
Moved download file functionality to utils.
Implemented Onboarding Encrypt your Data logic.
Change-Id: I46e780a5997c215d53ccd0254964b1c2b39c7c02
Added components for the new flow.
Removed onboarding logic from regular access grant wizard.
Updated routes to include new flow.
Change-Id: I52ca6eb3da1e4e3a4b465ed58cd45398d10fd268
* all: fix missing Vue.use(Router)
* multinode: having same state and module names is not allowed
* multinode: simplify store definition
* storagenode: add or fix any annotations
Change-Id: If8a63ae46049fc77fc6cd7a7ad912d4ad74d23ac
Also ignore coverage folder for linting. I had to add a new
.stylelintignore file, because ignoreFiles property was not properly
working.
Change-Id: Iadd99b64eadd9c4103f750519263113ae8780ce1
The components used in templates should always be included in the
component declaration. Similarly, it shouldn't contain extra components
to avoid compiling in components that aren't needed.
Change-Id: I8c47ceffa8bcbcca223ac0f538f9e30d1e849829
Some linters do not work properly without those annotations.
This was done with a batch replace.
Also needed to turn off two lint rules, they will be re-enabled in the
followup change. This way the batch change can be clearly separated from
manual modifications.
Change-Id: I891ae09689520edaba5588c1f2206766db2d2b90
Added an info icon which toggles a bubble where user can click a button to restrat onboarding tour
Change-Id: I8b02a1506684377c2887cc9d9c93b5450f1bfd4d
Remove Storj DCS logo and replace it with the Storj OCS logo - the dcs
logo will replace this from our branding repo.
Change-Id: I01daa67380f04bf62df980a2c84b3e48bccd63f1
There's no need to define RootGetter type on StoreModule,
because Context already should have it defined.
Although the invocation to get that type is rather arcane.
Change-Id: I9525c0e4853f4c5211bdaf1645f0a27c26af8f53
Fix svg.d.ts definition.
Disable no-explicit-any in src/api, because wrangling all the GraphQL
result types properly is not that nice. We can either fix this later
manually, generate GraphQL types or remove the GraphQL endpoints.
Add annotations to src/store/. Currently it still uses any in places and
also defines more types than absolutely necessary. This is an
unfortunate side-effect of the vuex api. There does seem to be an
alternative package that handles them, but to minimize the number of
changes, we'll currently use these types. Due to those decisions it's
also not easily possible to have types instead of any in multiple
places.
StripeCardInput currently uses any, however, if we find the proper
declarations, we can replace them later.
Change-Id: I2ec8bf7fdd8023129d1f8739ce2b6d97de2a58d0
Rate limits application of coupon codes by user ID to prevent
brute forcing. Refactors the rate limiter to allow limiting based
on arbitrary criteria and not just by IP.
Change-Id: I99d6749bd5b5e47d7e1aeb0314e363a8e7259dba
This change allows users to disable multi-factor authentication
with a recovery code. Previously, users could only disable MFA
with a passcode.
Change-Id: Iec20bf7d8f6781182b81d1f17d9641491dbc8460
Adds a banner at the top of the dashboard warning the user if he
has 3 or less MFA recovery codes.
Change-Id: I3271f1fe33501eaeeeca343bf60ca899e80f0fa1
Added editable fields to the project details page for Storage Limit and Bandwidth limit. Leveraged existing types when possible.
Added fixed checking into the limits to prevent reducing limits beyond current usage, as well as limiting usage to less than the default paid tier maximum.
Change-Id: I07ce53470919a8a9d4dce56ade6904ede8daf34c
Updates the password reset page to use the new theme.
Adds new endpoint '/api/v0/auth/reset-password'
for password reset.
Additionally, updates the link-clicking mail simulator to only
click links with a specified attribute. Otherwise, the password reset
cancellation link would be clicked before the password reset link
could be accessed, rendering testing impossible.
Change-Id: I8fde74ef7ad980880a7bf6558e3b9ed31509a393
Fixes two things:
All button tags must have type field specified, otherwise it defaults to
submit, which is mostly not correct for our site.
Disallows unused refs.
Change-Id: I28bb44aab9c153f83fec16fc4023a453444c3926
Replaces all occurrences of the non-existent 'font_normal'
with 'font_regular'. References to 'font_normal' would always
fallback and never display the proper font.
Change-Id: I2cb98a5bbec33b45f7e4ec6ba67bc5be63b5b523
After migrating to eslint some errors were disabled to make it easier to
migrate.
This enables all the lint rules and treats all warnings as a build
failure. Similarly, CI won't automatically try to fix mistakes.
Change-Id: I80f808af026fc51bed90421b3b24737994a52094
The Usage Report page referenced a nonexistent stylesheet and improperly
imported a font that does not exist in this repository. This change
resolves those issues.
Change-Id: I78006d4a652fd1e32dd4dd146b2287f58a7659d6
MFA is complete and we are good to enable it in production. This change
removes the flag that disables MFA by default.
Change-Id: I2f985ae501171bdab505d664b43c8cfc248bad8d
tslint has been deprecated so it's nice to switch to eslint.
Currently this uses a minimal eslint, to get things up and running.
node-sass requires C which does not work nicely on all platforms.
Change-Id: I3ca9adf2971475c009e541652b7637c18ad960f4
Added ability to regenerate MFA recovery codes to account settings.
Appropriate button and popup were added.
Change-Id: Ie7d42e7e13e868f3b0b8b7d5db7eacc9e8206aaf
Added Enter MFA passcode step to login after first attempt.
Connected client-side and server-side.
Change-Id: I4482afde50172bbf2c598aa01bbd220763b4f6d1
Error message for attempting to activate an already-activated
account is removed from its own page and incorporated into the
login page in an identical manner to the message that appears
upon successful activation.
Change-Id: I29cd2685a7808fa71d34a439c86a38eb5fc3e199
Unifies the stylesheet for 404 and 500 errors. References the
Storj logo rather than embedding it in the HTML. Replaces references
to Storj with Storj DCS. Removes reference to nonexistent font.
Change-Id: If224f30eb0b21171fc8f575de6c4cef98a48c6f5
Merges the 'Forgot Password' page files into one Vue file and updates
it to be consistent with deployed code. This change is part of an
ongoing effort to remove code from the branding repo.
Change-Id: Ib18b95dd5a3269f26f4f547fc46ac6278c468a54
Update the forgot password, invite, and welcome emails to be
cosistent with deployed code. This change is part of an ongoing
effort to remove code from the branding repo.
Change-Id: I6edb6811904552c1cf7761b96bc9aa879c2eb154
Full path: satellite/{payments,console},web/satellite
* Adds the ability to apply coupon codes from the billing page in the
satellite UI.
* Flag for coupon code UI is split into two flags - one for the billing
page and one for the signup page. This commit implements the first, but
not the second.
* Update the Stripe dependency to v72, which is necessary to
use Stripe's promo code functionality.
Change-Id: I19d9815c48205932bef68d87d5cb0b000498fa70
Provides the means to serve an error to the user with a user-friendly
error message (serveCustomJSONError). Auth API uses this when
processing registration attempts.
Previously, the error message was inferred by the client based on
the status code of the response received from the server. However,
if multiple distinct errors fit a certain status code, it was impossible
to correctly interpret the error.
Change-Id: I2f91e9c81ba1a4d14ba67e0b4b531a48800d4799
Since we removed login/registration explicit templates and styles from branding repo we don't need file splitting in main repo anymore.
So moved html and css code into components
Change-Id: Ib297e2576f16a7fddd17cc62f6c655adf96a59b6
It turns out, there are multiple different 400 errors that might be
returned from the server during registration. Rather than display
hardcoded text on the client ("Validation of reCAPTCHA was
unsuccessful"), this change simply displays the error sent by the
server.
As mentioned in the comment, we should eventually do this for all
errors, but that will be a more in-depth change. The purpose of this
commit is to unblock a point release.
Change-Id: Ideca107cc4039a0dabfa0fb02c943da920f7ff4f
Previously, the reCAPTCHA would only reset if a Bad Request
error was received. Resets should initiate regardless of error
type to prevent the same reCAPTCHA response from being submitted
more then once.
Additionally, registration errors could trigger a reset for a
nonexistent reCAPTCHA element.
Change-Id: Ib405707f1803cf41e5de192f31d75153136e6c67
Added disable user MFA functionality to account settings.
Disable MFA popup where user will have to enter MFA passcode first.
2 buttons (enable, disable)) are visible for now until backend is ready.
Change-Id: Iff8b497a370fc1c6c08c5ccaf01ce1f2dc317126
Added feature flagged functionality for enabling user MFA.
Added new Popup where user will scan qr code and confirm enabling
by entering passcode from MFA app. Also recovery codes will be visible afterwords
Change-Id: Ie8d1bc83c941a08fd8701442601a2d20126c8892
Also, show paid tier banner if a user has not added a credit card,
rather than if they are flagged as "paid_tier" in the database. This
addresses issues where we might display the banner for users who have
already added a credit card before the paid tier commit: e36001b7cf
Change-Id: I0352d48ae9f97ceab81ae065ccb97be3e5516857
Added feature flag for MFA
Added new client-side api call to enable MFA returning secret
Updated users Vuex module to include new API call
Change-Id: Ia9e10f68c4a7da39b4f7c1073e657c2de98fb0db
The user must complete a reCAPTCHA in order to register.
ReCAPTCHA verification failure results in rejection of the
registration attempt.
Change-Id: I34ba7db414d756fd1aaebdc3d19cccbfc7fc1ea3
Remove the Enter Encryption Passphrase screen that
immediately follows the Generate Passphrase screen upon entering
the Object Browser for the first time.
Change-Id: I04fb00325e7798096dc209473f5553d6e5df0dd3
Added new PaidTier-related modal where user can add CC or STORJ Tokens.
Becomes visible on CTA click on Paid Tier banner at the top.
Change-Id: I51015e95d396e21d5c1a1728b8f753798626c09e
Added new info banner to show user their used and total storage values with a button to upgrade to Paid Tier with auto limit increase
Change-Id: I827818dcb5179358df246218a47feb61bc1a1bac
We want to calculate bucket tally only from iterating objects.
Object currently has an info about totals for bytes and segments.
We need to adjust tallies to keep those totals. Older entries will
be untouched and code will use totals only if available. Change
is adding columns for totals to bucket_storage_tally table and
is adding general handling for them.
Next step is to start using total columns instead of inline/remote.
This will be done with next change.
Change-Id: I37fed1b327789efcf1d0570318aee3045db17fad
Because of our free/paid tier plan, we do not need a paywall anymore. We
have not used it in a while, but still have leftover code laying around.
Change-Id: Iaea8c39faf042a2f7a6b837727bb135c8bdf2907
Added new endpoint and service method to return total usage and limits for all the projects that user owns.
It is needed for new paid tier UI
Change-Id: Ic5b67ca7b275ec4930d976a007168235c0500b70
Added warning popup for when file upload is in progress.
It says that leaving objects page will cancel upload
Change-Id: If49c1ddc898f2e6dbdc86e5a00d604a55b628720
Replaced old .ttf Inter fonts with new version fonts.
For all modern browsers that use woff2 we save ~700KBs
Change-Id: I937c6e850298ad4bdd1f6c7279c6552c897c1ac4
Added loader spinners across all of the UI to be visible while data is being fetched.
Removed most of the requests from the initial load of the satellite dashboard.
Removed useless requests after creating of new projects.
This should make user's experience much more better since load time of the app is much lower than it was before.
Change-Id: Ib0941ad4eee6b3caf781d132062b55cb17703fe7
This is another step in removing code from our branding repository. The
code between our three prod satellites was almost identical - this
change just uses the html/scss for the prod satellites, and generalizes
a small portion of the html so that the satellite selection dropdown is
based on configuration rather than hardcoded.
There are significant differences in the code for non-prod satellites
like saltlake, eu-north, and us2. We can address this in a future
change.
Change-Id: I72a79f5b60670abb6340c62132b35ba3884d0750
Full prefix: web/satellite, satellite/{console, analytics, satellitedb}
- checkbox added to register view - business tab
- user being saved with new column
- add sales contact choice to Segment calls
- ui fix added to employee count dropdown
Change-Id: Ib976872463b88874ea9714db635d58c79cdbe3a1
Replaced loading spinner of the loading state after login.
This is the first step of unifying of all the spinners across UI
Change-Id: I00bffb0c7113803ffcda580888f5ba6f425b16d4
Moved creation of default project to vuex store to dispatch it in different places.
It removes duplicated code fragments
Change-Id: Ic5e52776727e681797bbd76342b78480812552d1
There was a bug when user tried to get project after removing themselves from it.
Also we made user select firstly created project only if they removed themselves from current selected project.
Change-Id: I4b28ebc1ab4a8c14d05ef702e034f2ab39225cc3
WHAT:
better error message when trying to create a bucket with a name that already exists
WHY:
better user experience
Change-Id: I1f56439d6dc8503cdca03759b0cc180688aafd87
WHAT:
removed console errors when trying to navigate to current route
WHY:
there shouldn't be errors in console
Change-Id: Ifa6ccf2f336cab58ac5e27b5dae2167a3229f98a
WHAT:
removed notBefore and notAfter caveats from object browser AGs
WHY:
caused a bug when user's clock is not synced correctly
Change-Id: I1af10418f1668003a09cba313eaed3b0764eabdc
The current input dropdown solution allowed users to input their own text for employee count.
We want them to be limited to 3 choices, with a default value if none are chosen
Change-Id: I0fb2ab58fc756967efeac5f67e0f7001ef19c66f
WHAT:
timeouts replaced with promises to make things work faster
removed cli step templates splitting
removed default date caveats for AG
fixed small back button bug
WHY:
improvement
Change-Id: Idc2608c467b7ab11ee4f0337d0b9fa3d282959a2
Allows us to remove the following files from satellite branding
repo, with an up-to-date single source of truth now in storj/storj:
* web/satellite/src/common/registrationSuccess.html
* web/satellite/src/common/registrationSuccess.scss
* web/satellite/src/views/register/registerArea.html
* web/satellite/src/views/register/registerArea.scss
The registrationSuccess files have been removed from all satellites in
the branding repository. The registerArea files have been removed only
from production satellites in the branding repository.
Importantly, this change enables the "resend email" functionality on
production satellites - previously, this functionality was available in
storj/storj, but not our branding repository.
Removes the config for VerificationPageURL, which redirected users away
from the satellite app to storj.io after creating an account. In order
for the email resend button to work, we cannot leave the app.
Adds a new config value for partner satellites, which replaces the
partner satellite names config. The new config includes name and
address. It is validated on setup/run to ensure it can be parsed.
Change-Id: I67db0702d9b9641f1a37b599f2929d56f3c33aca
WHAT
added bucket name validation to delete bucket popup
removed bucket name auto-fill
WHY
better user experience
Change-Id: I5ba98050575a174ac22e5c32877cb2354cedb63f
WHAT:
changed name of auto-created project from Untitled Project to My First Project
added estimated charges info for Free tier users
WHY:
better user experience
Change-Id: I6e5183a436989677ded928b665363b81f9878b34