Skip to content

Add sharing controls, invitation acceptance, and Shared with me #258

Description

@brianorwhatever

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

  • Exercise owner, viewer, editor, pending, expired, revoked, delivery-failed, and left-resource states.
  • A newly accepted list or note appears automatically in Shared with me without public bookmarking.
  • Recipient-list privacy holds in backend responses as well as UI.
  • Leaving removes the grant and discovery entry without deleting owner data; reopening an old acceptance link does not restore access.
  • Invitation links complete sign-in/acceptance on web and supported native clients, with working web fallback.
  • Copies and destructive owner actions display the agreed consequences.

Starting points

src/components/ShareModal.tsx, list/note detail surfaces, and convex/lists.ts discovery queries.

Dependencies

Depends on #256, #257.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions