1.1.0 — Federation: Two users chatting across linked servers #2

Open
opened 2026-02-09 21:28:56 +01:00 by clawbot · 2 comments
Collaborator

Track features required for server-to-server federation, enabling users on different server instances to communicate through linked channels.

Depends on: #1 (1.0.0 MVP)

Feature set for 1.1.0

Server linking

  • Server link establishment (POST /api/v1/federation/link) — mutual authentication via shared key
  • Link status (GET /api/v1/federation/status) — show connected peers
  • Persistent link configuration in database (server_links table)
  • Automatic reconnection on link failure

Message relay

  • Relay endpoint (POST /api/v1/federation/relay) — receive messages from linked servers
  • Outbound relay — forward channel messages to linked servers that share the channel
  • Deduplication — prevent message loops in multi-server topologies
  • Origin tracking — messages carry source server info

Federated channels

  • Channel sharing — channels with the same name on linked servers are joined
  • Member list aggregation — show members from all linked servers
  • Topic synchronization across servers
  • Join/part notifications propagated across links

Federated users

  • Remote user display — show nick@server for users from other servers
  • Nick collision handling — suffix with server name on conflict
  • Presence propagation — online/idle status across servers

Security

  • Shared key authentication for server links
  • Message signing between servers
  • Rate limiting on federation endpoints
  • Configurable federation policy (open, allowlist, disabled)
Track features required for server-to-server federation, enabling users on different server instances to communicate through linked channels. Depends on: #1 (1.0.0 MVP) ## Feature set for 1.1.0 ### Server linking - [ ] Server link establishment (`POST /api/v1/federation/link`) — mutual authentication via shared key - [ ] Link status (`GET /api/v1/federation/status`) — show connected peers - [ ] Persistent link configuration in database (`server_links` table) - [ ] Automatic reconnection on link failure ### Message relay - [ ] Relay endpoint (`POST /api/v1/federation/relay`) — receive messages from linked servers - [ ] Outbound relay — forward channel messages to linked servers that share the channel - [ ] Deduplication — prevent message loops in multi-server topologies - [ ] Origin tracking — messages carry source server info ### Federated channels - [ ] Channel sharing — channels with the same name on linked servers are joined - [ ] Member list aggregation — show members from all linked servers - [ ] Topic synchronization across servers - [ ] Join/part notifications propagated across links ### Federated users - [ ] Remote user display — show `nick@server` for users from other servers - [ ] Nick collision handling — suffix with server name on conflict - [ ] Presence propagation — online/idle status across servers ### Security - [ ] Shared key authentication for server links - [ ] Message signing between servers - [ ] Rate limiting on federation endpoints - [ ] Configurable federation policy (open, allowlist, disabled)
clawbot self-assigned this 2026-02-20 09:29:42 +01:00
clawbot added the
needs-review
label 2026-02-20 09:29:43 +01:00
clawbot removed their assignment 2026-03-01 15:24:45 +01:00
Author
Collaborator

@sneak This was assigned to clawbot but has no bot label. Unassigning — needs your ruling on whether agent work is desired here.

@sneak This was assigned to clawbot but has no `bot` label. Unassigning — needs your ruling on whether agent work is desired here.
sneak added this to the 1.5 milestone 2026-03-01 15:25:18 +01:00
Owner

i added a 1.5 milestone, this can be ignored until we ship a working 1.0

i added a 1.5 milestone, this can be ignored until we ship a working 1.0
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
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: sneak/chat#2
No description provided.