Skip to content

[Guests] Invite guests by email address from the Sharing / Members panel #2824

Closed

Description

@kulmann

User Story

  • As a user who owns or manages a resource (a file, a folder, or a Space), I want to invite external people by simply typing their email address into the Sharing or Members panel, so that I can collaborate with people who do not (yet) have an OpenCloud account, using the same flow I already use for internal users.

User value

Guest sharing with better security than public links; seamless invite flow.

Acceptance Criteria

  • In the Sharing panel (file/folder) and the Members panel (Space), I can type a free-text value into the collaborator input.
  • While I type, existing users and groups continue to be suggested exactly as they are today (no regression to the current sharee search).
  • As soon as the typed value is a valid email address (validated against a standard email regex), the suggestion list additionally offers that email address as a selectable guest suggestion.
  • The guest suggestion is visually distinguished from account suggestions by:
    • a globe icon, and
    • a "(Guest)" suffix on the suggestion label.
  • If the typed value is not a valid email address, no guest suggestion is offered (no invalid entries can be selected).
  • If the typed email address already belongs to a known account, the existing account is suggested as usual and is not duplicated as a guest suggestion.
  • Clicking (or selecting via keyboard) the guest suggestion adds it to the invite input as a selected recipient chip, alongside any already-selected recipients.
  • Any number of recipients can be added before submitting, in any combination of existing users, groups, and guests.
  • A role can be assigned to the invite (and an expiration set) using the same controls used for internal shares.
  • Submitting the invite triggers invite requests, where a guest has @libre.graph.recipient.type: "mail" and objectId is the email address the mail prop set. DON'T set the reciepient type and objectId, because the backend will reject the request if that is set together with the mail prop.
  • The whole guest invite suggestion gets applied in both internal and external share modes
  • After a successful submit, each invited guest email appears in the list of share receivers (Sharing panel) or Space members (Members panel).
  • A guest entry in that list can be managed exactly like any other share:
    • change its role,
    • set / change / remove an expiration,
    • view its share metadata, and
    • remove the share entirely.
  • On backend failure for the invite request, the user sees an error toast.

Visuals

Image Image Image Image

Activity

  1. moved this from Qualification to Backlog in OpenCloud Team Boardon Jul 7, 2026
  2. rhafer commented on Jul 10, 2026

    @rhafer
    Member
    • Submitting the invite triggers invite requests, where a guest has @libre.graph.recipient.type: "guest"??? what's the objectId for a guest???

    The @libre.graph.recipient.type is mail and the objectId is the mail address.

  3. kulmann commented on Jul 10, 2026

    @kulmann
    MemberAuthor

    The @libre.graph.recipient.type is mail and the objectId is the mail address.

    updated, thank you!

  4. self-assigned this
    on Jul 13, 2026
  5. moved this from Backlog to In Progress in OpenCloud Team Boardon Jul 15, 2026
  6. moved this from In Progress to Blocked in OpenCloud Team Boardon Jul 20, 2026
  7. kulmann commented on Jul 20, 2026

    @kulmann
    MemberAuthor

    Currently blocked until the invite for mail recipients is implemented in the backend.

  8. moved this from Blocked to In Progress in OpenCloud Team Boardon Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions