Commit Graph
93 Commits
Author SHA1 Message Date
AAA 10c1a31de6 refactor(route): converge on one room controller 2026-08-23 17:17:04 +08:00
AAA cd534c7e68 refactor(client): simplify route candidate proof 2026-08-23 17:17:04 +08:00
AAA f733d8f22b refactor(route): admit exact TURN allocations (#208)
* refactor(route): admit exact TURN allocations

* fix(route): preserve exact selected fallback lifecycles

* fix(route): preserve fallback replacement authority
2026-08-23 04:04:37 +08:00
AAA ca1d715319 fix(route): enforce authenticated endpoint capacity 2026-08-23 00:23:15 +08:00
AAA 78871db805 refactor(route): unify endpoint media copy accounting (#200) 2026-08-22 21:59:44 +08:00
AAA 001f14aaf0 fix: stabilize relayed connection details (#187) 2026-08-22 09:38:00 +08:00
AAA 30ffe44d60 feat(routing): probe Host parents without breaking media (#183) 2026-08-22 08:47:06 +08:00
AAA 9080e68601 fix(signaling): detect silent websocket partitions (#182)
Add a bounded authenticated control-plane watchdog that replaces only an unresponsive socket generation without granting it media-route authority.
2026-08-22 08:32:32 +08:00
AAA f81577c4c5 feat(web): observe selected pair responses (#181)
Add local, generation-guarded selected-pair response evidence without granting it routing or recovery authority.
2026-08-22 08:26:41 +08:00
AAA 12c686ea5e fix(sfu): enforce bounded root invariants (#179) 2026-08-22 08:04:05 +08:00
AAA 35f9b785f9 fix(media): clamp browser relay release capacity (#177) 2026-08-22 07:29:50 +08:00
AAA 35ab8bb700 fix(media): prepare viewer relay parents before route commit (#175) 2026-08-22 06:50:45 +08:00
AAA 532852d587 fix(media): make peer quality reselection make-before-break (#173)
Keep the active peer edge until a bounded alternate Viewer proves current-generation media, while hard failures retain priority and the existing recovery ladder.
2026-08-22 05:45:53 +08:00
AAA f9ecf92c34 feat(web): export privacy-safe connection diagnostics (#171)
Add an on-demand allowlisted diagnostic export that excludes addresses, identities, credentials, and raw signaling data.
2026-08-22 05:03:34 +08:00
AAA 42397e18ce feat(web): add bounded connection self-check (#169)
Add honest pre-share health, WSS, and STUN checks without creating media state or exposing TURN/SFU credentials.
2026-08-22 04:48:18 +08:00
AAA 0af8e90284 feat(observability): expose local media path evidence (#166)
Add local-only SFU, encoder, A/V sync, and selected candidate evidence without changing media routing or wire contracts.
2026-08-22 04:23:55 +08:00
AAA b95aaa5834 feat(media): add screen audio quality presets (#165)
Add configurable 64/128/256 kbps screen-audio presets across P2P, relay, and SFU paths.
2026-08-22 04:10:53 +08:00
AAA 0a5c21025f fix(media): demote corroborated relay parents (#164)
Preserve exact selected edges across unrelated route revisions, demote corroborated bad relay parents, and parameterize the bounded endpoint cap while retaining the production default of two.
2026-08-22 03:55:11 +08:00
AAA a0e901bee9 fix(media): recover active SFU from viewer control (#162) 2026-08-22 01:32:19 +08:00
AAA 2a1c952726 feat(web): show topology to viewers (#161) 2026-08-22 01:08:36 +08:00
AAA 2cf4746ee7 fix(media): retry healthy SFU after cooldown [skip ci] (#160) 2026-08-22 00:56:52 +08:00
AAA 3695d2ab3c feat(web): compact host viewer connection details
Progressively disclose deep diagnostics in the Host roster.
2026-08-22 00:52:05 +08:00
AAA d94bac11ca fix(media): disable screen-audio speech processing [skip ci] 2026-08-21 23:27:48 +08:00
AAA 85a02b2454 fix(web): show peer-relayed viewer evidence [skip ci] 2026-08-21 23:17:16 +08:00
AAA b1d676e317 feat(web): finish participant presence states [skip ci]
* fix(web): hide unique viewer ID suffixes

* feat(web): show viewer roster to viewers

* feat: show intentional sharing pause to viewers

* fix(web): show proven SFU viewer connections [skip ci]

* chore(signal): version presence state wire [skip ci]

* fix(signal): close presence generation contract [skip ci]
2026-08-21 23:05:51 +08:00
AAA 7dcb5af9c1 fix(web): explain locked codec selection [skip ci]
* fix(media): isolate forced H.264 regression [skip ci]

* feat(media): add explicit Web codec selection [skip ci]

* fix(media): raise peer Opus bitrate target [skip ci]

* fix(web): explain locked codec selection [skip ci]
2026-08-21 22:56:20 +08:00
AAA 834579a7fa fix(media): raise peer Opus bitrate target [skip ci] 2026-08-21 22:47:46 +08:00
AAA eef8d156f3 feat(media): add explicit Web codec selection [skip ci] (#150) 2026-08-21 22:11:42 +08:00
AAA f07871b73b feat: enable route-consistent screen audio stereo [skip ci]
Merge reviewed audio quality improvement after video quality-tier production cutover. Production deployment follows exact merged SHA.
2026-08-21 19:44:58 +08:00
AAA 252b6d69c0 fix(sfu): retain live quality across republish [skip ci]
Merge reviewed video quality-tier regression fix. Production deployment follows exact merged SHA.
2026-08-21 19:14:23 +08:00
AAA 9e3ebe26ce feat(media): reselect healthy SFU roots [skip ci]
Event-triggered make-before-break recovery from healthy SFU to a proven P2P baseline parent.
2026-08-21 17:59:41 +08:00
AAA 7410278219 feat(web): prefer H.264 media [skip ci]
Prefer H.264 on Web P2P, browser relay, and SFU publication while retaining negotiated VP8 fallback and disabling parallel backup-codec publication. Local full gate and independent P0/P1 review passed.
2026-08-21 17:06:22 +08:00
AAA 4a216c8b92 fix(media): reapply negotiated P2P quality settings [skip ci] 2026-08-21 15:55:37 +08:00
AAA ef36543d6e fix(web): show current connection truth [skip ci] 2026-08-21 15:44:30 +08:00
AAA 5810ec2201 refactor(media): keep routing automatic [skip ci] 2026-08-21 15:21:59 +08:00
AAA ae153c05bd feat(media): allow two Web relay children [skip ci]
Locally accepted: focused 214 tests, full 458-test suite, typecheck, client/server builds, Chrome five-Viewer cap2 proof, repository hygiene, and independent P0/P1 review. PR head had zero Actions runs.
2026-08-21 13:50:35 +08:00
AAA 91df9b7c89 feat(web): add one-share P2P debug mode [skip ci]
Locally accepted: 107 focused tests, typecheck, client/server builds, repository hygiene, and independent P0/P1 review. PR head had zero Actions runs.
2026-08-21 13:30:05 +08:00
AAA 9a76cc7177 fix(web): keep viewer media state truthful [skip ci]
Locally accepted: 32 files/468 tests, typecheck, client/server builds, repository hygiene, and independent P0/P1 review. PR head had zero Actions runs.
2026-08-21 13:24:14 +08:00
AAA f6a8d533d7 feat(web): streamline room entry UX [skip ci]
Local typecheck, 37 focused tests, client build, hygiene, responsive Chromium check, and independent P0/P1 review passed.
2026-08-21 12:17:18 +08:00
AAA 671f7ef731 feat(web): expose authoritative viewer topology
Local typecheck, 142 focused tests, client build, repository hygiene, and independent P0/P1 review passed.
2026-08-21 11:46:03 +08:00
AAA 16c08eb96f feat(web): raise screen audio send ceiling (#128) 2026-08-21 11:30:15 +08:00
AAA 766aaf4f6e fix(web): show SFU viewer connection truth (#127) 2026-08-21 11:21:28 +08:00
AAA b78e25b4fb feat(web): add audio and loss diagnostics (#120) 2026-08-21 10:12:13 +08:00
AAA 5975dc9b12 feat(web): improve display audio capture (#118) 2026-08-21 09:55:56 +08:00
AAA 0981dafb87 feat(media): retry pending host SFU ingress via selected TURN (#115)
Allow one strictly bound relay-only Host ingress retry during pending SFU prepare, with a single bounded deadline and peer-baseline rollback.
2026-08-21 07:27:07 +08:00
AAA d31912fe79 fix(media): accept LiveKit two-layer screen RIDs (#110)
Match Piik's two-layer sender guard to LiveKit 2.22.0 q,h RID construction, restore private-link Viewer smoke entry, and retain the local one-root SFU/UDP functional evidence. TURN and performance remain outside this functional slice.
2026-08-21 06:09:14 +08:00
AAA e158e202e3 feat(ui): add local preview controls (#103) 2026-08-21 04:33:33 +08:00
AAA d2b66fef9f fix(ui): align sharing pause and display names (#102) 2026-08-21 04:28:12 +08:00
AAA 18bee982a4 fix: require site access for code-only viewers (#100) 2026-08-21 03:53:03 +08:00
AAA e867d89418 docs: clarify active media route state (#94) 2026-08-21 02:48:42 +08:00