At this level
social.colibri.beta.community ยท 44- social.colibri.beta.community.adopt procedure Adopts an existing account as a community: this AppView takes custody of its credentials, creates the four community spaces on whichever PDS already hosts it, and seeds the same starter layout social.colibri.beta.community.create does. The account keeps its own DID, handle and PDS, and the caller becomes its owner. Use this instead of community.create to bring your own DID.
- social.colibri.beta.community.applyLabel procedure Applies a label to a record in one of the community's spaces. This is how content is hidden, marked as a spoiler, or has its link previews suppressed. The record itself is untouched, since it lives in its author's own repo, but a `hidden` label stops this AppView serving the record: it is withheld from reads and from the events socket, and replies to it see a deletedMessageView in its place. Moderators holding `label.apply` and the record's own author still see it.
- social.colibri.beta.community.approveApplication procedure Approves a pending application, admitting the subject as a member.
- social.colibri.beta.community.authorizeHost procedure Starts a sign-in as a community host account. The requesting user opens the returned URL, signs in as that account on its own server and allows the AppView to act for it. The AppView then adopts the account as a new community, or reconnects an existing community after its sign-in lapsed or its account moved. Poll getHostAuthorization with the returned request to learn the outcome.
- social.colibri.beta.community.ban procedure Bans a member from a community. This removes their member record and stops the community issuing them space credentials. Their existing content is not deleted: it stays in their own repo, where it can still be labelled or filtered.
- social.colibri.beta.community.configuration space A community's operational settings and its category layout.
- social.colibri.beta.community.create procedure Provisions a new community: an account on the AppView's PDS, its four spaces, an owner role, and a starter layout of two categories holding one text channel and one voice channel between them. This call runs long enough that progress is also emitted over social.colibri.beta.sync.subscribeEvents.
- social.colibri.beta.community.createInvitation procedure Creates an invitation code for a community.
- social.colibri.beta.community.defs defs A pending request to join a community that requires approval.
- social.colibri.beta.community.delete procedure Deletes the community's spaces and its account. Members' own records stay in their own repos and simply become unreadable.
- social.colibri.beta.community.deleteImage procedure Clears a community's picture or banner. Idempotent: clearing an image that was never set succeeds. The blob itself is left in the community's repo rather than deleted, so an older record revision still resolves.
- social.colibri.beta.community.deleteInvitation procedure Deletes an invitation code.
- social.colibri.beta.community.dismissApplication procedure Hides a pending application from the active queue without refusing it. This is an AppView-local change and is never written to the community's repo.
- social.colibri.beta.community.getCommunity query Gets a community by DID or handle.
- social.colibri.beta.community.getHostAuthorization query Reports the outcome of a sign-in started with authorizeHost. Only the user who started it can read it.
- social.colibri.beta.community.getHosting query Describes where a community's account lives and whether the AppView can still act for it. Only administrators of the community can read it.
- social.colibri.beta.community.getInvitation query Resolves an invitation code, so a client can show what it leads to before the user accepts. This is readable without membership.
- social.colibri.beta.community.handOverHost procedure Gives an administrator access to a community account that lives on this AppView's server, so they can move it to another server. The AppView sets the given email on the account, so codes the server sends reach the administrator, and returns a new password once. The password works for 60 minutes. If the account has not moved by then, the AppView replaces it and signs out every session.
- social.colibri.beta.community.join procedure Admits the requesting user to a community. Joining is an AppView procedure rather than a record the user writes, because admission is what makes the community's spaces readable to them.
- social.colibri.beta.community.kick procedure Removes a member from a community. The member may rejoin unless the community requires approval to join.
- social.colibri.beta.community.leave procedure Removes the requesting user's membership in a community.
- social.colibri.beta.community.listApplications query Lists pending requests to join a community that requires approval.
- social.colibri.beta.community.listBans query Lists the members currently banned from a community. Being banned means the community declines to issue them space credentials, so they cannot read it. Their existing messages stay in their own repos.
- social.colibri.beta.community.listCategories query Gets the community's category layout, each category with its channels already nested. This is what a client needs to draw the sidebar in one call.
- social.colibri.beta.community.listChannels query Lists a community's channels as a flat list, for clients that do not need the category grouping.
- social.colibri.beta.community.listInvitations query Lists a community's invitation codes.
- social.colibri.beta.community.listMembers query Lists a community's admitted members.
- social.colibri.beta.community.listMigratable query Lists the repo-backed communities the requesting user belongs to that have not finished moving onto spaces. The AppView reads this live from the user's own public repo and each candidate's public repo. A community that cannot move, such as one inside its owner's repo or one whose repo did not respond, is listed in state blocked with a reason.
- social.colibri.beta.community.listModerationLog query Lists a community's moderation audit log.
- social.colibri.beta.community.listRoles query Lists a community's roles.
- social.colibri.beta.community.members space A community's membership and the roles that can be assigned within it.
- social.colibri.beta.community.migrate procedure Starts moving a repo-backed community onto spaces and returns once the move is queued. Structure, roles, members and bans are recreated in spaces stamped with migratedFrom. Message history of current members is copied from their public repos and served alongside as read-only legacy messages. The move runs in the background and reports progress through social.colibri.beta.sync.defs#communityProgressEvent. Calling it again while it runs returns the current state, and calling it after a failed atte
- social.colibri.beta.community.moderation space A community's moderation audit log. Kept in its own space so it can be read by moderators without being readable by the whole membership.
- social.colibri.beta.community.negateLabel procedure Retracts a label by writing a negating one. The original label record is left in place.
- social.colibri.beta.community.profile space A community's public identity: the one part of a community that can be read before joining it.
- social.colibri.beta.community.putImage procedure Sets a community's picture or banner. The bytes are uploaded to the community's own repo, which is why this goes through the AppView: a community's blobs can only be written with the community credentials the AppView holds, and a space record must reference a blob living in the repo that holds the record. Replaces whatever was there before.
- social.colibri.beta.community.registerCredentials procedure Hands the AppView credentials for a community hosted elsewhere, so it can administer a community it did not create. The password is stored encrypted at rest.
- social.colibri.beta.community.reorderCategories procedure Sets the complete display order of a community's categories.
- social.colibri.beta.community.setMemberRoles procedure Sets the complete set of roles a member holds.
- social.colibri.beta.community.settings record A community's operational settings. Separate from the profile record so the two have different read audiences.
- social.colibri.beta.community.transferOwnership procedure Hands the community's protected owner role from the caller to another member. The subject gains every protected role the caller holds, then the caller loses them. The caller keeps their other roles.
- social.colibri.beta.community.unban procedure Lifts a ban, letting the community issue the subject space credentials again.
- social.colibri.beta.community.undismissApplication procedure Restores a dismissed application to the active queue. This is an AppView-local change and is never written to the community's repo.
- social.colibri.beta.community.update procedure Updates a community's settings. A field left absent stays unchanged.