The server supports DMs between users on different servers. A DM is opened by creating it with a qualified recipient ID (<snowflake>@<domain>); the server picks a deterministic home server and mirrors the channel as a replica on the other side.
What to do
- Allow starting a DM by entering/selecting a remote user's qualified handle.
- Use the existing DM-create path with the qualified recipient ID; surface errors (recipient must be qualified/remote, peer untrusted, etc.).
- Reflect the returned DM channel (qualified channel ID) in the DM list.
Acceptance
- A user can open a DM with someone on another server and send/receive messages.
Server reference
- DM open via qualified recipient:
src/routes/users.rs (open_dm call) and src/federation/dm.rs (open_dm, deterministic home_domain_for).
- Cross-server DMs: commit
e4ffbe6.
Client touch points
lib/features/channels/controllers/dm_channels.dart.
Server reference — accordserver branch claude/federated-servers-xlydlj.
The server supports DMs between users on different servers. A DM is opened by creating it with a qualified recipient ID (
<snowflake>@<domain>); the server picks a deterministic home server and mirrors the channel as a replica on the other side.What to do
Acceptance
Server reference
src/routes/users.rs(open_dmcall) andsrc/federation/dm.rs(open_dm, deterministichome_domain_for).e4ffbe6.Client touch points
lib/features/channels/controllers/dm_channels.dart.Server reference — accordserver branch
claude/federated-servers-xlydlj.