Update Group chat feature (design draft)

This commit is contained in:
Sébastien Blin 2019-12-11 19:47:37 -05:00
parent 80e3a0a866
commit 3c0b3dcf96
1 changed files with 22 additions and 0 deletions

View File

@ -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**