feat(chat): group chats and the current chat.bsky surface #128

Closed
opened 2026-09-24 12:39:08 +00:00 by Grandiras · 0 comments
Owner

Part of the v0.7.0 update cycle (wave 5). Group chats (upstream April–August 2026) and the rest of the current chat.bsky.* surface. Coverage today is 20 of 51. Write every model with typed identifiers, open unions and extension data, and make it pass the drift test.

Scope

  • chat.bsky.group.* (16):
    • groups and membership: createGroup, editGroup, addMembers, removeMembers, listMutualGroups;
    • join links: createJoinLink, editJoinLink, enableJoinLink, disableJoinLink, getJoinLinkPreviews;
    • join requests: requestJoin, approveJoinRequest, rejectJoinRequest, withdrawJoinRequest, listJoinRequests, updateJoinRequestsRead.
  • chat.bsky.embed.joinLink (+ #view) in the message embed unions.
  • Convo: getUnreadCounts, listConvoRequests, getConvoMembers, lockConvo, unlockConvo; listConvos gains kind and lockStatus.
  • Typed views:
    • convoView.kind (#directConvo / #groupConvo, with all group fields) and lastReaction;
    • member views (kind, viewer, createdAt, verification);
    • messageView reactions and replyTo (union);
    • messageInput replyTo and the embed union;
    • getMessages relatedProfiles;
    • typed log entries (about 20 event types) and system messages (about 12) instead of the loose ConvoLogEntry, each union with an unknown fallback.
  • chat.bsky.actor.declaration.allowGroupInvites, chat.bsky.actor.getStatus.
  • chat.bsky.notification.getPreferences / putPreferences, which replace the deprecated app.bsky.notification.defs#preferences.chat.
  • chat.bsky.moderation.* (7), for moderation services.

Register the new sub-clients on client.Chat. Add unit tests per endpoint. Update docs/chat.md with a group-chat section. CHANGELOG Added.

Part of the v0.7.0 update cycle (wave 5). Group chats (upstream April–August 2026) and the rest of the current `chat.bsky.*` surface. Coverage today is 20 of 51. Write every model with typed identifiers, open unions and extension data, and make it pass the drift test. ## Scope - [ ] `chat.bsky.group.*` (16): - groups and membership: `createGroup`, `editGroup`, `addMembers`, `removeMembers`, `listMutualGroups`; - join links: `createJoinLink`, `editJoinLink`, `enableJoinLink`, `disableJoinLink`, `getJoinLinkPreviews`; - join requests: `requestJoin`, `approveJoinRequest`, `rejectJoinRequest`, `withdrawJoinRequest`, `listJoinRequests`, `updateJoinRequestsRead`. - [ ] `chat.bsky.embed.joinLink` (+ `#view`) in the message embed unions. - [ ] Convo: `getUnreadCounts`, `listConvoRequests`, `getConvoMembers`, `lockConvo`, `unlockConvo`; `listConvos` gains `kind` and `lockStatus`. - [ ] Typed views: - `convoView.kind` (`#directConvo` / `#groupConvo`, with all group fields) and `lastReaction`; - member views (`kind`, `viewer`, `createdAt`, `verification`); - `messageView` `reactions` and `replyTo` (union); - `messageInput` `replyTo` and the embed union; - `getMessages` `relatedProfiles`; - typed log entries (about 20 event types) and system messages (about 12) instead of the loose `ConvoLogEntry`, each union with an unknown fallback. - [ ] `chat.bsky.actor.declaration.allowGroupInvites`, `chat.bsky.actor.getStatus`. - [ ] `chat.bsky.notification.getPreferences` / `putPreferences`, which replace the deprecated `app.bsky.notification.defs#preferences.chat`. - [ ] `chat.bsky.moderation.*` (7), for moderation services. Register the new sub-clients on `client.Chat`. Add unit tests per endpoint. Update `docs/chat.md` with a group-chat section. CHANGELOG `Added`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Grandiras/ATProto.NET#128
No description provided.