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 |
|
AAA
|
9014474ca6
|
chore: merge main into feat/quality-evidence-alignment
|
2026-08-19 17:21:25 +08:00 |
|
AAA
|
33fcebc728
|
docs(maintenance): defer architecture convergence audit (#32)
docs(maintenance): defer architecture convergence audit
|
2026-08-19 17:20:05 +08:00 |
|
AAA
|
af4ca1f179
|
docs(maintenance): defer architecture convergence audit
|
2026-08-19 17:14:08 +08:00 |
|
AAA
|
ff141a12f3
|
docs(media): bound local reparenting candidate
|
2026-08-19 17:08:39 +08:00 |
|
AAA
|
2341672786
|
docs(media): bind quality evidence safely
|
2026-08-19 16:54:55 +08:00 |
|
AAA
|
fc0d4b27ad
|
docs(media): clarify negotiated quality evidence
|
2026-08-19 16:48:25 +08:00 |
|
AAA
|
2a7a452ab3
|
docs(media): define demand-driven quality fallback
|
2026-08-19 16:42:37 +08:00 |
|
AAA
|
36a2fcdf4a
|
docs(status): record room canary verification
|
2026-08-19 16:22:15 +08:00 |
|
AAA
|
f7453232be
|
chore: merge main into feat/room-peer-assisted-canary
# Conflicts:
# docs/project-memory.md
|
2026-08-19 16:20:43 +08:00 |
|
AAA
|
17ec4aadda
|
feat(media): gate peer assistance by room
|
2026-08-19 16:18:44 +08:00 |
|
AAA
|
97fd8b16b2
|
docs(media): consolidate native feedback evidence
|
2026-08-19 16:14:54 +08:00 |
|
AAA
|
d940e77402
|
docs(media): record peer-assist production gate
|
2026-08-19 15:42:25 +08:00 |
|