Significant overhaul of the v2 chat channel to v3, it still serves the core usage patterns of rival messenger but is minimized in scope for private ephemeral 1:1/group conversation patterns.
Base32 encoding of IDs (instead of hex)
SipHash 64bit sequencing (instead of murmur3 32bit)
message types are simplified to join, chat, and ack
roster/participant state is binary
all joins and roster changes are forward immutable (cannot remove/update once joined)
message ID sequences are implicit, explicit did not reduce the required validation
activity states included in a message and separated from receipt states (acks)
There's still implementation progress happening, but I believe the core spec changes have stabilized so this can be merged and improved as needed yet before v3-stable.
Significant overhaul of the v2 chat channel to v3, it still serves the core usage patterns of rival messenger but is minimized in scope for private ephemeral 1:1/group conversation patterns.
join
,chat
, andack