This change gives the proper type to TS class fields generated from
nillable Go struct fields. Previously, Go struct fields having a nil
representation ([]Type, *Type, etc.) were translated into TypeScript as
"Type | undefined". This isn't correct because these fields, when nil,
are given the value "null" when marshalled into JSON. This change fixes
this issue by giving these fields the type "Type | null".
Change-Id: I5a1a83eb3810a3cba10895bb2f0f75ca5fd7d1b5
This change fixes an issue that caused the Papa Parse worker plugin to
break during Vite's watch mode.
Change-Id: I84d03d38e2d0d6fe4b7536706638640d3ed259a6
Show buckets limit card on project dashboard instead of coupon card if user is in paid tier or is not the owner of currently selected project.
Issue:
https://github.com/storj/storj/issues/6492
Change-Id: I033bbcced1b0fb77436607847cd9f10830330009
Not partnered users were redirected to onboarding pricing plan step and back to all projects dashboard in case when they have not finished onboarding. That caused tons of redundant API requests to be done.
Change-Id: I454a8cc29730943b84a351416b78c4281c47f6ca
This change fixes an incorrect invocation of the URL object constructor
in generated TypeScript HTTP clients.
Change-Id: I9011bc535f2096374d20b74b401d4cc38a0451fb
Papa Parse, the library we use to parse CSV files in the satellite UI,
uses a blob URL for its worker. This isn't allowed by our content
security policy, so this change implements a Vite plugin that writes
the worker code to a file that is statically served.
Change-Id: I0ce58c37b86953a71b7433b789b72fbd8ede313d
Added low token balance banner to vuetify app with the same logic as in main app.
Issue:
https://github.com/storj/storj/issues/6460
Change-Id: Ifa9af8e2179ec3a6601b5053575990b86cc8f0b5
This change fixes an issue where the storj token cards will extend
their height to match their parent, causing them to get taller when the
add card form is showing.
Change-Id: I22219c8e537bda6555c8c3bf813f9649b664639a
This change adds a config flag for whether the stripe payment element
should be used to collect card info.
Change-Id: I301cf69e6f1b64350266e8f2286542b951e216c4
This change replaces with "Storj" all instances of "Storj DCS" or
"Storj OSP".
Issues: storj/storj-private#479
#5069 and #5839
Change-Id: I78d13f2abd8bde5d2cb42d8006016ee87130a566
Fixed the condition when low token balance is shown.
The bug was related to account balance being returned in dollars instead of cents and this was not handled by 'sum' method.
Change-Id: I35f642302d877c9b1ed9f6f1d03d6091f2942a0b
This change adds a feature flag (default disabled) to enable the ability
to submit a project limit increase request directly from the UI. When
this feature is disabled, the user will be directed to a page to file a
support ticket.
Resolves https://github.com/storj/storj/issues/6480
Change-Id: I5f355dcb1a40e5b694f9623f05fe706ed4d6a528
Added notification banners on project dashboard when user is close to or reached some particular project limit.
Implementation is similar to main app notifications.
Issue:
https://github.com/storj/storj/issues/6459
Change-Id: Ifaf14facabd0b57f45431c874cfd6fcc1e991282
I introduced some subtle linter issues when I added the APIError class
and added the TypeScript mock generator.
This commit addresses them, so the linter doesn't yell about the
TypeScript generated sources.
Change-Id: Icc7dfa4169a228b1a5144d4a292f4350ee5ef9f0
Reworked usage report endpoint to return CSV for a single OR all the project user owns.
Added buttons to download usage report CSV for a single project.
Issue:
https://github.com/storj/storj/issues/6154
Change-Id: I55104088180dcf6be49dcde6c9c495f07ba01c5a
Vuetify's way of applying themes uses an inline stylesheet. This is
incompatible with our CSP policy, so this change implements a Vite
plugin that writes theme styles to CSS files that are statically
served.
Change-Id: I73e3a032435e46d41248c5181e913a8e04f65881
This change adds an optional card view to the file browser similar to
the all projects card view.
Issue: #6427
Change-Id: I115dea7fdc2e7d0e093a00eb88e46d453c516cd9
This change fixes an issue where clicking a file in the Vuetify UI's
object browser would open an empty file preview dialog.
Change-Id: I5e21cf2e8c57911ac2708110f6ad23f376f86a54
This change uses the recommended stripe payment element to collect card
information instead of the legacy card element currently in use.
Issue: #6436
Change-Id: If931d47430940e0932c845b6eee3e0e23c294fbb
This change fixes an issue where clicking on a file from the upload
snackbar would not preview it.
Issue: #6433
Change-Id: I30b0b6098e058d1069b87f99425fac5d6e421fea
create modal to allow pro users to request project limit increase when
trying to create a project if they have reached the project limit.
github issue: https://github.com/storj/storj/issues/6298
Change-Id: I1799028e742c55197fa5d944c242053cf4dc3a2c
This change fixes the alignment of the Storj logo on the registration
page on Safari.
Issue: #6429
Change-Id: I70a5c28a939c6a8975eb23ea1f409643b6da334a
Removed AllProjectDashboard feature flag.
Removed unused Vue components.
Fixed wrong redirect on reload if pricing packages are disabled.
Fixed wrong redirect on reload if billing features are enabled.
Issue:
https://github.com/storj/storj/issues/6434
Change-Id: I9081a6f737c45fb48da5b23c016a42e23021c4ce
Create a class that inherits the Javascript Error class to use it when
throwing errors on the TypeScript client when the ok property of the
Fetch API Response object is false, which means that the server
responded with a status code less than 200 or greater than 299.
The APIError class contains apart of the message, the response status
code which may be useful for the caller to decide what to do, for
example, it may decide to retry the call on certain response status
errors.
Change-Id: Ic48466b40cbf134a27d5c92a4af9f93232e84fca
Added mappings for left/right arrow keys and escape in gallery view.
Issue:
https://github.com/storj/storj/issues/6424
Change-Id: I995060dcee6a3c4b3f05f28415c81f83f6fe89c3
This change ensures that the user is never prompted to upgrade when
attempting to invite project members if billing features are configured
to be disabled.
Change-Id: I1c49351b00c0e378da24ad080fd1d3b078c97c71
This change adds a flag to the satellite config indicating whether
free tier users should be able to send project invitations.
Change-Id: I9c030c88dbef136ba4a9bf2d8f027a8dcd77fd33
This change adds a loading bar in the Vuetify UI's app bar that is
active whenever a page is being loaded.
Resolves#6412
Change-Id: I0a4e148d843c7a3bace63410e8802fde3c7e92eb
Included hash in wasm file.
Added a manifest file that contains the wasm file name for worker access.
Reworked worker setup to query the manifest file without caching, ensuring the correct wasm file name is always retrieved.
The worker will first attempt to retrieve the cached wasm file, but will refetch it with a cache reload if an error occurs.
Change-Id: Ic4ef68e502b318a29243bf275c041863ec1275ee
This change improves keyboard navigation for the Vuetify UI's
navigation sidebars. Navigation items can now be focused with the tab
key and selected with the enter or space key.
Resolves#6411
Change-Id: I6416efbee74209e089abbccd0e1a7f1c0f4b80cb
Added client side logic to disable billing features depending on config value.
Disabled billing endpoints if billing is disabled.
Issue:
https://github.com/storj/storj-private/issues/464
Change-Id: I6e70dc5e2372953b613ddab9f19cb94f008935ce
This change fixes an issue where the TypeScript API code generator
would silently fail to generate class definitions for named structs
used as the element type of array or slice struct fields.
This issue caused invalid TypeScript code to be generated from the
frontend config struct because it contained a slice of partnered
satellite structs. The TypeScript class definition of the frontend
config referenced the nonexistent partnered satellite class.
The satellite frontend config uses, so this issue caused the
Change-Id: Idfcb6ec1bbc603a43033ee4afb5b421b7454855c