This change allows users to view and interact with their project member
invitations from within the All Projects Dashboard.
References #5855
Change-Id: If5b4af46924530c91f8a5c16bfb5134de313dc90
This change limits the length of user input fields like search, email,
username. It also limits the receivable size of request payloads.
This is to prevent potential DDoS attacks resulting from receiving
large payloads.
Improvements are also made to the accounts page and register success
pages to display long names/emails better.
Issue: https://github.com/storj/storj-private/issues/201
Change-Id: I5d36eb83609b3605335a8d150b275c89deaf3b43
Added new gallery view for object browser.
It is behind new feature flag.
TODO: add options dropdown and modals
Issue:
https://github.com/storj/storj/issues/5824
Change-Id: I21829c599cd904b833eaf429690c66c3da306a0f
This change prevents the redirect to all projects dashboard when no
project is selected (if all projects dash is enabled).
Since a previously selected project id is saved in local storage, it is
used to store it's associated project in memory.
This change also makes a small change to a test that ignores potential
failures.
Issue: https://github.com/storj/storj/issues/5920
Change-Id: Ie758893dfb655893520c642fb47b934cd59f177e
Improve consistency of UI to use the term egress instead of bandwidth
or download
Issue https://github.com/storj/storj/issues/5887
Change-Id: I898ab5d55e5ad8a2d2dd0420c8496d57bc2ecb61
This change slightly modifies the token transactions table to match the
figma and account for bonuses.
Issue: https://github.com/storj/storj/issues/5755
Change-Id: I2bb27d5e331223a1e5e807ace09bbd6c3bc2c3b0
Add a config flag (default false) to hide the new limit cards (e.g.
segment, storage, bandwidth limits) from the UI. We need to investigate
some queries the egress card is using before enabling these everywhere.
Change-Id: I762e7d9e6a0a4315f1520e688b2bad32b100e5a0
Migrated webpack to vite.
Replaced jest with vitest (because I couldn't resolve 'import.meta' issue)
Replaced legacy vue-svg-loader with vite-svg-loader
Replaced bip39 dep with bip39-english (it includes only english wordlist)
Replaced aws-sdk v2 with aws-sdk V3 (because v2 was throwing some weird error in console. Ref: https://stackoverflow.com/questions/75107933/aws-sdk-contributes-to-build-error-uncaught-typeerror-e-is-not-a-constructor)
Renamed VUE_APP_ENDPOINT_URL env variable to VITE_ENDPOINT_URL
Removed a ton of dependencies (like babel and jest-related stuff).
Tested in Chrome, Safari, Brave, Firefox and Opera browsers.
Additionally fixed logout errors from buckets and object browser routes.
TODO: try to remove util and stream-browserify dependencies and see if it works
Change-Id: I4562649a59eb0ba80c1a672d55c59fceb8c80b23
Update to use NewCreateProjectModal to match figma designs and update
CreateProjectPromptModal to handle free tier case and paid tier increase
project limits case
Issue https://github.com/storj/storj/issues/5814
Change-Id: I8c5f818d3867d0484b213d1bfc3ce51e904c0afa
This fixes an issue where the "primary" class will be applied to the
wrong table cell. Also, truncation for long file names is fixed.
Change-Id: I6303f4b7d3a7a064f8dc79fac90b0bc2d5eb5024
This change moves the call to fetch user's frozen status into the
getUser store action. It fixes an issue where the froze status banners
will not show.
Change-Id: I1a1853d5a89502e294848ceb6a8566120ecd4c10
A "Role" column has been added to the project members table to indicate
the roles of the members in the project.
Issue: https://github.com/storj/storj/issues/5743
Change-Id: I991b01e3d2cd792c21bd661feb7a225300d9a86b
* Update defaults for gateway credentials URL and linksharing URL to use
storjsatelliteshare.io instead of storjshare.io
* Add new config for "public linksharing URL" and set it to
link.storjshare.io
* Use "private" linksharing URL for actions within the object browser
* Use "public" linksharing URL for sharing files externally
Resolves https://github.com/storj/storj/issues/5805
Change-Id: I2c8fbd04141755b4751dcf4d054253a7ff8d6cf3
A navigation is prevented to the onboarding if no project is selected.
However, an exception was not made for the pricing plan page and caused
the pricing plan page not to show even under passing conditions. This
change makes that exception for the pricing plan page.
Change-Id: I72ddb942a0059d748a13da0b6038b99b9b5064af
This change fixes an issue where clicking "Billing" on all projects
dashboard won't navigate to the billing page.
This also makes sure an error notification for projectID is not shown
after the user is back on the all projects dashboard from team page.
related: https://github.com/storj/storj/issues/5875
Change-Id: Ie6517c9006d1a780f307f6282f83c749d369adaf
This change fixes an error when all projects dashboard is enabled where
there will be no project selected and an error "projectid not provided"
will be thrown.
It navigates back to the all projects dashoard so the user can select
a project.
Issue: https://github.com/storj/storj/issues/5875
Change-Id: I144c4bbd3782dcdf40b2ed2be445c7f100c36b32
The project options has been modified to account for whether the all
projects dashboard is enabled or not. The "Manage projects" item is
hidden, and an "All projects" item is added if it is enabled.
Issue: https://github.com/storj/storj/issues/5866
Change-Id: Ic2e8337d2e5577d1c27231287ab3284145fa5b9b
The sidebar previously was showing on the onboarding pages when all
projects dashboard is enabled. This change hides it and also hides the
"session timeout" info banner which was also showing on onboarding.
Issue: https://github.com/storj/storj/issues/5874
Change-Id: Ie418a6f286262b59dce41aba98a5c9d0015cb984
Updated cards to show access grants count, buckets count, team size and billing status for current project
Issue:
https://github.com/storj/storj/issues/5865
Change-Id: I7e8d3aa3e05548d593576c3a0633e9eb51f38cff
Added new modal where user can update storage or bandwidth limit (if Pro tier).
Issue:
https://github.com/storj/storj/issues/5827
Change-Id: Ic3ae6b7a73d055b4eac93d4e2faad7bf26cb9d73
Instead of the hardcoded payout rates that is assumed for all satellites,
this change adds a new endpoint for fetching the pricing model for
each satellite.
The pricing model is then displayed on the Info & Estimation table
on the dashboard
Updates https://github.com/storj/storj-private/issues/245
Change-Id: Iac7669e3e6eb690bbaad6e64bbbe42dfd775f078
The current month estimated earnings on the main dashboard
was calculated on the frontend using hardcoded payout rates for
all satellites.
Instead, we could just use the calculate the current month earnings
from the estimated payout info.
Updates https://github.com/storj/storj-private/issues/245
Change-Id: Ie8ec3e4f2b86455c68f664690ef28bb352107bca
This is a temporal fix to buy us some time while we fix the issues.
We may revert later or maybe override with a later commit.
Updates https://github.com/storj/storj-private/issues/245
Change-Id: I27b2b6811d24d5948161553bf889fe45af013925
The project member invite modal has been updated to match the new figma
design.
Issue: https://github.com/storj/storj/issues/5744
Change-Id: I9ed7ad4ede0fb6f7f42f56b2d8386e12a5a5b6c1
This change makes the error thrown when adding an existing member to a
project readable.
Issue: https://github.com/storj/storj/issues/5840
Change-Id: I4269495f9b7b09c77fbf1af1fc605e5c95bd7cbf
We should not display payout rates when "All Satellites" option is
selected since some of the satellites may have different payout
rates.
Updates https://github.com/storj/storj-private/issues/245
Change-Id: I66cadf85aa8b57681ffbeac75c4ad97f8b057676
Fixed Copy and Download buttons.
Fixed wording styling.
Also fixed VButton's hover state if there is an icon.
Issue:
https://github.com/storj/storj/issues/5774
Change-Id: I9fbac12fe433817f4b5fc1d885f50e6f27e7f6a0
This change opens up the "set session timeout" modal for users to set a
custom timeout duration if they haven't already.
It also fixes a few UI/UX issues on the modal including toggling on the
dashboard.
Issue: https://github.com/storj/storj/issues/5770
Change-Id: I0e71e191049b242e638ca36214d6dd33f78ae5fe
Added new banner to inform user that they can update their session timeout now.
Issue:
https://github.com/storj/storj/issues/5772
Change-Id: Icdf2164b80b12954d004537a4f31d30ef6bb12b8
Reworked open bucket modal styling to correspond to create access grant flow
Issue:
https://github.com/storj/storj/issues/5819
Change-Id: I618b50472e45413a63a531ad959d9af69511d464
Reworked styling of manage project passphrase modals to crrespond to create access grant flow.
Issue:
https://github.com/storj/storj/issues/5815
Change-Id: Iab02d2d94239d9e8c7f85a498fb3a3d83ece34e0
Reworked styling of create project passphrase flow to be consistent with create access grant flow.
Issue:
https://github.com/storj/storj/issues/5815
Change-Id: I54db5b3c37a8cf96d939bfcb99cf0896af25c4cc
This change modifies the existing table pagination to match the figma.
Issue: https://github.com/storj/storj/issues/5765
Change-Id: Ic9c57072509705c3cb946b1b6764fd09ba616ceb
This change removes vue filters declared in main.ts and replaces them
with exported functions in utils/strings.ts. This is toward migration
to Vue 3; it has no support for filters.
Issue: https://github.com/storj/storj/issues/5063
Change-Id: I0f0e73f5a4ba3300cd8804b083b18c05e614fa8c
This change updates the session timeout modal to be triggered based on
the user's selected session timeout instead of the default config value
that is if the user has set a custom session timeout duration.
Change-Id: I1d3ace8542efe04c8ef4d729da6b6bec376d5ea4
Separated out frontend config to make it live in an independent unchangable module.
Issue:
https://github.com/storj/storj/issues/5797
Change-Id: I094c44549d586dff6d1ef727fe43091c4aec03b8
Added new modal for already expired session which is triggered after timeout instead of auto-redirecting to login page
Issue:
https://github.com/storj/storj/issues/5771
Change-Id: I8385ddfd9b8988c1d6130b6f0d19f1399a92d8fb
The dashboard area component would set up the session inactivity timers
after it was unmounted, conflicting with those that were started by
dashboards mounted afterward.
This issue caused session refresh requests to be sent more often than
they should have been. Additionally, expiration of the old set of
timers would clear newer ones before they were due to expire.
Change-Id: I86a73f13dab4cd8f979181b29002eb3b3e6e8bac
This change amends invalid references to the first onboarding step.
Previously, the route for the first onboarding step was computed in a
router module using our old way of specifying frontend config values.
When we upgraded to our new config style, the module could no longer be
responsible for computing the route due to the module being independent
of the store holding the config. The route was removed, but some
references to it remained.
Change-Id: I8817174bb4acab44c5ff2624d6edb1bd3e675de2
References to the Team page have been modified to refer to its new
name. Previously, it was called Project Members or Users.
Resolves#5761
Change-Id: I71ababe48847d7573f6abbbdb6b24c621b0abd4f
Start using object browser pinia module instead of old files vuex module.
Also removed vuex related code.
Note: dependency will be removed in a follow-up change
Change-Id: I78cfb62a1ecc32bd86381bd3bfd3be4bd0f38e14
This change ensures that we only trigger a redirect to the onboarding
tour if we're not already there. Previously, we didn't take the current
route into consideration when redirecting. This exposed the risk of an
error occurring that prevented the page from loading.
Change-Id: I70323b21f58229abf463a7c737c262e4253f579a
Add default uploading large file notification when in buckets page.
When dismissed, store in local storage. When user uploads a file that
exceeds 1 GB, show warning notification.
Issue https://github.com/storj/storj/issues/5148
Change-Id: I895a230c017e8439ab2c19ea494930b7e9900a47
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
Fixed bucket search not being cleared on component unmount.
Fixed open bucket issue for project dashboard presented by the conflict with vue-click-outside directive.
Change-Id: I3682c6b131dcdb902369cf74b31c1b270cd15b08
We have to clear vuex app state on session timeout because user's session gets invalidated and user is redirected to login screen.
Issue:
https://github.com/storj/storj/issues/5370
Change-Id: Id654056331c81fac0b46ed90eccea0a044e4e1c9
problem: after clicking on any bucket serch input was prefilled weird by browser and causes table empty state to appear;
solution: added workaround to add readonly status for input and disable it on focus;
Change-Id: I3dd05e709ef3aceb3b8542fe468bdb41b7b6d353
composables folder created (same as react hooks) for functionality reusage;
related test moved to ignored folder;
Change-Id: I494aa27079aa5694bee7b18511eeadd56ced59e9
Implemented UI error tracking.
We use satellite analytics service to track the fact that UI error occurred and send minimal info to Segment (not Hubspot).
We send only the fact that UI error occurred and the place where this error occurred.
Extended notificator plugin error function to include the place where error occurred.
I made the place argument nullable to be always explicitly provided (build fails if place is not provided).
If place is not null then error event is triggered in the background.
Issue:
https://github.com/storj/storj-private/issues/107
Change-Id: I7d129fb29629979f5be6ff5dea37ad19b1a2397e
fixed issue with required props that were not passed to component;
added default props;
related test added to ignored folder till vue 3 version update with vue-cli-service;
Change-Id: Idc95a4c0b9f124797519652004abf53e066605c2
- account types can be selected
- checkboxes can be interacted with
see: https://github.com/storj/storj/issues/5163
Change-Id: Id97c026b79fb2993bba9138e9d4754e7a1371bbc
The query changes we did while fixing the usage graph led to wrong
payout calculations directly linked to disk space.
This change:
- avoids converting from Bh to B directly in the query
- returns the at_rest_total in the original bytes*hour value
- returns at_rest_total_bytes as the calculated disk spaced used in bytes
- uses the at_rest_total_bytes only for the disk space graph
- return summary_bytes as the average disk space used within the specified date
- updates the disk space graph header to "average disk space used this month"
The total disk used in the month is also displayed in B not B*day
Resolves https://github.com/storj/storj/issues/5355
Change-Id: I2cfefb0fe711f9c59de2adb547c4ab50b05c7cbb
This change continues the update of the file browser to use the common table component.
It replaces the use of <tr>s with <table-item>.
It also removes bootstrap from the file browser and fixes resulting UI "bugs"
Issue: https://github.com/storj/storj/issues/5090
Change-Id: Idfe415e9338243ad4fcedc8a74621c9e13e1da29
This change shows STORJ token balance on the billing overview page instead of the Stripe balance it shows currently.
It changes the text on the "Available balance" card to reflect the new balance being displayed. Finally, it adds shortcuts to navigate straight to token history or add tokens modal when call to action on "Balance card"
Issue: https://github.com/storj/storj/issues/5204
Change-Id: Ic88e43c602e4949b6c6be4c7644c04f3c7d38585
This change fixes an issue where the navigation header will not show on iOS (safari and chrome).
This is apparently a known issue where the Webkit viewport height is taller than the visible viewport.
More information here; https://bugs.webkit.org/show_bug.cgi?id=141832 , https://stackoverflow.com/a/56671096
This change applies the fix on all iOS browsers (using Webkit) except for Firefox, in which this fix introduces a strange behaviour
when a virtual keyboard is opened and dismissed, while not solving the issue because it doesn't exist here.
Issue: https://github.com/storj/storj/issues/5153
Change-Id: I19fc8018012bb70a5eda3eb21d44bfeedd08411c
Added manage passphrase modal where user can create new, switch or clear their project level passphrase.
Removed debug buttons from navigation.
Issue:
https://github.com/storj/storj/issues/5325
Change-Id: I53f263a9697f197cee3f68634f5799d45b3eb193
Added create project passphrase modal.
User can select between generated and entered passphrase.
Issue:
https://github.com/storj/storj/issues/5324
Change-Id: I69887562230c7c8002e9bc763ac24c551a0caa1d
This change reduces the token links expiry time from 24h to 30m and improves the UI to promt users of the expiration.
see: https://github.com/storj/storj-private/issues/17
Change-Id: Iac00f5740fa84069937fdf9bd30a739b6db2a9e0
Added server-side encryption banner to new project dashboard (same as on buckets view).
Reduced notAfter AG caveat to 1 hour for deleting bucket.
Added bucket AG caveat for deleting bucket.
Change-Id: I2aba9e5db315123b8d37c24d80789320093db00e
This reverts commit 9022506292.
Reason for revert: Execute permissions are not required for this file. The error "Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope':" was instead caused by a browser cached version of import returning an incorrect response.
Change-Id: Ib5f6bf30dc5a9919bb7d71fb2b04075486c74f89
This change causes rate limiting errors to be returned to the client
as JSON objects rather than plain text to prevent the satellite UI from
encountering issues when trying to parse them.
Resolvesstorj/customer-issues#88
Change-Id: I11abd19068927a22f1c28d18fc99e7dad8461834
Reworked bucket tables to be the same on buckets view and project dashboard.
Improved table adaptation.
User can open/delete bucket from project dashboard.
User can view bucket details from project dashboard.
User can search through buckets from buckets view.
Issues:
https://github.com/storj/storj/issues/5176https://github.com/storj/storj/issues/5174
Change-Id: Ie4599ab62dc7eeba9a3349ab188cde8a198cc0f3
Execute permissions are needed on the wasm_exec.js file but nothing seems to set this by default. Once set, it will keep permissions even after rebuilds, but this change will set the initial permissions if required for any new environments.
Change-Id: Ic6848e561210231e67dd2e17a286abdf885926ed
This change fixes wrong positioning of pop ups (the bucket guide, and bucket item drop down) on Safari.
Change-Id: Ia0abcc1a1450cb21e38a435218fb6c788ce546e2
When attempting to upload a file on Firefox mobile, an error
"item.webkitRelativePath is undefined" prevents the client from
proceeding with the upload after the file is selected. This commit
contains a small check to protect against this issue.
Additionally, in Firefox (desktop, maybe mobile), links in the file
browser to enter subfolders, exit subfolders, or navigate out of folders
via breadcrumbs has default behavior of navigating the user to an empty
page that only displays "null". This changes adds `@click.prevent` in
some key locations to prevent this undesired behavior.
Change-Id: I83ee6fcc5a7d0ce9996dacc3f966e38a4936a9fe
This change resolves an issue where text inside the Billing page's
Storj Token card would appear over the project dropdown menu.
The issue was caused by using z-indexing to prevent an absolutely
positioned cosmetic element from displaying over its non-positioned
siblings. An alternate solution is presented in this change:
specifying a position for the non-cosmetic elements allows them to
display properly over preceding positioned elements without the usage
of z-indexing.
Resolves#5219
Change-Id: Icebbda33dcef9418020b025fe8ab3f461cd56533