diff --git a/docs/rfcs/2025-10-20-chat-relays.md b/docs/rfcs/2025-10-20-chat-relays.md
index cd3c57af27..395a18b6b7 100644
--- a/docs/rfcs/2025-10-20-chat-relays.md
+++ b/docs/rfcs/2025-10-20-chat-relays.md
@@ -4,19 +4,18 @@
```mermaid
sequenceDiagram
- participant OSMP as Owner's
SMP server
- participant O as Owner
- participant R as Chat relay(s)
- participant RSMP as Chat relays'
SMP server(s)
- participant M as Member
+ participant O as Owner
+ participant OSMP as Owner's
SMP server
+ participant R as Chat relay(s)
+ participant RSMP as Chat relays'
SMP server(s)
-note over OSMP, RSMP: Owner creates new group, adds chat relays
+note over O, RSMP: Owner creates new group, adds chat relays
-O -->> O: 1. Create new group
+O ->> O: 1. Create new group
O ->> OSMP: 2. Create short link
(group entry point)
OSMP -->> O:
-O -->> O: 3. Add link to group profile
-O -->> O: 4. Choose chat relays
+O ->> O: 3. Add link to group profile
+O ->> O: 4. Choose chat relays
par With each relay
O ->> R: 5. Contact request
(x.grp.relay.inv)
R ->> RSMP: 6. Create relay link
@@ -27,24 +26,24 @@ par With each relay
O ->> R: 9. Notify relay link added
(x.grp.info)
R ->> OSMP: 10. Retrieve short link data
OSMP -->> R:
- R -->> R: 11. Check relay link added
+ R ->> R: 11. Check relay link added
R ->> O: 12. Confirm to owner
(x.grp.relay.ready)
end
-O -->> O: 13. Share group short link
(social, out-of-band)
+create participant M as Member
+O -->> M: 13. Share group short link
(social, out-of-band)
-note over OSMP, M: New member connects
+note over O, M: New member connects
M ->> OSMP: 14. Retrieve short link data
OSMP -->> M:
-M -->> M: 15. Prepare group record,
save relay links
-M ->> R: 16. Connect via relay link(s)
+M ->> R: 15. Connect via relay link(s)
R -->> M:
note over O, M: Message forwarding
-O ->> R: 17. Send message
-R ->> M: 18. Forward message
-M -->> M: 19. Deduplicate message
+O ->> R: 16. Send message
+R ->> M: 17. Forward message
+M ->> M: 18. Deduplicate message
```
Notes:
@@ -78,13 +77,13 @@ Notes:
```mermaid
sequenceDiagram
- participant OSMP as Owner's
SMP server
- participant O as Owner
- participant R as Chat relay
- participant RSMP as Chat relays'
SMP server(s)
- participant M as Member
+ participant O as Owner
+ participant OSMP as Owner's
SMP server
+ participant R as Chat relay
+ participant RSMP as Chat relays'
SMP server(s)
+ participant M as Member
-note over OSMP, M: Scenario 1. Owner deletes chat relay, notifies relay
+note over O, M: Scenario 1. Owner deletes chat relay, notifies relay
par Owner to chat relay
O ->> R: 1a. Delete chat relay
(x.grp.mem.del)
@@ -92,29 +91,22 @@ par Owner to chat relay
R ->> RSMP: 2a. Delete relay link
and Chat relay to members
R ->> M: 2b. Forward relay is deleted
- M -->> M: 3. Delete connections with relay
end
and Owner to SMP
O ->> OSMP: 1b. Remove relay link
(update group link data)
- OSMP -->> O:
-and
- O -->> O: 1c. Delete connection with relay
end
-note over OSMP, M: Scenario 2. Owner deletes chat relay, fails to notify relay
+note over O, M: Scenario 2. Owner deletes chat relay, fails to notify relay
par Owner to chat relay
O --x R: 1a. Fail to notify relay
and Owner to SMP
O ->> OSMP: 1b. Remove relay link
(update group link data)
- OSMP -->> O:
-and
- O -->> O: 1c. Delete connection with relay
end
loop Chat relay periodic checks
R ->> OSMP: 2. Retrieve short link data for served gorup
OSMP -->> R:
- R --x R: 3. Check relay link added
+ R -x R: 3. Check relay link present
end
par Chat relay to SMP
destroy RSMP
@@ -122,30 +114,29 @@ par Chat relay to SMP
and Chat relay to members
destroy R
R ->> M: 4b. Notify relay is deleted
- M -->> M: 5. Delete connections with relay
end
-note over OSMP, M: Last relay is deleted
+note over O, M: Last relay is deleted
O --x M: Owner can't send messages to members
-M -->> M: Attempt to restore
connection to group (manual)
+M ->> M: Attempt to restore
connection to group (manual)
M ->> OSMP: Retrieve short link data
OSMP -->> M:
-M --x M: Members can't restore connection to group
+M -x M: Members can't restore connection to group
-note over OSMP, M: Restore connection to group
+note over O, M: Restore connection to group
create participant NR as New chat relay
-O <<-->> NR: 1. Add new relay, relay creates and sends link
-O <<-->> OSMP: 2. Update short link
(add relay link)
-M -->> M: 3. Attempt to restore
connection to group (manual)
+O <<->> NR: 1. Add new relay, relay creates and sends link
+O <<->> OSMP: 2. Update short link
(add relay link)
+M ->> M: 3. Attempt to restore
connection to group (manual)
M ->> OSMP: 4. Retrieve short link data
OSMP -->> M:
M ->> NR: 5. Connect via relay link
NR -->> M:
O ->> NR: 6. Send message
NR ->> M: 7. Forward message
-M -->> M: 8. Deduplicate message
+M ->> M: 8. Deduplicate message
```
Notes: