Expand description
Device model — every install of the SDK is one device. Devices are first-class MLS members.
See docs/MULTIDEVICE.md for the full design.
Structs§
- Catchup
AppEvent Entry - Catchup
Conversation Entry - Catchup
Snapshot - [CR-13] Catchup snapshot delivered to a newly-linked device.
- Device
Id - 32-byte device identifier — SHA-256 of the device’s signing public key.
- Device
Info - Public-facing device record exposed across the FFI.
- Group
Snapshot Entry - Group
State Snapshot - [CR-7] Portable snapshot of an MLS group’s OpenMLS state.
- Linking
Ticket - Encoded payload presented to a new device during the linking flow.
- Local
Device - Local device — owns its signing keypair. Never leaves the device that created it.
Constants§
- CATCHUP_
SNAPSHOT_ HARD_ CAP - Hard cap on a CBOR-encoded
CatchupSnapshot. Over thisCatchupSnapshot::encodeerrors — the linking flow falls back to delivering an empty snapshot and the new device catches up via the normal sync path. - CATCHUP_
SNAPSHOT_ SOFT_ CAP - Soft cap on a CBOR-encoded
CatchupSnapshot. Over this we log a warning but still emit; hosts that hit this regularly should trim thelast_app_events_per_convlist to fewer or smaller items. - CATCHUP_
SNAPSHOT_ VERSION - Current
CatchupSnapshotformat version. Independent of the wireWIRE_VERSION— catchup snapshots live inside an HPKE-sealedLinkingTicket, not on the wire. - GROUP_
SNAPSHOT_ HARD_ CAP - Hard cap on a CBOR-encoded
GroupStateSnapshot. Over thisGroupStateSnapshot::encodeerrors. Matches the recovery-blob cap so aGroupStateSnapshotalways fits inside a recovery blob’sdevice_group_snapshotfield. - GROUP_
SNAPSHOT_ SOFT_ CAP - Soft cap on a CBOR-encoded
GroupStateSnapshot. Over this we log a warning but still emit; hosts hitting this regularly should investigate group-size growth. - GROUP_
SNAPSHOT_ VERSION - Current
GroupStateSnapshotformat version.