chore(audio-rooms): post-moq-lite cleanup + KDoc + plan refresh

Tidy items now that the moq-lite swap is complete on both sides:

  - Drop the no-op `supportedMoqVersions: List<Long>` parameter from
    `connectNestsListener` / `connectNestsSpeaker`. moq-lite negotiates
    via ALPN, no caller passed a value, and the project rule forbids
    no-op back-compat shims.
  - `NostrNestsRoundTripInteropTest` KDoc + comments now describe the
    moq-lite framing path (one Subscribe bidi for `audio/data`, group
    uni streams with `DataType=0` + GroupHeader + size-prefixed frames)
    instead of the stale IETF "OBJECT_DATAGRAMs / SETUP" framing.
  - `DefaultNestsListener` / `DefaultNestsSpeaker` KDoc now flags them
    as IETF MoQ-transport reference impls — production uses
    `MoqLiteNests*`. They stay around for the IETF unit-test suite.
  - `audio-rooms-completion.md` Phase M5 / M6 / M7 marked **DONE** —
    the plan was written before the moq-lite gap was discovered, so
    it described the work as IETF-MoQ-publisher additions; the
    moq-lite path lands the same outcome via a different protocol.
This commit is contained in:
Claude
2026-04-26 18:18:33 +00:00
parent 71cf99dc22
commit bc43168032
5 changed files with 69 additions and 43 deletions
@@ -115,11 +115,16 @@ sealed class NestsSpeakerState {
}
/**
* Default [NestsSpeaker] that wraps a connected [MoqSession] and plumbs an
* [AudioRoomBroadcaster] through it on [startBroadcasting].
* IETF `draft-ietf-moq-transport-17` [NestsSpeaker] reference
* implementation. **Not used in production** — the production speaker
* path uses [MoqLiteNestsSpeaker] over moq-lite Lite-03 (see
* `nestsClient/plans/2026-04-26-moq-lite-gap.md`). Kept for the IETF
* unit-test suite (`NestsSpeakerTest`) and for any future IETF
* MoQ-transport target.
*
* Construction does NOT open the transport — call [connectNestsSpeaker] to
* walk the full HTTP + transport + MoQ handshake.
* Wraps a connected [MoqSession] and plumbs an [AudioRoomBroadcaster]
* through it on [startBroadcasting]. Construction does NOT open the
* transport.
*/
class DefaultNestsSpeaker internal constructor(
private val session: MoqSession,