Skip to content

Invitation Design

brad-lowe edited this page Aug 27, 2025 · 1 revision

Access Requests

An access request is created when a user attempts to join a workspace they have not yet been invited to.

The current design only supports synchronous access requests. If the workspace initiator is online when an access request is submitted, they will receive a notification by the "invite people" button on the navigation bar. They will then be prompted to accept or deny this request, which will either cause the user to join the workspace and automatically launch it on their end, or send them a notification of denial.

How Access Requests Work

Requesting user: When the user attempts to join workspace A, an interest for the corresponding invitation data is sent to the repo. If there is no reply, another interest is sent to the workspace initiator for the same invitation data. A timer is set for 2 minutes. If no data is sent during this period, a timeout occurs and the user can try again.

Initiator: The initiator watches for access requests at all times while online. If one arrives, it is put into a global list of access requests, which is temporary and will not persist once the initiator goes offline. Duplicate requests are suppressed during the same session. When the request is accepted, the initiator asks repo to fetch the newly created invitation data and also sends this data back to the requesting user. When a request is denied, (in progress)

Clone this wiki locally