Parent: #255
Problem and outcome
The current Share modal describes public publication. Provide a private-sharing workflow with understandable role and lifecycle states across web and native apps.
Required behavior
- Owner controls: invite, view pending/accepted recipients, change role, revoke, resend, and inspect delivery failure. Default to viewer.
- Recipient controls: inspect inviter/own role, accept a pending invitation, open accepted resources in Shared with me, and leave without deleting the resource.
- Only owners see the complete recipient list. Recipients see the owner and their own role.
- Viewer/editor UI matches server permissions. Only owners rename, publish, or delete; deletion warns that everyone loses access.
- Explain that independent copies/exports survive revocation and cannot be recalled; copies do not inherit recipients or publication settings.
- Support web, iOS, Android, sign-in continuation, and web fallback for invitation links. Public status must remain obvious when named grants coexist with publication.
Acceptance and verification
Starting points
src/components/ShareModal.tsx, list/note detail surfaces, and convex/lists.ts discovery queries.
Dependencies
Depends on #256, #257.
Parent: #255
Problem and outcome
The current Share modal describes public publication. Provide a private-sharing workflow with understandable role and lifecycle states across web and native apps.
Required behavior
Acceptance and verification
Starting points
src/components/ShareModal.tsx, list/note detail surfaces, andconvex/lists.tsdiscovery queries.Dependencies
Depends on #256, #257.