AAA
a03b013594
feat(diagnostics): expose sanitized packet loss evidence ( #362 )
...
Use fresh RTCP loss reports for sender diagnostics and include existing Viewer packet loss, RTT, and jitter in sanitized route logs without changing routing.
2026-09-01 03:47:13 +08:00
AAA
30bde1836b
perf(media): optimize browser media experience ( #360 )
...
Load only the active client route, expose resolved live codec state, and add exact depth-aware browser quality evidence with current-UI quality-control gates.
2026-08-31 20:29:08 +08:00
AAA
1b14306b33
perf(media): optimize browser media pipeline evidence ( #359 )
...
Measured Browser-pipeline improvements, bounded SFU observability, and one-commit release ownership. Local repository hygiene, 860 tests, client/server builds, and the 20-Viewer seven-check gate passed. GitHub Actions did not start because of the account billing/spending-limit annotation.
2026-08-31 14:46:43 +08:00
AAA
ae2ab6f78e
refactor: finish audited state ownership cleanup ( #357 )
2026-08-31 12:27:13 +08:00
AAA
1e5c77d916
feat(ui): polish living room presentation ( #355 )
2026-08-31 10:37:11 +08:00
AAA
cfb1f4b129
fix(route): stabilize bounded quality convergence ( #351 )
2026-08-31 03:13:51 +08:00
AAA
56e19139e6
feat(ui): add theater mode visual hints ( #350 )
2026-08-31 02:40:10 +08:00
AAA
c01303a491
fix(ui): clarify visual status semantics ( #348 )
2026-08-31 02:07:51 +08:00
AAA
e47d06fcdd
fix(route): fix route and media state ownership ( #347 )
2026-08-31 01:45:43 +08:00
AAA
837cbe1cf4
feat(ui): refine host presence and diagnostics layout ( #344 )
...
Render the Host in the living-room roster, keep participant identity and diagnostics consistent, and make topology/detail layouts responsive without changing routing or media behavior.
2026-08-31 00:28:18 +08:00
AAA
7833158ab9
fix(route): fix degraded edge recovery with same-parent regeneration
...
Merged after local npm run check, 20-Viewer Chromium loopback gate, and documentation validation. GitHub Actions validation was not started because the repository account billing/spending limit prevented runner start.
2026-08-30 21:19:32 +08:00
AAA
87d9aad487
fix: fix presentation and audited ownership invariants ( #338 )
...
* Fix presentation and frontend ownership invariants
* Fix audited backend ownership invariants
2026-08-30 18:38:36 +08:00
AAA
6d55b4752e
feat(ui): polish participant overview and theater layout ( #336 )
2026-08-30 14:07:40 +08:00
AAA
be311fb618
fix(media): fix quality convergence and video track ratcheting ( #334 )
...
* Fix quality convergence evidence lifecycle
* Own outbound video track generations
2026-08-30 10:16:45 +08:00
AAA
4f2f46c82d
fix(route): fix verified routing lifecycle invariants ( #332 )
...
* Fix verified routing lifecycle invariants
* Compare delivered candidates against stalled routes
2026-08-30 00:12:32 +08:00
AAA
2c93ab1343
feat(ui): polish living-room presentation and recovery ( #328 )
2026-08-29 15:49:33 +08:00
AAA
050a20c4c7
feat(ui): refine topology presentation ( #326 )
2026-08-29 05:19:12 +08:00
AAA
a7887f2fb3
perf(ui): reduce living-room UI render cost ( #324 )
2026-08-29 04:39:12 +08:00
AAA
cf028769d2
feat(ui): polish compact UI details ( #323 )
2026-08-29 04:16:35 +08:00
AAA
045b1d758e
feat(ui): integrate living-room UI ( #321 )
2026-08-29 03:22:30 +08:00
AAA
982094a7fa
feat(media): add uplink attribution diagnostics ( #319 )
2026-08-29 00:27:21 +08:00
AAA
b129b3dbc0
fix(ui): keep route diagnostic labels stable ( #318 )
2026-08-28 22:53:27 +08:00
AAA
27421f458c
fix(route): stop SFU opportunity generation churn ( #317 )
2026-08-28 21:31:02 +08:00
AAA
ce19085265
fix(access): renew site access during active use ( #315 )
2026-08-28 20:11:03 +08:00
AAA
fe1e31c8bb
refactor: simplify audited mechanisms and quality evidence ( #314 )
2026-08-28 18:19:15 +08:00
AAA
7653164192
fix(route): fix audited routing and lifecycle invariants ( #313 )
2026-08-28 17:00:26 +08:00
AAA
d7cb8f8859
feat(route): enable topology convergence by default ( #311 )
...
Default new Host shares to native-edge topology convergence while preserving the pre-share opt-out and peer-only default.
2026-08-28 08:38:25 +08:00
AAA
1b80d64810
fix(route): silently drop stale route signals ( #309 )
2026-08-28 02:06:11 +08:00
AAA
42e756e00a
fix(room): preserve Viewer capacity across sharing generations ( #307 )
2026-08-28 01:46:32 +08:00
AAA
8f7fbe5bfe
fix(route): make route convergence measured and presentation-stable ( #305 )
...
* Align stable route debug ordinals
* Make route convergence measured and presentation-stable
2026-08-28 00:55:24 +08:00
AAA
992ee15437
fix(route): fix committed route state and bounded convergence ( #303 )
2026-08-27 22:59:12 +08:00
AAA
ad175408c0
fix(route): guard SFU quality convergence ( #301 )
...
Fixes the production-proven P2P-to-SFU quality misrouting. Local full checks and independent P0/P1 review passed; the GitHub job did not start any steps.
2026-08-27 20:21:55 +08:00
AAA
71de094033
feat(route): implement native-edge topology convergence ( #299 )
...
Implements the accepted opt-in native-edge local convergence controller and the pre-share topology optimization and peer-only policies. Local full checks and independent P0/P1 reviews passed; the GitHub job did not start any steps.
2026-08-27 18:03:11 +08:00
AAA
501df27bce
feat(quality): implement strict v13 quality shadow ( #291 )
2026-08-27 02:57:38 +08:00
AAA
1311a70cac
fix(media): preserve media presentation across route updates ( #289 )
2026-08-27 02:08:04 +08:00
AAA
d87f6730b7
fix(recovery): fence media recovery to current authority ( #284 )
2026-08-26 23:56:27 +08:00
AAA
ba9c579f19
fix(recovery): preserve exact client authority intents ( #283 )
2026-08-26 23:53:04 +08:00
AAA
efe3f8d6be
fix(route): return exact route terminal owners ( #282 )
2026-08-26 23:51:41 +08:00
AAA
e31e6250fc
refactor(access): separate password derivation outcomes ( #281 )
2026-08-26 23:49:57 +08:00
AAA
06c154a080
fix(media): preserve Host capture across media recovery ( #279 )
2026-08-26 23:08:29 +08:00
AAA
4a919d9b65
fix(route): rebind Viewer route identity after restart ( #278 )
...
* fix(route): rebind Viewer identity after restart
* test(route): require authoritative Viewer identity
2026-08-26 22:45:57 +08:00
AAA
74e1d83d25
feat(media): add stable room controls and codec selection ( #272 )
...
* feat: add host codec preference controls
* test: retain relay codec across source replacement
* feat: identify graceful service restarts
* feat: add atomic room replacement
2026-08-26 20:32:52 +08:00
AAA
dc1869778c
feat(room): add optional stable SQLite room authority ( #271 )
...
* feat(rooms): add stable SQLite authority
* fix(config): require absolute room database path
2026-08-26 19:50:35 +08:00
AAA
68719dcdd8
fix: make H264 gate content independent
2026-08-26 19:05:21 +08:00
AAA
4960695821
feat: show negotiated video codec
2026-08-26 19:05:21 +08:00
AAA
6b3c3de8a0
feat: prefer proven H264 browser senders
2026-08-26 19:05:21 +08:00
AAA
962f91622e
fix(viewer): make page lifecycle recovery route-safe
2026-08-26 04:58:53 +08:00
AAA
00c205edbe
fix(route): converge direct paths without disrupting media
2026-08-26 03:25:40 +08:00
AAA
f87c2ba0ed
fix(route): preserve media while converging direct paths
2026-08-26 01:21:34 +08:00
AAA
e0e7c30978
fix(rooms): bound active room preference
2026-08-25 23:43:30 +08:00