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
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: Iff9c4a59401900fc395cd566dd328f3a9c688a12
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: I6d5ef39d476a38dd9a6ab98e3fb94da4c3ab2e57
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
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: Icf12e375293e052befc2d0daeb23d73697ed6ded
tslint has been deprecated so it's nice to switch to eslint.
Currently this uses a minimal eslint, to get things up and running.
Change-Id: If0ca6413b534b0aa15f6130a0a809e002d817356
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
checks if there is a try to navigate to some of internal route and no nodes added so far.
redirects to add first node screen if so.
Change-Id: Ibde47c5b81ae33462afe00f2fd7a54e8b295933a
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
added displaying of undistributed balance and current month expectations
contains changes from https://review.dev.storj.io/c/storj/storj/+/4867 to be workable
Change-Id: I9cb00d2db5b819a71ceeddf91d6863a6b4fa9034
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
WHAT: unit tests for vue components and vuex store and environment for it
WHY: to cover frontend part with tests
Change-Id: I2aeaadb200176d4ba0a1406068304785e95d92cd
WHAT: total payouts table, period calendar, details area and payout history area markup
also this component fumctionally connected to api and vuex store
Change-Id: Id3abc87bc7545aa3fc0a7ef2e480a8ed73974b76
WHAT: multinode payout types, api and store
WHY: preparation of logic for mnd payouts page implementation
Change-Id: I4f2ea78056eab84c482853ef7a6c4cab4fb4c04f
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
WHAT:
removed unnecessary templates splitting
fixed resources dropdown margins
fixes close navigation button responsiveness
aligned logo
added loader for projects dropdown and removed redundant request on dropdown closing
added satellite name to header's right side
WHY:
bug fixes/better user experience
Change-Id: I7ed30f882a1f5484efbf3e0e21ee5d637ef83bf2
WHAT:
open bucket after creation
back button for uploads page
fixed input's width
added client side bucket name validation
WHY:
bakeoff
Change-Id: I82b96d4180e4a80c01bf888adae5c08d0af15bec
On more privacy-sensitive browsers, attempts to notify the satellite
about client-side events might be blocked, because the API endpoint on
the satellite contains the word "analytics".
We want to respect the privacy of these types of visitors, so rather
than changing the name of the endpoint to something else, this change
catches errors that are caused by attempting to use the analytics API,
and logs them to the console without interrupting the user's experience
of the website. These errors do not affect any essential behavior, so it
is okay if the user is not aware of them.
Change-Id: I6f49e0abcd64fd69802e4efa71a8d307cc5a3aee
WHAT:
added additional screen when entering objects screen that tells user that server side encryption is used
replaced create passpgrase flow with enter passphrase flow
WHY:
bakeoff
Change-Id: I00271785bd7872fadbcd6317c53f57707b3a1271
Adds a button alongside the existing "copy" button to download a file
contianing the access grant.
Change-Id: I6428b075e34c8b0a368122dac04a3ac112f4f3e1
WHAT:
removed explanatory link "Why can't I upload from browser?"
WHY:
we can upload from browser now
Change-Id: I84d4aaf6f55566c2dddf8dd345d0e074bf8fd338
We can be more precise and conservative by using the backend
satellite/analytics service. We also no longer need client-side Segment
scripts.
Change-Id: Ic5fb18bea2d388b586ad773e26027d69bde87294
This is a very simple endpoint which allows the satellite UI client to
notify the console server that an event has occurred. We will use this
to track when users have completed certain tasks that can't be tracked
server-side (e.g. generating gateway credentials, setting a passphrase)
As part of this change, one client side event is implemented to use the
endpoint - when the user clicks the button to create gateway credentials
after making a new access grant.
Change-Id: Ic8fa729f1c84474788e1de84c18532aef8e8fa3c
WHAT:
split AG wizard's result step into AG view and s3 gateway credentials view
WHY:
better user experience
Change-Id: I848c5fc99488258bdc9ff1210ba7ba1540f34941
The new default promotional coupon is $10/month, and doesn't expire.
This change also migrates the coupon.duration column over to the new
coupon.billing_periods, and switches to rely completely on
billing_periods.
Change-Id: Ic3341e9fa4040449bab5e66ca4ee2640b095cf3d
WHAT:
- fix for wrong total held calcutation on refresh
- payout history year restrictions depends on selected satellite fixed
- payout history total changed if distributed amount > 0
- dark mode info icon colors changed
- option menu closing issue fixed
Change-Id: Ia289d51f081b782ae601722b7c05c3307f56541d
WHAT: link to zkscan if zksync is opted in
WHY: to have ability to see wallet status redirected from dashboard
Change-Id: Ic2d084c1e551f461307fb5a1d5eb1741ed7cdf85
- add Credit History table to billing acount page and set up ui for a user adding promo codes
- implement promo codes ui in registration form
- add feature flag to handle if coupon code ui should be rendered
Change-Id: I9fdeef7cffc7901958d3f9be335e1115b2471a2e
WHAT:
generate gateway credentials that will be used to instantiate s3 client
WHY:
for s3 client that will be used to manage buckets
Change-Id: I6d654e48c41925b72e11ec3edde3dc54f5290d42
WHAT:
setup of objects store module,
setup of initial bucket's view,
generate special API key that will be used to generate gateway credentials
WHY:
initial setup of future bucket's management view
Change-Id: I0078869b95c04c0b142b2e112e93ff2332e8e90f
WHAT:
new endpoint to be able to delete apiKey/accessGrant by name and project id
WHY:
it will be called to delete special pregenerated access grant which will be used to generate gateway credentials for file browser component or bucket management
Change-Id: I7467ebaab27a7da33efd062536c6da41e6ed4c30
WHAT:
enter passphrase step for users who has already created passphrase
WHY:
to let users proceed to upload step
Change-Id: I084aec5b863981978cf190f99ee95154fbed9aab
WHAT:
made a common component from AG's generate passphrase component to be reused here.
create passphrase step for objects page
WHY:
used for generating passphrase or setting user's own password for proceeding in upload flow
Change-Id: Iefa106c544a1c5ff04d591d3d400cf06c4c6d853
WHAT:
routes and components for new upload file feature
WHY:
upload file from browser feature. Step 1
Change-Id: If517fd4513757aeaee64764d1894f1af3e463b55
WHAT:
beta satellite top banner's copy is changed to include support/feedback URLs
WHY:
so users using our beta satellite will be able to report feedback somewhere
Change-Id: Ibc349c8b3354b577275fcf1d2b75bfdd267729d9
WHAT: markup and logic for set/update node name
WHY: to have abitity to change node name for future purposes like filtering or grouping
Change-Id: I44c679df43d34355efc4c6cff260faa1c3ff480e
WHAT:
remove all the api keys related code
WHY:
it became redundant after access grants implementation
Change-Id: I36344d478d8d7524e3994ea2076491be4add1aa3
- toggle logic to trigger visual tab change
- toggling tabs renders appropriate fields
- error handling for professional account inputs
- successfully create professional user account
Goal is to be able to target users with specific professional focused communication.
Change-Id: Iffbeb712dac24ea1a83bb374740e0c1cd2100663
WHAT:
right now we've got accounts with PM but without projects.
So when user tries to create AG they get uuid error which means that there is no uuid of a project provided.
So we decided to create default project for such users before actual creating of AG.
WHY:
backwards compatibility
Change-Id: Icab857e711f1020fdcf8a12279153014d9daf11c
WHAT:
config flag to indicate if satellite is in beta
WHY:
to avoid using hardcoded satellite names which may cause issues
Change-Id: If92eb7417c340bf343a9a91e2f6b11f0349020c5
WHAT:
added message for us2 users that their data may be deleted at any point of time
WHY:
to make users aware
Change-Id: I4369fc4ec780ab66e7355c664740f8f6f5a32392
WHAT:
this logic is used on us2 sign up page to accept additional beta terms.
WHY:
to make US2 users know that their data can be removed.
Change-Id: I43f25bc945a5957bacc6662499830cb2dd6d4079
WHAT:
remove upload info step from create access grant flow
close webworker on logout to always initiate new one on login
small styling fixes
WHY:
better user experience
Change-Id: I41ae0fe859b29889a9cced30f874d4a341e09ad2
WHAT:
we want to track how many people click Generate Gateway Credentials button
WHY:
user tracking
Change-Id: Iad6a38a552f5773bbea7c07bac3562365a5f57d9
WHAT:
people who sign up on US2 are not redirected to verifying page. From now on we have to set verify URL to make redirect happen
WHY:
user experience
Change-Id: I96c51a2c4f9cb6376cbfea639675b32918b58bee
WHAT:
when user chooses the same date in datepicker it sets grant's NotBefore and NotAfter restrictions as the same date which makes access grant unusable
WHY:
bug fix
Change-Id: I416606610ebddfd1fa881cce89d2beeded48457f
This PR removes all back-end related referral program code including the
marketing portal.
We will have a separate PR for front-end code and database migration to
drop `offers` and `usercredits` table
Change-Id: If59f952cddfe0558a7dc03a0eac7cc1081517f88
web/satellite: add new projects list management page
- add manage projects link to Projects navigation dropdown
- add create project cta to page
- add pagination of projects page
- render dates, number of users and project name to list table
- update snapshots
Full scope:
storagenode/{console,nodestats,notifications,reputation,storagenodedb},
web/storagenode
These columns are deprecated. They used to be for the uptime reputation
system which has been replaced by downtime tracking with audits.
Change-Id: I151d6569577d89733ac97af21a1d885323522b21
WHAT:
add a banner with a message saying: gateway MT is in beta for EU and US2 sats
WHY:
user experience?
Change-Id: I0964c4499cdaf12dbd9dba082910fff4ff6f9a12
* web/satellite: Pin Project Owner in Team tab to top of members list
* web/satellite:Pin Project Owner to top of members list
- input missing semicolon
* web/satellite: Pin Project Owner to top of members list
- refactor project owner variable instantion
- check for existance of owner before returning members list
* web/satellite: Pin project owner to top of members list
- changed returned members list variable name
- add comment explaining unshift logic
WHAT:
if all buckets are selected then we pass an empty array to web worker instead of all existing bucket names
WHY:
bug fix
Change-Id: I59b9e9ec1deb0abb3edeba7e2303e2b1d578935d
WHAT:
when user deletes access grants, an empty list of being deleted grants appears for a second.
It is fixed now
WHY:
better user experience
Change-Id: Ibda50ad809dfc49f95c4c844487d9527c676fd76
WHAT:
back click from result step now sends correct key to passphrase step.
Small styling fixes were also made
WHY:
bug fix
Change-Id: I62463d914496a654a45f01dfb45dd704edbaecb9
WHAT:
web worker is initialized during onlogin loading screen now
WHY:
removed unnecessary initializations and increased UX experience
Change-Id: I734f194f862c15b3fb08e436a161da32d8d4a8ac
WHAT:
api keys appearence is replaced with access grants
WHY:
last step of access grants implementing
Change-Id: Ibef391849c7185fa56627b482218c76fb2d31b46
WHAT:
updated overview step of onboarding tour. It shows upload data methods instead of tour steps now
WHY:
new onboarding tour
Change-Id: I7ffe9b2b91c2e17dd0c27e5e80a15301f6de16aa
WHAT:
first step of updating onboarding tour - adding routes
WHY:
onboarding your is being reworked so adding routes will make it easier to operate over it's states
Change-Id: Ide830989e39a6222e975bd2a6106b0efbb3839f9
WHAT:
search for bucket names during creating access grant flow
WHY:
make user be able to search for needed buckets. Just in case if the number of buckets is too large.
Change-Id: I73bcaa160c7a1f433d8f0f7213999e7e40543bbc
WHAT:
POST request to get gateway credentials using access grant.
Put request url to config and use it for request.
WHY:
to show gateway credentials on UI
Change-Id: I15ef43ecdeed69b0961d5796aacb47f36d560b1b
WHAT:
enter passphrase step for create access grant flow
WHY:
if user already has access grant, passphrase could be used one more time
Change-Id: I7ceb6ca5b59a1d72510c739e268c73c511bbedef
WHAT:
create passphrase step for access grant flow
WHY:
passphare is needed to generate access grant
Change-Id: I9d0540826744d192b2e00a30fda907cc581a6e00
WHAT:
continue in CLI step which returns regular API key
WHY:
in case user wants to create access grants in CLI
Change-Id: I8a0fa15f07e553628bda3a3e871506295230f0a2
WHAT:
bucket names selection logic for create access grant flow
WHY:
bucket based access grant restriction
Change-Id: I922811ce43afbc0bf0c2c9bcaea755657257f26f
WHAT:
permissions step page for create access grant flow. Regular permissions and buckets dropdown
WHY:
to configure access grant permissions
Change-Id: Ia5571556a7fb83fd9a508e6aabfcdf5b57e9bc96
WHAT:
progress bar for create access grant flow
WHY:
progress bar to show user current step of the flow
Change-Id: Ia3665fee91ac9b3c27eed5d5190e69d7ea5b3e8a