chatmail / chatmail/core

Channels not using CRDT-like group synchronization may result in losing members in multi-device setups

Open
#7,954 8 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.