hzhang b3fcefb5ec feat(channels): bypass-list for discuss/work rotation
- channel_turn_state.bypass_user_ids: order and bypass form a disjoint
  partition of the channel members; bypass excluded from rotation.
- initForChannel(channelId, members, bypass=[]) computes order = members
  − bypass; create() passes bypassUserIds (∩ members) for discuss/work.
- pushFrame() enforces mention nesting cap: max 4 sub-frames (5 levels
  incl. root); overflow evicts the bottom-most (root->A..D + E => root->B..E).
- mention sites use pushFrame so bypass members are only transiently
  pulled in via @-mention, then return to bypass on pop.
- moveToBypass(): move an order member to bypass mid-rotation; if current
  speaker, successor takes over. onMemberRemoved also strips bypass.
- POST /channels/:id/bypass; GET :id/members now returns {userId,bypass}.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 19:26:18 +01:00
2026-05-15 18:47:36 +01:00
2026-05-15 18:47:36 +01:00

Fabric.Backend.Guild

Guild Node service for Fabric.

Scope (MVP)

  • Workspace/Guild/Channel/DM
  • Message create/edit/delete/reply/@mention
  • Per-channel/DM seq ordering + gap backfill API
  • Webhook/Bot integration surface
  • Guild-level audit logs

Next

  • API skeleton (NestJS)
  • Chat domain models
  • Seq allocator and range query endpoints

Required env (startup hard checks)

  • FABRIC_BACKEND_GUILD_CENTER_BASE_URL
  • FABRIC_BACKEND_GUILD_CENTER_API_KEY
  • FABRIC_BACKEND_GUILD_NODE_ID

If any of the above is missing, service startup fails immediately.

Description
No description provided
Readme 483 KiB
Languages
TypeScript 99.3%
JavaScript 0.4%
Dockerfile 0.3%