open-standards/joule-code/joule-code-rs/crates/joule-moq-room/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 44b16d2382 joule-moq-room: end-to-end encrypted rooms — the record, the clock as the MLS group's external sender, and the room's log
[room] e2ee = true gives every room a WRE1 record the authority signs (suite 0x0004,
recording mode 0 as the descriptor already states) and a joule-moq-mls Clock. The service
is the room's carrier of MLS messages (confidentiality §5.1): one log per room holding the
clock's lifecycle records as signed, its proposals, and every GroupInfo, commit and Welcome
a member posts, in the order the clock took them.

- GET /mls?room&from[&wait_ms]: the log from an entry, held up to 8 s while nothing is new;
- POST /mls/key-package: kept for the principal's Add, from a principal the room granted;
- POST /mls/post: a GroupInfo, or a commit and its Welcome, checked by the clock as every
  member checks it; refused (409) and not carried otherwise;
- GET /room carries the record.

Tests: the record and the log on a room (unit), and the service on a relay with two
members keying through HTTP as a page does: create, Add, Welcome, refused posts not
carried, each opens the other's sealed object, a leave removed by the next commit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 08:34:41 -04:00
..
room_service.rs joule-moq-room: end-to-end encrypted rooms — the record, the clock as the MLS group's external sender, and the room's log 2026-10-20 08:34:41 -04:00