This change matches the all projects dashboard styling to the figma as
closely as currently possible.
Issue: https://github.com/storj/storj/issues/5934
Change-Id: I93edd898fbcee954265737052a1967d318370924
This change causes the satellite frontend to send analytics events for
project invitation responses. In addition, it more properly sources
reported project invitation response errors.
References #5855
Change-Id: I374e064c39920d3af829cb8467790d864a417115
This change adds analytics events for accepting and rejecting project
member invitations.
References #5855
Change-Id: I2101eb711312a683ecdb4b7d0c6d7cc3ae09c440
This change allows users who are eligible to purchase a package plan to
do so, even if they missed the opportunity during onboarding.
Now, if the user is eligible, an opportunity to select a package for purchase
is presented as part of the upgrade modal.
Issue: https://github.com/storj/storj/issues/5932
Change-Id: I45575274839701bf7b80815330a4ae86a1d32093
An index has been added on the project_id column of the project_members
satellite database table so that we can retrieve members of a project
without performing a full table scan.
References #5855
Change-Id: I1cc30686f836c8fd1aa319247ce857a2392e7a52
We missed to set placement as a part of selection request. It can case
uploading repaired data out of specified placement.
I will provide test as a separate change.
Change-Id: I4efe67f2d5f545a1d70e831e5d297f0977a4eed1
Built side Vuetify subproject inside web/satellite with limited functinality.
For now it has navigation side bar, simple project dashboard and team page (where you can list/add team members).
Issue:
https://github.com/storj/storj/issues/5854
Change-Id: I9ff3e80b8ace1dc31de6a788174c5ffc19f050f8
downloads still need the old copy code because they aren't
parallel in the same way uploads are. revert all the code
that removed the parallel copy, only use the non-parallel
copy for uploads, and add back the parallelism and chunk
size flags and have them set the maximum concurrent pieces
flags to values based on each other when only one is set
for backwards compatibility.
mostly reverts 54ef1c8ca2
Change-Id: I8b5f62bf18a6548fa60865c6c61b5f34fbcec14c
This change hides the project details link, introduced for the issue
linked below, if the user is only a member and not the owner of the
project.
Related: https://github.com/storj/storj/issues/5930
Change-Id: If6b0817dfa32f2f661629cc158eb4fb44dfe9ffc
Move "common" pricing plan files from components/onboardingTour to
components/account/billing.
This way, the file imports make more sense when pricing plan info is
used outside of the onboarding flow.
Related to https://github.com/storj/storj/issues/5932
Change-Id: I94f5f561c88c3a8f0046065dfa1a708c062faa93
Fixed download objects in object browser.
Context:
aws-sdk v3 getSignedURL method now returns a Promise<string> instead of regular string. So we have to await for promise to resolve
Issue:
https://github.com/storj/storj/issues/5956
Change-Id: I2431095e7e8cd1bbc4e866c6958a2c03898c4b4d
* optimize SQL for zombie objects deletion query by reducing some direct
selects to segments table
* set AOST for expired/zombie object deletion (was 0 since now)
https://github.com/storj/storj/issues/5881
Change-Id: I50482151d056a86fe0e31678a463f413d410759d
This change adds a link to the project dashboard nav area to navigate
to the selected project's detail page.
Issue: https://github.com/storj/storj/issues/5930
Change-Id: Ief26505feeb62e88b8e6096d4be70004dc068b64
For now we will use bucket placement to determine if we should exclude
some node IPs from metainfo.GetObjectIPs results. Bucket placement is
retrieved directly from DB in parallel to metabase
GetStreamPieceCountByNodeID request.
GetObjectIPs is not heavily used so additional request to DB shouldn't
be a problem for now.
https://github.com/storj/storj/issues/5950
Change-Id: Idf58b1cfbcd1afff5f23868ba2f71ce239f42439
This change adds new email templates for project invites, one for
existing users, one for new users. It changes the project invite code
to use the new template for existing users.
Issue: https://github.com/storj/storj/issues/5860
Change-Id: Ic7b14a677277ea6c25ee527d03f709474fc05f83
We no longer use registration information in ways that could be
exploited by malicious agents, so filtering special characters is not
necessary and has been removed.
Resolves storj-private#133
Change-Id: I3eb4803c71ccb307b38f0288fe2af5eec70f8309
We were reusing a slice to save on allocations, but it turns out the
function using it was being called in multiple goroutines at the same
time.
This is definitely a problem with repairer/segments.go. I'm not 100%
sure if it also is a problem with checker/observer.go, but I'm making
the change there as well to be on the safe side for now.
Repair workers only ran with this bug on testing satellites, and it
looks like the worst that could have happened was that we repaired
pieces off of well-behaved, non-clumped, in-placement nodes by mistake.
Change-Id: I33c112b05941b63d066caab6a34a543840c6b85d
This change allows users to view and interact with their project member
invitations through a banner in the dashboard area. The banner only
appears if the All Projects Dashboard is disabled, as it provides the
same functionality in a different way.
References #5855
Change-Id: Ia0771e2af52c40a72f1cacf72bc9098cc68f0dcd
This change allows users to view and interact with their project member
invitations from within the All Projects Dashboard.
References #5855
Change-Id: If5b4af46924530c91f8a5c16bfb5134de313dc90
API endpoints and associated methods have been implemented to allow
users to accept or decline their pending project member invitations
through the satellite frontend.
References #5855
Change-Id: Ic23721c64a65e741dc1015838e617fd1af5c8ca4
this change adds code to CreateGetOrderLimits to filter
out any nodes that are not in the placement specified
by the segment. notably, it does not change the audit
or repair order limits. the list segments code had to be
changed to include getting the placement field from the
database.
Change-Id: Ice3e42a327811bb20928c619a72ed94e0c1464ac
Checker when qualifying segment for repair is now looking at pieces
location and if they are outisde segment placement puts them into
repair queue.
Fixes https://github.com/storj/storj/issues/5895
Change-Id: If0d941b30ad94c5ef02fb1a03c7f3d04a2df25c7
Segment repairer should take into account segment 'placement' field
and remove or repair pieces from nodes that are outside this placement.
In case when after considering pieces out of placement we are still above
repair threshold we are only updating segment pieces to remove
problematic pieces. Otherwise we are doing regular repair.
https://github.com/storj/storj/issues/5896
Change-Id: I72b652aff2e6b20be3ac6dbfb1d32c2840ce3d59
It currently is possible to create a violation with regards to
the uniqueness of the user account emails that is used for the
login.
When an update via the admin API is made, it currently is possible
to set the accounts email to an already occupied email address.
This will result in very flacky login behaviour, as well as creating
a lot of other related issues.
This small change adds a check to ensure the email is not attached to
any account.
Change-Id: I167be673082d59ef32cafe41047fce9f5ae534d0
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
We have a special method to exclude methods (which are called to frequently) from distributed traces.
https://github.com/storj/common/blob/main/tracing/excluded.go
But this works only, if we define the exclusion function during the initialization.
Let's do it in this patch.
Change-Id: Icf12202bd7213b5c0009332ce2755b267f2bdbae