AAA
ded55bcd7d
feat(access): add private room password entry ( #77 )
...
Adds bounded per-room Viewer password entry while preserving grant/public paths and Native v2 wire compatibility.
2026-08-20 20:00:52 +08:00
AAA
2930e4c788
feat: add bounded selected-edge TURN recovery ( #76 )
...
Add one default-off, generation-bound relay-only rebuild for the original failed peer edge after Viewer-root SFU exhaustion while keeping ordinary Web and Native ICE STUN-only.
2026-08-20 19:53:58 +08:00
AAA
f35f08d44d
fix(native): fail closed on sender gate evidence ( #75 )
2026-08-20 19:08:46 +08:00
AAA
721bf583f6
docs(native): record post-fix one-viewer no-go ( #74 )
2026-08-20 18:08:40 +08:00
AAA
e709bc94e2
fix(native): classify local bridge read failures ( #73 )
2026-08-20 17:43:15 +08:00
AAA
57d6e8982b
fix(media): remove participant-wide TURN capability ( #72 )
2026-08-20 17:32:13 +08:00
AAA
83ce08302f
docs(media): restore selected-edge transport policy ( #71 )
...
* docs(deploy): record routing and TURN canaries
* docs(media): restore selected-edge transport policy
2026-08-20 17:15:08 +08:00
AAA
2c38d14f54
test(native): probe Media Foundation H264 hardware encode ( #70 )
2026-08-20 16:08:29 +08:00
AAA
555b728b32
docs(media): record codec hardware decision ( #69 )
2026-08-20 15:32:00 +08:00
AAA
48f3b94fed
feat(routing): rescue blocked relay admission ( #68 )
2026-08-20 15:12:11 +08:00
AAA
671ad6f22e
test(native): gate one-viewer delivery evidence ( #67 )
2026-08-20 14:14:07 +08:00
AAA
1e11e09261
feat: add exact-room peer ICE TURN fallback ( #66 )
2026-08-20 13:37:02 +08:00
AAA
078da7bb57
docs(requirements): queue private room passwords ( #65 )
2026-08-20 13:27:21 +08:00
AAA
51a3022ae1
feat(presence): show named online viewer roster ( #64 )
2026-08-20 13:17:26 +08:00
AAA
320007a12b
docs(deploy): record access and routing rollout ( #63 )
2026-08-20 12:03:43 +08:00
AAA
4b942bfda0
feat(native): add provisional fixed-high sender candidate ( #61 )
2026-08-20 11:32:05 +08:00
AAA
08aee25582
fix(routing): reparent persistently degraded viewer edges ( #62 )
2026-08-20 11:29:53 +08:00
AAA
12c6d25732
fix(access): simplify admission and conceal anonymous routes ( #60 )
2026-08-20 10:53:50 +08:00
AAA
37187ea0cd
docs: record initial recovery deployment ( #59 )
2026-08-20 09:56:26 +08:00
AAA
ded0044513
fix(media): bound initial viewer recovery ( #58 )
2026-08-20 03:26:40 +08:00
AAA
463e6ea7c2
docs: record access v2 production migration ( #57 )
2026-08-20 03:18:55 +08:00
AAA
de967fbc61
feat(access): scope viewer invitations to rooms ( #56 )
2026-08-20 02:42:22 +08:00
AAA
d4b110cf16
fix(media): expose bounded SFU failure stage ( #54 )
2026-08-20 02:20:54 +08:00
AAA
ef7aba8f19
docs(status): preserve snapshot budget
2026-08-20 00:00:29 +08:00
AAA
8c6974475a
chore: merge main into spike/builtin-quality-gate
2026-08-19 23:59:27 +08:00
AAA
9c69287309
docs(quality): record per-flow shaping preflight
2026-08-19 23:59:07 +08:00
AAA
f1b6502c2e
docs(native): define mobile sender capability gates
2026-08-19 23:50:26 +08:00
AAA
05606fbd84
feat: add built-in two-layer SFU quality candidate
2026-08-19 23:39:17 +08:00
AAA
f842d825cc
docs(quality): close SVC gate and prioritize built-in adaptation
2026-08-19 23:30:02 +08:00
AAA
4914790dd2
docs(access): design room-scoped viewer grants
2026-08-19 22:46:58 +08:00
AAA
6ca2ffc1ea
feat(ui): add viewer volume and room codes
2026-08-19 22:32:04 +08:00
AAA
4fb64f2382
docs(quality): close unsuitable layer candidates ( #46 )
...
* docs(deploy): record public canary boundary
* docs(status): trim canary snapshot
* docs(quality): close unsuitable layer candidates
2026-08-19 22:10:05 +08:00
AAA
cd1d6d5144
docs(deploy): record public canary boundary
2026-08-19 21:55:15 +08:00
AAA
23e3a8b07d
chore: merge main into feat/sfu-udp-exact-room
...
# Conflicts:
# docs/adr/0005-automatic-hybrid-media-routing.md
# docs/status.md
# docs/方案设计.md
2026-08-19 21:25:50 +08:00
AAA
25a988987c
docs(media): finalize UDP migration constraints
2026-08-19 21:23:18 +08:00
AAA
b85a795209
docs(media): gate twenty-viewer default
2026-08-19 21:15:38 +08:00
AAA
9dc6d906c3
chore: merge main into feat/sfu-udp-exact-room
...
# Conflicts:
# docs/status.md
2026-08-19 21:09:51 +08:00
AAA
4e1797f2d0
docs(product): schedule room presence diagnostics
2026-08-19 21:09:07 +08:00
AAA
ad10036d1b
fix(media): close the UDP candidate migration boundary
2026-08-19 21:08:49 +08:00
AAA
b7941c52f4
docs(ui): schedule viewer volume control
2026-08-19 20:56:42 +08:00
AAA
12d4b4e4aa
chore: merge main into feat/sfu-udp-exact-room
...
# Conflicts:
# docs/project-memory.md
# docs/status.md
# docs/方案设计.md
# docs/需求理解.md
# src/shared/protocol.ts
# tests/server-signal.test.ts
2026-08-19 20:46:57 +08:00
AAA
ae298aadd2
feat(media): migrate ordinary ICE to STUN-only
2026-08-19 20:44:36 +08:00
AAA
a949fbaf15
feat(quality): add authenticated viewer evidence
2026-08-19 20:39:56 +08:00
AAA
b4548c88c5
docs(media): define deployed quality and audio gates
2026-08-19 20:18:08 +08:00
AAA
f23259d620
docs(media): adopt SFU-root optional-TURN direction
2026-08-19 19:47:42 +08:00
AAA
227ea98bd2
docs(native): narrow gate status and ownership
2026-08-19 19:03:31 +08:00
AAA
7efbb194b4
docs(native): record product gate no-go
2026-08-19 18:57:46 +08:00
AAA
5b66cb22a9
feat(media): expose negotiated codec evidence
2026-08-19 18:42:46 +08:00
AAA
dc41fac831
docs: align route and quality evidence candidates
2026-08-19 18:17:42 +08:00
AAA
691fca6eb0
feat(media): align quality evidence generations
2026-08-19 17:29:03 +08:00