Add hosted collection sharing with v2 grant ceilings - #317
Merged
Merged
Conversation
Refresh PR 317 onto beta.97 while preserving the original sharing migrations and history. Bind mirror and application issuance to current membership revisions, serialize authority checks, and retain seats through durable account cleanup. Add the default-off admission switch and read-only Editor support with owner-managed v2 presets. Qualify fresh and existing schemas on PostgreSQL and cover the authorization and lifecycle regressions.
callumalpass
enabled auto-merge
September 12, 2026 12:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hosted collection owners can invite verified accounts as viewers or editors, with each application and mirror constrained by the member’s exact policy revision. This refresh merges current main (
b34ba70f, beta.97) into the original sharing branch and repairs the authorization and account-cleanup integration.MDBASE_CONNECT_HOSTED_SHARING_ENABLEDadmission switch. Disabling it preserves existing access and allows listing, cancellation, downgrade and removal. Block hosted-to-local transfer while members or invitations remain.Validation on Node 24.19.0, with
mdbase-rspinned to76ceed00:cargo fmt --all -- --check,cargo test --workspace,pnpm typecheck,pnpm test,pnpm e2epassed. The final server rerun passed 575 tests; Editor passed 452.Sharing remains off by default. The LAB candidate passed deployment checks. Multi-account acceptance verified invitation UI and viewer API/mirror boundaries, then exposed the optional-write consent defect fixed here; full Editor/TaskNotes acceptance is being repeated. Production enablement still requires that acceptance and exact release/catalog qualification. Invitation preview is a follow-up. Local-authority sharing and PR #318’s realtime collaboration are outside this PR.
Multi-account LAB acceptance now passes for owner/viewer/editor invitation flows,
real Editor and TaskNotes v2 approvals, persisted task recovery, downgrade/removal
revocation, and account deletion with bound mirror cleanup. All campaign fixtures
and the temporary account were removed. This is disposable LAB evidence, separate
from signed release qualification.
Includes beta98 version preparation and exact beta97 predecessor image pins so
full merge qualification exercises the actual upcoming upgrade. Historical beta95
regression pins remain unchanged. Production recovery policy is handled in ops;
this PR does not claim beta98-to-beta97 image rollback safety.