Update Group chat feature (design draft)
This commit is contained in:
parent
80e3a0a866
commit
3c0b3dcf96
|
@ -17,6 +17,28 @@ So, the *swarm* is defined by:
|
|||
|
||||
*Bob wants to create a new swarm*
|
||||
|
||||
1. Bob create a local git repository.
|
||||
2. Then, he adds an initial signed commit and adds the following:
|
||||
+ His public key in `/admins`
|
||||
+ His device certificate in ̀ /devices`
|
||||
+ His CRL in ̀ /crls`
|
||||
3. The hash of the first commit becomes the **ID** of the conversation
|
||||
4. Bob announce to his other devices that he creates a new conversation. This is done via an invite to join the swarm sent through the DHT to other devices linked to that account.
|
||||
|
||||
## Receiving an invite
|
||||
|
||||
*Alice gets the invite to join the previously create swarm*
|
||||
|
||||
1. She accepts the invite
|
||||
2. A peer to peer connection between Alice and Bob is done.
|
||||
3. Alice pull the git repo of Bob. **WARNING this means that messages needs a connection, not from the DHT like today**
|
||||
4. Alice validates commits from Bob
|
||||
5. Once all commits validated and on her device, other members of the group are discovered by Alice. with these peers, she will construct the **DRT** (explained below) with Bob as a bootstrap.
|
||||
|
||||
## Sending a message
|
||||
|
||||
*Alice sends a message*
|
||||
|
||||
**IN CONSTRUCTION**
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue