Commit Graph
63 Commits
Author SHA1 Message Date
AAA a560f54bcc feat(native): add WGC hardware H264 source (#109)
Adds the explicit Windows WGC/D3D11 hardware-only Media Foundation H.264 source, process-tree audio, direct Go/Pion fanout, source-aware UI/gate, and unique evaluation package helper. Browser VP8 remains the default. Local acceptance and bounded real-device evidence are recorded in the PR; GitHub jobs were billing-blocked before executing any step.
2026-08-21 05:37:29 +08:00
AAA 18bee982a4 fix: require site access for code-only viewers (#100) 2026-08-21 03:53:03 +08:00
AAA bd8a0d80b0 feat(native): package Windows sender evaluation build (#99) 2026-08-21 03:18:48 +08:00
AAA de7426b944 docs: record deferred route recovery gaps (#95) 2026-08-21 02:52:32 +08:00
AAA e867d89418 docs: clarify active media route state (#94) 2026-08-21 02:48:42 +08:00
AAA 6cd99545e6 feat(native): add window-scoped process audio (#93)
Add opt-in Windows 11 target-process audio capture, one AudioEncoder Opus stream, and one shared Pion audio track beside native video.
2026-08-21 02:44:46 +08:00
AAA 7949efac2d docs(audio): scope native Windows audio slice
Document the P1 Windows process-loopback audio slice, browser Opus encoding boundary, QPC timing, failure policy, and one-viewer smoke criteria. Documentation only; no product code changed.
2026-08-21 01:34:31 +08:00
AAA 93c6763198 feat(media): enable hybrid routing for all rooms
Squash merge of the all-room bounded hybrid routing rollout and retired allowlist example cleanup.
2026-08-21 01:31:43 +08:00
AAA 3738db6e51 feat(web): request window-scoped display audio
Merge browser window-audio hint and honest scope status; retain native WASAPI boundary in ADR-0008.
2026-08-21 01:01:22 +08:00
AAA 4b52aadda7 feat(media): add restricted host SFU selected-edge TURN
Adds the explicit host-sfu-ingress selected-edge wire and relay-only Host publisher path while preserving STUN-only ordinary peers.
2026-08-21 00:33:54 +08:00
AAA ddcf9622d3 fix(native): close one-viewer loopback gate
Squash the bounded Native one-Viewer probe correction and retained loopback truth.
2026-08-20 21:29:23 +08:00
AAA 218a8b31d8 fix(native): preserve jittered capture timestamps (#78) 2026-08-20 20:16:47 +08:00
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 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 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 ded0044513 fix(media): bound initial viewer recovery (#58) 2026-08-20 03:26:40 +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 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 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 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 b85a795209 docs(media): gate twenty-viewer default 2026-08-19 21:15:38 +08:00
AAA ad10036d1b fix(media): close the UDP candidate migration boundary 2026-08-19 21:08:49 +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 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 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 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 17ec4aadda feat(media): gate peer assistance by room 2026-08-19 16:18:44 +08:00
AAA d940e77402 docs(media): record peer-assist production gate 2026-08-19 15:42:25 +08:00
AAA 484164d58a docs(status): reconcile merged routing state 2026-08-19 15:24:49 +08:00
AAA a75c755d7c chore: merge main into spike/hybrid-warm-fallback
# Conflicts:
#	docs/README.md
#	docs/project-memory.md
#	docs/research/low-server-media-routes.md
#	docs/status.md
#	src/client/pages/HostPage.tsx
#	src/server/signaling.ts
#	src/shared/protocol.ts
#	tests/protocol.test.ts
#	tests/server-signal.test.ts
2026-08-19 15:06:43 +08:00