AAA
d4353686a4
feat(admission): support 20-viewer rooms
2026-08-23 12:28:23 +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
14ee256232
refactor(route): reconcile SFU room lifecycle
2026-08-23 00:52:53 +08:00
AAA
524f012739
refactor(route): enforce global SFU admission
2026-08-23 00:50:11 +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
b7de6ed24f
fix(media): restore peer-assisted 16-viewer admission ( #170 )
...
Keep the default at eight while restoring the documented explicit 1-16 admission range and its cap2/cap3 functional gate.
2026-08-22 05:00:26 +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
e24719db3b
fix(media): compare relay FPS with parent input
...
Peer-only relative relay quality recovery using fresh parent input evidence.
2026-08-22 00:42:57 +08:00
AAA
21f2218645
revert: remove uncalibrated relay FPS reselection [skip ci]
2026-08-22 00:14:36 +08:00
AAA
ed57d3ed5e
fix(media): reselect persistently low-fps relay edges [skip ci]
2026-08-22 00:01:04 +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
c5729c53b4
test(media): add selected TURN allocation gate ( #122 )
...
Add a sanitized standalone Chrome allocation gate and retain the active Host-ingress selected TURN functional evidence. Ordinary peers remain STUN-only; initial ingress, peer-selected, mobile, resource, and performance gates remain open.
2026-08-21 10:22:47 +08:00
AAA
8dc929fc87
fix: cap peer-selected TURN attempts per room ( #121 )
2026-08-21 10:16:59 +08:00
AAA
b78e25b4fb
feat(web): add audio and loss diagnostics ( #120 )
2026-08-21 10:12:13 +08:00