mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-05-14 06:05:26 +00:00
bc460f0e31
* docs: graph-messaging protocol [WIP] * docs: creating and using graph-messaging connection * docs: subtitle * docs: [WIP] graph-chat protocol * docs: graph-chat establishing duplex connection * apply minor typo fixes and wording adjustments to protocols docs * rename file graph-messaging -> edge-messaging * update test graph-messaging -> edge-messaging * correction re CID * duplex connection correction * rename folder graph-messaging -> edge-messaging * add duplex connection * update edge-messaging to match graph-chat * update symbols in graph-chat * sequence diagram: creating duplex connection * fix indentation * edge-messaging: REST API, crypto, IDs, URIs * REST API endpoints summary * Rest -> REST * REST API additional requirements * adjust wordings and fix typos (#2) * update readme (#4) * update readme * send message story and diagram * edge-messaging: alternative flow of creating connection * remove old diagrams * apply minor fixes * correct readme Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com> * graph-chat: added duplex connection types * graph-chat: comment on user profile visibility * clarify duplex diagram Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com>
22 lines
1.1 KiB
Plaintext
22 lines
1.1 KiB
Plaintext
sequenceDiagram
|
|
participant A as Alice's app
|
|
participant SA as Alice's servers <br> (connections CAi)
|
|
participant SB as Bob's servers <br> (connections CBi)
|
|
participant B as Bob's app
|
|
|
|
note over A: 1. Alice writes msg <br> to Bob in the app: <br> - message ID <br> - timestamp <br> - message body
|
|
note over A: sign and encrypt <br> message version <br> for each conn. CBi
|
|
A ->> SB: send message versions to connections CBi on Bob's servers
|
|
|
|
SB ->> B: 2. retrive message versions from CBi
|
|
note over B: decrypt and verify <br> message versions
|
|
note over B: discard duplicates <br> and show in chat <br> with Alice
|
|
|
|
note over B: 3. prepare msg <br> "message received": <br> - new message ID <br> - msg correlation ID <br> - receipt timestamp
|
|
note over B: sign and encrypt <br> message version <br> for each conn. CAi
|
|
B ->> SA: send message versions to connections CAi on Alice's servers
|
|
|
|
SA ->> A: 4. retrive message versions from CAi
|
|
note over A: decrypt and verify <br> message versions
|
|
note over A: discard duplicates <br> and show sent msg <br> as delivered <br> in chat with Bob
|