This change introduces a new freeze event, ViolationFreeze, for ToS
violations and also prepends other events with Billing to clarify what
they signify.
Issue: https://github.com/storj/storj-private/issues/386
Change-Id: Ieef2abbbb03d06377dc7a73ba5ef0742ada75e8e
This change shortens the project ID path segment in Vuetify URLs in
order to make the URLs more aesthetically pleasing and allow users to
see more of the URL in the address bar. The ID path segment is now 11
characters long instead of the previous 36, but in rare cases where a
user is a member of multiple projects with the same ID prefix, it
expands to preserve uniqueness.
Resolves#6308
Change-Id: I25a51d05b72d2cc701c0aa2cd3a6d070080c4b1e
This change patches an issue where a user who has not claimed a wallet
would see the error "Can not list token payment history" on the all
projects dashboard.
Issue: https://github.com/storj/storj/issues/6358
Change-Id: I0783fae2c4441be4495b9c8bd82cf6dbe6eea557
The yarn.lock file came from the former repository where the back office
UI was developed.
It seems that our build process complains about some dirty state related
to this file. Because we don't use Yarn, we delete the file, hoping to
resolve the build issues.
Change-Id: I5febd8292657289d0fc67e08151c6c8b5ac8b5dc
This change introduces a new user status, PendingDeletion to be used to
mark users before they're actually deleted. It also skips users with
this status or Deleted status when generating invoices.
Issue: https://github.com/storj/storj/issues/6302
Change-Id: I6a80d0ed1fe4f223ae00e0961f18f2f62f9b5213
This change removes the project name and inviter name from the
registration page's invitation text in order to prevent phishing
attempts using these values from succeeding.
Resolves storj-private#431
Change-Id: I08636d712b6b273d484cf0594d395c9d7c02ebfa
This change ensures that files generated by building the Vuetify
project are copied to the satellite container.
References #6251
Change-Id: If56fe754d51f1487a3b3c2cf98c40e3010539121
This change adds the ability to upgrade using a custom pricing plan.
Issue: https://github.com/storj/storj/issues/6288
Change-Id: I866de25e47cb315d107201b1ccaca2cbdad6cf3c
This fixes an inconsistency with error returned on copy and move
endpoints to match other endpoints. validateAuth() is already
wrapping the RPC status around the error, so this shouldn't be
doing it again.
This also ensures that rate limit errors for FinishCopyObject and
FinishMoveObject are correctly returned as rpcstatus.ResourceExhausted
so uplink can correctly map these to uplink.ErrTooManyRequests.
Change-Id: I6bf6185b456d6774b99d56cf3d7d8f8aa2afa0e8
This change adds the name of the current route and the name of the
currently-selected project to the webpage title.
Resolves#6331
Change-Id: Ia42f6a5f9411e92a8217b21757ff7581bac2c3be
The satellite admin API endpoint responsible for returning project
limits now includes the burst limit in its responses.
Resolves#6276
Change-Id: Ibb3f1fdebf2f9ffd62de2d7e7a60d978c25bb22a
This change updates the wording of the notification that appears after
successfully submitting a project limit increase request. The
notification now indicates how long it will take for the new limit to
be applied.
Resolves#6291
Change-Id: Ia034e5576a3a04246e38a0583b1febb832794afc
This change adds the option to upgrade using credit card or tokens.
Issue: https://github.com/storj/storj/issues/6288
Change-Id: Ic0141c49ec4cf6311d381c4941cfa95371d62e94
This change adds the option step to choose between adding a card or
adding Storj tokens.
Issue: https://github.com/storj/storj/issues/6288
Change-Id: If3324912c02b84f47e49eb06e04f54ba1fbf0ca4
This patch finishes the placement aware repair.
We already introduced the parameters to select only the jobs for specific placements, the remaining part is just to configure the exclude/include rules. + a full e2e unit test.
Change-Id: I223ba84e8ab7481a53e5a444596c7a5ae51573c5
Fix pagination for the folders which are not on the first page.
Also, fixed object count calculation inside folders.
Issue:
https://github.com/storj/customer-issues/issues/1055
Change-Id: I1d0fbb8856f13be6fb20698315a7e4d20b4affd9
This method is sometimes ends with transaction error. Most probably
because it's trying to do full table scan on nodes table which is
heavily used. Adding AOST should help with DB contention.
Change-Id: Ibd4358d28dc26922b60c6b30862f20e7c0662cd1
When the new back office UI sources where copied from former repository
I didn't realize that the .gitignore had the package-lock.json file.
This commit remove the package-lock.json file, so it can be tracked, in
order to have reproducible builds.
The lack of the file caused the build to fail due to `npm ci` requires
it.
Change-Id: Ibe493d0cd5762afe5caabe9b77a333fd6daa5373
Currently, graceful exit is a complicated subsystem that keeps a queue
of all pieces expected to be on a node, and asks the node to transfer
those pieces to other nodes one by one. The complexity of the system
has, unfortunately, led to numerous bugs and unexpected behaviors.
We have decided to remove this entire subsystem and restructure graceful
exit as follows:
* Nodes will signal their intent to exit gracefully
* The satellite will not send any new pieces to gracefully exiting nodes
* Pieces on gracefully exiting nodes will be considered by the repair
subsystem as "retrievable but unhealthy". They will be repaired off of
the exiting node as needed.
* After one month (with an appropriately high online score), the node
will be considered exited, and held amounts for the node will be
released. The repair worker will continue to fetch pieces from the
node as long as the node stays online.
* If, at the end of the month, a node's online score is below a certain
threshold, its graceful exit will fail.
Refs: https://github.com/storj/storj/issues/6042
Change-Id: I52d4e07a4198e9cb2adf5e6cee2cb64d6f9f426b
This change prevents the navigation sidebar from closing when an item
in the My Account dropdown menu is clicked and the display size is
larger than medium.
Resolves#6332
Change-Id: Id37c3d8ee7179805cfecbd3eac9257130e9acc5b
We set lifecyclestage in Hubspot without Segment now. If Segment tries
to set lifecyclestage, it interferes with the desired behavior in
Hubspot.
Change-Id: I817c0324ecc69529d8ca7f617cb97d2f4e84aee8
This patch removes the following lines from the output (with disable tracing + set the log level to warn):
```
2023-09-25T15:30:58+02:00 INFO process/tracing.go:73 Anonymized tracing enabled
2023-09-25T15:30:58+02:00 DEBUG tracing collector monkit-jaeger@v0.0.0-20220915074555-d100d7589f41/udp.go:128 started
2023-09-25T15:30:58+02:00 DEBUG process/debug.go:37 debug server listening on 127.0.0.1:34803
```
Change-Id: Iccbf4fc3bde9436e0571943d0d85c51ebc766ef9
Made search field styling be consistent with other search fields.
Issue:
https://github.com/storj/storj/issues/6320
Change-Id: I21e383cef522a9f76b437a8f9977eab72987766c
Serve the front-end sources of the new back-office through the current
satellite admin server under the path `/back-office`.
The front-end is served in the same way than the current one, which is
through an indicated directory path with a configuration parameter or
embed in the binary when that configuration parameter is empty.
The commit also slightly changes the test that checks serving these
static assets for not targeting the empty file in the build folder.
build folders must remain because of the embed directive.
Change-Id: I3c5af6b75ec944722dbdc4c560d0e7d907a205b8
The API generator was generating invalid code when types were defined in
a main package because the generated Go code was defining in import from
it.
This commit update the Go generator to panic with a explicit error
message if that situation happens.
The commit also add a new endpoint to the example with a named types
(i.e. no anonymous) to show that the Generator works fine with them.
Change-Id: Ieddd89c67048de50516f7ac7787d602660dc4a54
The API generator didn't generate valid TypeScript code when using
Go anonymous types.
This commit fixes that issue creating names for anonymous types.
Change-Id: Ice0748d8650686e3d3979523b8f218dc20eade5a
Add a few validations to panic with a nicer message or abort rather than
generating invalid code.
Also improve the panic message wrapping a standard error with errs2 at
the time that it's returned.
Change-Id: I1393933eb5f0bc3f86646bf4d0acfc64626efbe0
This change extends the folder deletion modal to work for objects as
well.
Issue: https://github.com/storj/storj/issues/6299
Change-Id: I13e9ffa508c802480c0e3ed2ac630fa693b66fc7
Use placeholder instead of prefilled value for bucket creation dialog.
Issue:
https://github.com/storj/storj/issues/6319
Change-Id: I86c25926034adbe93a58df56e0bf18b60b41e568
break text of download notification (e.g. when you download from preview)
hide right/left buttons in object preview if there are not next/previous items
add counter property to project name in "project create". Set max length so that user cannot type additional characters
Issue:
https://github.com/storj/storj/issues/6268
Change-Id: Icff95427a5c73c2fb5bb014ff09150283cc49e83
Add a test for Types.All method because we may need to adjust the logic
in future commits and we want to detect what has changed for good or
bad.
Change-Id: I1db4bf67db3c87513cb9aeb7b942c6c132fc4dd1
* doc(testplan): storj private cloud
* Update storj-private-cloud-testplan.md
this commit pushes the content to the template file and removes unused sections.
The repair checker and repair worker both need to determine which pieces
are healthy, which are retrievable, and which should be replaced, but
they have been doing it in different ways in different code, which has
been the cause of bugs. The same term could have very similar but subtly
different meanings between the two, causing much confusion.
With this change, the piece- and node-classification logic is
consolidated into one place within the satellite/repair package, so that
both subsystems can use it. This ought to make decision-making code more
concise and more readable.
The consolidated classification logic has been expanded to create more
sets, so that the decision-making code does not need to do as much
precalculation. It should now be clearer in comments and code that a
piece can belong to multiple sets arbitrarily (except where the
definition of the sets makes this logically impossible), and what the
precise meaning of each set is. These sets include Missing, Suspended,
Clumped, OutOfPlacement, InExcludedCountry, ForcingRepair,
UnhealthyRetrievable, Unhealthy, Retrievable, and Healthy.
Some other side effects of this change:
* CreatePutRepairOrderLimits no longer needs to special-case excluded
countries; it can just create as many order limits as requested (by
way of len(newNodes)).
* The repair checker will now queue a segment for repair when there are
any pieces out of placement. The code calls this "forcing a repair".
* The checker.ReliabilityCache is now accessed by way of a GetNodes()
function similar to the one on the overlay. The classification methods
like MissingPieces(), OutOfPlacementPieces(), and
PiecesNodesLastNetsInOrder() are removed in favor of the
classification logic in satellite/repair/classification.go. This
means the reliability cache no longer needs access to the placement
rules or excluded countries list.
Change-Id: I105109fb94ee126952f07d747c6e11131164fadb
Vertically centered loader and no preview states for gallery view.
Issue:
https://github.com/storj/storj/issues/6312
Change-Id: Icce4aff6d0927ee36e3a94886edf4cc31dd379bf
Fixed regular expression which should search and remove insignificant trailing zeros of limit values.
Issue:
https://github.com/storj/storj/issues/6311
Change-Id: I267c779e406a1933d43f09b497470bad9f8ab71c