Fix for an issue:
uploading folder triggers object preview modal to show up if there is already and only 1 uploaded object in this bucket.
By this fix we check if uploading object has prefix (basically folder) so we don't trigger object preview automatically.
Change-Id: I32943ef81c19d4ba1960ecb2f15126dfb381d845
This change modifies the password strength component to reference the
frontend config when displaying the minimum and maximum password
lengths. Previously, these values were written directly in the Vue
file.
Resolvesstorj/customer-issues#691
Change-Id: I75fd3b7acd4536d2adae25525c61df3127d9c0a1
Previously, we evaluated index.html as a template in order to insert
frontend config values into meta tags. Now that the frontend fetches
its config through the satellite API, this is no longer necessary.
Resolves#5494
Change-Id: Ic98507c5e16cd80317bd9c31d4b55abda0dd7e34
All values derived from meta tag config values have been removed.
They were unused because references to them were modified to instead
refer to the frontend config fetched through the satellite API.
References #5494
Change-Id: Iab6c5e18eac85e2f757e9e731e23239fa267ee0a
References to the meta tag config values in Vuex store modules and
Pinia stores have been modified to instead refer to the frontend config
fetched through the satellite API.
References #5494
Change-Id: I2d16d8fa8f3159c45f00f506825b0c2119e475ff
References to the meta tag config values in Vue components have been
modified to instead refer to the frontend config fetched through the
satellite API.
References #5494
Change-Id: I00ecf81d4a0ba6bd07c827cecb2c689d923d67c0
A common error page component that reflects our new designs has been
added, replacing our old 404 and 50X Vue pages.
Change-Id: Ifc9071674eeda03c5d961c26dce9ff0c80b95c6e
The webpack loader we use for SVGs uses an optimizer that strips the
viewBox attribute by default in order to reduce the byte count.
However, this prevents us from scaling SVGs using CSS. Because of this,
viewBox removal has been disabled.
Change-Id: I443eb83c762d3e0c84bb0fb6705e8f089d8a9405
Use new pinia module instead of old vuex module.
Removed 'do you want to leave object browser with ongoing uploads?' feature for now because it doesn't make sense with project level passphrase
Change-Id: I2249ee9a497d3fa7c59b583849e70366491c3eeb
No component has referenced this page since 9dab10e and we do not
anticipate this changing, so this page can be safely removed.
Resolves#5768
Change-Id: I57acb5e4d0977d74df46aaf67606a19ec0f10bcf
Update notification and banners to be aligned with inner dashboard
content
Issue https://github.com/storj/storj/issues/5636
Change-Id: I0e9fe73835e691bfa9aae05c1cfb08a5b9ab68e3
Combined buckets and objects pinia modules since they are responsible for the same thing.
Rename files module to object browser module to make it more clear.
Change-Id: Id55ec2ab7dbffaec95e5724340068891752a9576
Clarify that bandwidth cost/limits relate specifically to egress
bandwidth (ingress bandwidth is free and does not affect bw limit).
Change-Id: I95a8a07ac3607ff41417d894067800f81246b7a2
This change adds checkboxes to file items in the browser so they can be
selected that way instead of the previous click behaviour, which now
opens the object modal for files and open folder for folders. This
change also features some styling fixes for the browser.
Issue: https://github.com/storj/storj/issues/5726
Change-Id: I5b38208a8e8673d8212c749586bdb7e169c086f8
This change adds a new setting on the account settings page to change
session timeout duration. The old settings page is replaced with a new
one used on the all projects dashboard page. Also, onboarding API
endpoints and store action have been changed to be generic to include
session timeout setting.
Issue: https://github.com/storj/storj/issues/5560
Change-Id: I9026e61c6f86e4be5f9357e5d20e280eab2c29ea
The satellite UI now shows a loading screen instead of the Vue router
view when fetching the frontend config. This prevents components that
rely on the config from being prematurely rendered.
References #5494
Change-Id: Ifeb06288a6895f98a7cab8f321cd68078c73c696
This change fixes an issue where clicking on the name of a project will
perform no action. And another where clicking "Invoice Pdf" on billing
history table will download twice.
Issue: https://github.com/storj/storj/issues/5698
Change-Id: I1a05b994d4855da5be309b1b6d4eb4c70f6f946b
This change makes the upperbound of the project limit slider the max
between the current project limit and the default limit for paid tier.
Issue: https://github.com/storj/storj/issues/5553
Change-Id: I6ca31ec86810ee3577370ab5cd042fce8daf1b90
add ability to sort api keys on the access management page by ascending
or descending name or creation date. Additionally, edit api keys query
when ordering by name to order by lower(name) so names starting with
capital letters are not treated differently from lower case when
ordering.
Change-Id: I81dbb87587a24fb7097313f76bad116b1f20d306
We use defineComponent syntax because images are not loaded with regular <script setup> syntax and dynamic template source.
Change-Id: If0993c57772277e767db2b0705100215e17a4625
Components related to project usage costs have been updated to show
different estimations for each partner, and the satellite has been
updated to send the client the information it needs to do this.
Previously, project costs in the satellite frontend were estimated
using only the price model corresponding to the partner that the user
registered with. This caused users who had a project containing
differently-attributed buckets to see an incorrect price estimation.
Resolvesstorj/storj-private#186
Change-Id: I2531643bc49f24fcb2e5f87e528b552285b6ff20
This is a fix for locked objects count to not update after some action (upload, delete etc.)
Although the issue is still there if user deletes file, navigates outside object browser and navigates back to the same bucket.
In this case we would refetch objects count both from satellite API and our gateway.
So bucket tally wouldn't be triggered that fast and object browser would still show locked objects.
Anyway it's better than it is now.
Also reworked weird object browser initialization which triggered some routing error so this event would be displayed in hubspot as a UI error
Change-Id: I545ab925b135fe3ef2740d17aaece6d43b731c96
* There was one bug where all projects dashboard was enabled, and the
actual path was not being passed to the router
* There was another bug where all projects dashboard was disabled, and
the user was directed to the projects dashboard rather than the next
step of the onboarding flow, meaning that upon refresh, the user would
be prompted for package selection again
Change-Id: I388f04c3af9d03b84b4dd3af6de29e6b82b10531
This flag was previously implemented, but when we reworked the billing
UI, we forgot to re-implement it with the new screens.
This change fixes that.
Change-Id: Ifad2b82f1080928b72d7e572796fcf4287e5ed3f
This change uses the onboarding user settings for whether to show
onboarding (pricing plan) or not.
This change also fixes an issue where a new user is prompted for
passphrase once from onboarding and a second time on the dashboard.
Issue: https://github.com/storj/storj/issues/5661https://github.com/storj/storj/issues/5675
Change-Id: I8e92c732260116de830cfbbbe0545f7e7c8997b0
This change updates the satellite frontend to retrieve its
configuration from the satellite.
References #5494
Change-Id: I1eb961f8a32f7d88173006117d41eddb57624692
There is a bug when switching passphrase outside object browser.
We don't generate edge credentials when switching passphrase so navigating to object browser shows old objects (for old passphrase).
By this fix we clear edge credentials every time user switches passphrase.
Change-Id: Ia09d559f90ae7f02ae5c778844beb7ec268356e7
The account upgrade modal has been updated to display prices according
to the the user's price model. Previously, the modal displayed only the
default prices which were incorrect for users with price overrides.
Resolvesstorj/storj-private#187
Change-Id: I58206cc8ea7e7742a37f759a84dbb24ca40dd8eb
When a user logs in, we check if they have zero projects at the
dashboard. If so, the default project is created and they are sent to
the onboarding flow. However, this allows a user to skip onboarding if
they close out and log back in, since the dashboard is loaded first.
This change moves the default project creation to the beginning of the
overview step of onboarding to make sure any important preliminary
onboarding steps are not skippable.
Change-Id: I4fd1efc6ccd26b972fe57425efe268f8ba135c26
Using eventbus was a terrible approach because if session would expire in less than 3 mins then we would do an explicit API request to reset session for each upload progress ping.
With this change we simply check if there is at least one ongoing upload and refresh session with one single API request and we don't show inactivity modal.
This is a possible fix for this issue (at least I can't reproduce it):
https://github.com/storj/storj/issues/5618
How to test:
setup storj-up with InactivityTimerDuration config value set to 120 seconds.
go to object browser and start upload of some heavy file, for example 1GB.
check if inactivity timer would be shown in 2 mins, additionaly you may check DevTools network tab.
in my case upload is successfully done in about 3-4 mins without any problems.
Change-Id: I09142a7affac08db1d02992ca2d2f40c6267324f
Do not reset showing server side encryption banner for buckets page on relogin.
Issue:
https://github.com/storj/storj/issues/5555
Change-Id: I30d9d8e8370aa1fd1f60069720ecd07d8450c8ee
Upgraded chart.js dependency to V4.
Removed vue-chart and types/chart.js dependencies.
Refactored VChart component to rely only on chart.js dep without any additional wrappers.
Refactored VChart component to use SFC composition API.
Change-Id: Ic5e0131bff413f3205d4449db930644d113fe36d
The Coupons area of the Billing page has been updated to match our
designs.
Resolvesstorj/storj-private#172
Change-Id: I0f3d7f3818f47a1bbc6a2dba930ab429f83f92c2
A package has been written to generate a TypeScript file containing
classes corresponding to the frontend config. These classes will be
used across the frontend once we no longer reference meta tag values
for configuration.
References #5494
Change-Id: If425035892773167ac6d9fbfae8140cab79fbb70
The code responsible for generating TypeScript classes has been
separated from the rest of the TypeScript generation code so that other
packages may take advantage of this functionality.
References #5494
Change-Id: I97eabd430bd6a5f748eafaf8b1d783977e75e660
This changes the icon, and text of the "Details" dropdown item to
"Preview". It also fixes text alignment in the dropdown menu.
Issue: https://github.com/storj/storj/issues/5643
Change-Id: Ib7ab3bc6fd98b9319ec3c3af5644aee6d1942335
This change adds a card to the billing overview page, which shows the
user's token balance from coinpayments.
Issue: https://github.com/storj/storj-private/issues/151
Change-Id: I11e295b48791b32b745cb7a11c5b4aad6b56618e
The styling of pricing plan components has been updated to match our
designs.
References storj/storj-private#172
Change-Id: I61a2536267c41292abd9e4860b5bd45fafb61408
This change implements a new account settings page for the all projects
dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Id777cd5c1efe3fa4b40234771ae2a99cc5cb9dd3
This change implements onboarding for the all projects dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: If8a48c21e6df264c84d362d17bf01d770d9ca768
Added truncating for long names in access grant and project member tables.
Added title to all table items so that full value is displayed on hover.
Issue:
https://github.com/storj/storj/issues/5130
Change-Id: I7f81d88c8ff4db606bdfeb15406ba3ee3fcec968
We should return public project id instead of regular one when quering project charges so that it is consistent on a client side.
This is a fix for an issue with displaying project name on a Billing screen.
Issue:
https://github.com/storj/storj/issues/5641
Change-Id: Ic0c544dbe7369aa88f3a7c97a2f5de5bc854e1fd
We decided to remove sanitizing dependency and restrict v-html with 2 exceptions for web/satellite (we control the content in those cases)
Issue:
https://github.com/storj/storj-private/issues/148
Change-Id: Ic6b2e894d20e7f0553f759ede51845a10831e890
Divide single error event into 2 separate events.
Those are list objects event and change route event.
Issue:
https://github.com/storj/storj-private/issues/164
Change-Id: I3efe0f2d14fceb5841b6d0ff6db685540351281a
Disable buckets checkbox if all buckets option is selected for new access grant flow.
This would disallow unchecking all buckets checkbox if none of the specific buckets is selected.
Change-Id: I81a9f03d49d2cde862fd0afbc2fde0abeb0b31ce
The pricing plan selection step of the onboarding tour is skipped if
there are no pricing packages configured for a user's partner.
Change-Id: I14bacbfaa10acf4cb97db04724749111a73e3928
This change uses the corresponding icons for different types of files
in the file browser.
Issue: https://github.com/storj/storj/issues/5477
Change-Id: I8b10ac4ece03563a465c7823a1e7482244a324b9
This change adds a tag to the project dashboard indicating if the user
is the owner of the project.
It also adds the project limit notification to the all projects dashboard
Issue: https://github.com/storj/storj/issues/5485
Change-Id: Ie2f446966459c160408fb5614ac1701179092cd5
The content alignment of project items that have descriptions and those
that don't differ. This change fixes that. It also adds some text style
changes.
Change-Id: Ic7bb348bdafee463a00faec7faa7af2d814416f8
Right now there is a problem that we list objects inside object browser using Delimiter param which helps us to define if bucket includes folders.
If we set Delimiter to '/' then in response we get a list of plain objects called Contents and another list called CommonPrefixes which includes 'folder' keys.
So this approach makes it impossible to know the exact object count because we don't know a number of objects behind folder keys.
So to correctly calculate objects count we have to make another list request without Delimeter param.
By doing this we get a single Contents list which includes plain objects and objects containing folder Prefix.
Example of Contents response without Delimiter param:
['object', 'object1', 'folder/object2', 'folder1/object3']
Change-Id: Id23f26bed369d2063bdbae96e7d915168c6c9bdd
A pricing plan selection step for users with a recognized partner has
been added to the beginning of the onboarding tour. Once visited, users
have the option of purchasing the pricing plan associated with their
partner or proceeding as a paid or free tier user.
Resolves storj-private#118
Resolves storj-private#126
Change-Id: I3b423194d96deaf87cf9807a766bf4d04fbcf86d
Added extra step for new access grant flow where user can confirm all selected caveats (except passphrase).
Change-Id: I9ac603d588016f30a95d4b578b3752e256a496da
The project limit banner allows free tier users to upgrade, and paid
tier users to request limit increase when project limit is reached.
Issue: https://github.com/storj/storj/issues/5483
Change-Id: I44cca07bee99618adbc1c25b8e559e42a51a3b01
Refactored project level passphrase flow to work correctly with new access grant flow.
Now we don't generate edge credentials when project passphrase is set.
We set them only when they are needed (bucket is being opened or created).
Replaced edge credentials generation to vuex objects module to be single source of truth.
Change-Id: I2a11194fff5a63f7970f6df60db16ad6a1ac7c60
This change does the initial implementation of the all projects
dashboard. It is accessible on satelliteUrl/all-projects.
This change does not implement onboarding step for new accounts.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Ideadbe91e7ce523f77bde0dee53a7d35ba9f16e0
This change just adds the components/changes needed by the all projects
dashboard.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: Ie7926f563dd3eb47a56b234cfd004f5b69be00a8
This change prevents overlapping of registration success page content
when displayed on short screens. It also prevents the content from
exceeding the page width when it shouldn't.
Change-Id: I7d23da7ade5c023cd96ee9e997196e599a1bc059
Added s3 credentials generated step for new access grant flow.
We show access key secret key and endpoint.
They can be copied or downloaded to .txt file.
Change-Id: I647fb0a86453134702812e8ea9425b8417382a65
Added rule to restrict trailing white spaces.
Added rule to always use '===' instead of '=='.
Added rule to have correct spacing around commas.
Added rule to have spaces around '=>'.
Added rule to not have spaces in parentheses.
Added rule to have space before blocks '{}'.
Change-Id: Ibdbd204d591f0356e0745d89672e0e0579b59ce1
Added CLI access created step for new access grant flow.
We show satellite address and restricted key there.
They can be copied to clipboard or downloaded.
Change-Id: Ic1942abfa575017fbb57abb9f09e8de66039bb8d
Added access created step to new access grant flow.
Also added some really tiny fixes for current project passphrase flow.
Change-Id: I94eb25b53cf7cc0c6ea7b9c13762ca76736ea7ac
Added middleware info step in case if 'S3' access type is selected.
It's possible to toggle checkbox to not show it again in current browser,
Change-Id: I78b297b373f14715dc67b247baa8e684bea3a265
This change makes sure that inactivity modal appears on top of everything else including other modals.
If it is the last element of main dashboard wrapper then it will be the last element in DOM tree which makes it appear on top of everything.
Issue:
https://github.com/storj/storj/issues/5549
Change-Id: Ibb0c6e2036c0be09aae17118f672dbed4ffc5b62
Added passphrase generated screen.
Passphrase is a 12-word mnemonic in this case and it is generated with bip39 lib.
It can be copied to clipboard or downloaded as a .txt file.
Change-Id: I031f6c0e92f4f783c07a2d8d35c0433c1d9a81ff
Added generic enter passphrase component for new access grant flow to fulfill 2 cases where user enters project level passphrase and a new passphrase.
Change-Id: I10e89d0e32690b0423462ad76c20dafdb6ff096c
Added third step of new access grant flow where user selects further passphrase option from this list:
- use existing passphrase
- set my project passphrase
- generate new passphrase
- enter new passphrase
Note: In case of 'use existing passphrase' option access grant will be generated and user will be redirected to success screen (not implemented yet).
Change-Id: Idc238bb469f3e7a87a6523783cee4963bfe0445d
Fixed unlock feature inside object browser.
Bug: Clicking unlock button doesn't do anything but it should open switch passphrase modal.
Change-Id: Ie7fa0f842a393c4d887f4dac63fb59edf16229ea
Add notifications for free account limits for segment usage
and update to follow the figma designs.
Issue: https://github.com/storj/storj/issues/5482
Change-Id: I8a2fe38d609d53e09bf5074484cedc343223bffd
Adds a feature flag for the new all projects dashboard. It defaults to false.
Issue: https://github.com/storj/storj/issues/5514
Change-Id: I160904eccae7d30e05b734e69600725702b16aca
This change refactors appstate, removing the big list of booleans
Previously used to toggle modals and dropdowns, replacing them with enums.
Issue: https://github.com/storj/storj/issues/5244
Change-Id: I4cffb7ab3ad7712f7ff79dd7486df938ca63830e
Upon opening bucket we try to decrypt objects with provided passphrase.
If overall object count is higher than decrypted objects count then we show a passphrase warning.
Also updated banner inside object browser if there are unencrypted objects.
Added 'Object locked' line item which toggles switch passphrase modal on click.
Issue:
https://github.com/storj/storj/issues/5513
Change-Id: I00fce23cee04d4e2f09cc4612f733318a9f270fc
This change adds support for project public id to the bucket-names and
usage-report endpoints.
Issue: https://github.com/storj/storj/issues/5578
Change-Id: I2429ebebe52dfc8217fc40f4691e7bc473b805fb
The banners on the web satellite previously hovered over the page
and overlapped other content as a result. This change moves them
into the page content so it overlaps nothing and is scrollable off-screen
This change also makes the upgrade banner only show on the dashboard and
only if the user joined more than seven days ago.
Issue: https://github.com/storj/storj/issues/5525
Change-Id: I7278c31201f09d3515d907b833622b04c6de8557
This updates project related graphql mutations and queries to support
project publicId while maintaining support for project ID. The frontend
is updated to use only publicId when using these mutations/queries.
Issues:
https://github.com/storj/storj/issues/5409https://github.com/storj/storj/issues/5413
Change-Id: Ib6241db157de3b37c86a4a98c9f682bf4a047b62
This change fixes an issue where the "My Account" menu on the side nav
will not be visible on certain tablets.
Issue: https://github.com/storj/storj/issues/5445
Change-Id: I15d90851bc39fd1ab37e7e127c48d3de6c7e811e
Users with a partner package plan should be unable to replace their
plan's coupon. This change enforces this behavior by rejecting coupon
application attempts from users that meet this criteria.
Change-Id: I6383d19f2c7fbd9e1a2826473b2f867ea8a8ea3e
This change fixes an issue where the tooltip on the create access grant
modal will not dismiss even after hovering/clicking outside of it.
Issue: https://github.com/storj/storj/issues/5502
Change-Id: Ib6c042f3b18566bfeb4b05cb50acfa5e5ca1fbb9
Every case for the check/uncheck logic was not covered to actually
update the permissions list that gets sent to the worker to create the
access. This commit fixes these cases.
Solves https://github.com/storj/storj/issues/5512
Change-Id: I15f30f9f989039df110930b5a6e8914f5bf9d91e
Emails should not contain user input that could be used by malicious
agents to deliver a message. Usernames have been removed from
account activation emails, and project names have been removed from
project invitation emails.
References storj-private#133
Change-Id: Ic05921149b409145df109c0966ea5dfd86d86eb1
Show modal to enter project passphrase when switching between projects or creating new one.
Also fixed a bug when create project passphrase modal is shown twice after onboarding 'continue in web' click.
Change-Id: Iab64cf9f457b9739314610612608a5d8070810e3
Allow user to create bucket without a passphrase if project level passphrase was not set.
Issue:
https://github.com/storj/storj/issues/5521
Change-Id: Ifc4a6724229ce0708db720edb2f8953098e346ed
File paths may contain characters that have special meaning when placed
in URLs. For example, a folder name may contain a pound symbol (#)
which is the URL fragment delimiter. This causes the characters that
succeed this symbol to not be considered part of the primary resource
identifier as they should be, resulting in navigation errors.
This change resolves this issue.
Resolves#5522
Change-Id: I59972321795375ec5981c3e9c505e35f998022d6
Affected packages admin,attribution,console,metainfo,satellitedb,web,payments
This change removes the satellite/rewards package and its related usages.
It removes references to APIKeyInfo/PartnerID, Project/PartnerID
and User/PartnerID.
Issue: https://github.com/storj/storj/issues/5432
Change-Id: Ieaa352ee848db45e94f85556febdbcf1444d8c3e
Show create/enter passphrase modal after login for new project level passphrase flow.
Also fixed buckets view mounted hook to load create bucket modal instead of old flow.
Issue:
https://github.com/storj/storj/issues/5510
Change-Id: If9ea70faaa2987f336d72d55a6ed2bbd02ced592
Fixed notifications link to toggle manage passphrase modal instead of redirecting to buckets screen.
Issue:
https://github.com/storj/storj/issues/5452
Change-Id: I84ce67da7445c6316eb0658606c0129bb4af680e
When there is no wallet in the database for a particular customer
return 404 http response status code instread of internal server error.
Change web/satellite payments API to return empty wallet on 404 response
code instead of throwing an error.
Change-Id: Ib44914f9ed002382258968fb81846f2b97dee0fe
Fixed Vuex state clearing on session timeout.
Now state is being cleared right after redirect to login and before logout API call.
Change-Id: I3cddb85735899f0913a273a49335730a4097435e
This replaces "Cancel" with "Back" on Clear, Create and Switch steps.
It also removes margin-top from the button rows in Clear, Create steps.
Issue: https://github.com/storj/storj/issues/5463
Change-Id: Ib2ef0dba9b91e82a7cf5b042fad0162128fa071a
This change allows users who register with a partner that has
different project usage prices to see the correct prices in the
satellite UI.
Resolvesstorj/storj-private#90
Change-Id: I06bde50db474b25396671a27e282ef5637efe85b
Clicking continue in web toggles create project level passphrase which then redirects to project dashboard.
Added new create bucket modal.
Updated open bucket modal.
Updated project dashboard and buckets view to work correctly with no buckets state and no passphrase state.
Issue:
https://github.com/storj/storj/issues/5455
Change-Id: If6ddac7d3365854a02b2bb8898e4742e9d2c31c1
Update the delete API key by name and projectID to support project-ID
and project-publicID.
Issue: https://github.com/storj/storj/issues/5410
Change-Id: I3bd11b9c3ae1ad6ce662dfc18b42779d2e4edf9b
Slightly modified the warning message on the "Add STORJ Tokens" modal;
And added a warning for zkSync.
Issue: https://github.com/storj/storj/issues/5418
Change-Id: I206e7b493c3fe04c69a3815a5f03bd6a07cfceae
added api call, user isFrozen status;
new banner added;
DashboardArea migrated to use composition api;
Change-Id: Ia3fe68c2239064b2b729c6de14d7fc1dc8f4cf3b
Implemented interception for http requests.
We redirect user to login page on every 401 response.
Issue:
https://github.com/storj/storj/issues/5339
Change-Id: Icba4fc0031cb2b4e682a1be078cdcf95b7fa6bfe