Channels not using CRDT-like group synchronization may result in losing members in multi-device setups
Open
Priority
- Dominant language
- Rust
- Stars
- 929
- Forks
- 143
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 53
Description
If you have two devices that handle QR invites into the channel, and Bob1 subscribes via device 1 and then Bob2 subscribes via device 2 at the same time, device 1 and device 2 will each send a sync message with only Bob1 or Bob2:
https://github.com/chatmail/core/blob/5f84be718a83a8c0c305bc88e0f6a2781f56b1eb/src/securejoin.rs#L655-L659
These `SetPgpContacts` messages do not have per-member timestamps, so they are not merged, but overwrite the whole chatlist:
https://github.com/chatmail/core/blob/5f84be718a83a8c0c305bc88e0f6a2781f56b1eb/src/chat.rs#L5107-L5110
Slightly related to just opened issue https://github.com/chatmail/core/issues/7952
Contributor guide
Assessment
This issue has not been assessed yet.