Skip to main content

Module device

Module device 

Source
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§

CatchupAppEventEntry
CatchupConversationEntry
CatchupSnapshot
[CR-13] Catchup snapshot delivered to a newly-linked device.
DeviceId
32-byte device identifier — SHA-256 of the device’s signing public key.
DeviceInfo
Public-facing device record exposed across the FFI.
GroupSnapshotEntry
GroupStateSnapshot
[CR-7] Portable snapshot of an MLS group’s OpenMLS state.
LinkingTicket
Encoded payload presented to a new device during the linking flow.
LocalDevice
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 this CatchupSnapshot::encode errors — 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 the last_app_events_per_conv list to fewer or smaller items.
CATCHUP_SNAPSHOT_VERSION
Current CatchupSnapshot format version. Independent of the wire WIRE_VERSION — catchup snapshots live inside an HPKE-sealed LinkingTicket, not on the wire.
GROUP_SNAPSHOT_HARD_CAP
Hard cap on a CBOR-encoded GroupStateSnapshot. Over this GroupStateSnapshot::encode errors. Matches the recovery-blob cap so a GroupStateSnapshot always fits inside a recovery blob’s device_group_snapshot field.
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 GroupStateSnapshot format version.