## Problem and outcome / 问题与结果
Native sharing could start capture before discovering that the browser could not create its local media connection. Connected Viewer routes could also be retired solely because decoded frames stopped advancing, including quiet or backgrounded game sources. This maintenance phase acquires the browser bridge before capture, preserves connected routes through frame silence, scopes Native keyframe recovery to the requested outputs, and reports terminal Browser sender failures to the existing connection owner. It also includes the accepted narrow-screen layout and tooltip corrections.
## Release notes
### 中文
这是一次维护更新,重点修复分享启动、观看连续性和手机窄屏布局。
- 修复浏览器媒体连接无法初始化时,App 仍启动采集后立即停止的问题,并保留更明确的失败原因。
- 避免仅因画面暂时没有更新,就断开已连接的观看线路;适用于游戏切后台等静止画面场景。
- 修正原生画面恢复请求的范围,避免某一路请求关键帧时影响其他输出;浏览器发送失败也会及时通知现有连接处理流程。
- 修复窄屏下房间号与操作按钮的排布,改善长标题和提示浮层的显示。
短时模糊与部分用户报告的偶发断流仍在调查,本次更新不代表所有相关情况均已解决。升级 App 或自部署 Server 后刷新页面即可,无需修改配置。
### English
This maintenance update focuses on sharing startup, viewing continuity, and compact layouts on phones.
- Fix capture starting and immediately stopping when the browser cannot initialize its local media connection, and preserve clearer failure details.
- Keep connected viewing routes alive when the picture temporarily stops updating, including quiet or backgrounded game sources.
- Keep Native keyframe recovery scoped to the requested outputs and report terminal Browser sender failures to the existing connection handler.
- Fix room-code and action layout on narrow screens, and improve long headings and tooltip placement.
Brief quality drops and some reports of intermittent stream loss remain under investigation; this update does not claim to resolve every reported case. Update Piik App or your self-hosted Server and refresh the page. No configuration changes are required.
## Verification / 验证
- `npm run check`: 76 files / 1,133 tests, TypeScript and production Web build passed.
- Targeted Browser sender/pool checks: 97 tests passed on maintenance and interaction candidates.
- Go mediaedge/nativehost/nativecapture/forwarding tests and scoped vet passed; output-scope regression tests reject the old behavior.
- Matched Chrome 152 VP8/H264 ordinary/pool tests with two viewers and a one-second network constraint completed with healthy sibling isolation. VP8's deeper pooled quality dip remains open.
- Physical startup/resource-exhaustion and quiet-game reproduction boundaries are documented in the existing research owners.
- `npm run check:go`: formatting, Go tests/vet, Windows/Linux builds, Windows native capture compilation/probes and regressions passed. Darwin packaging and Go race checks run on the native CI runners.
- Actual Windows App H264 and VP8 Host gates passed: decoded video, live/paused profile changes, quiet/background-source recovery, source replacement, failure cleanup and subsequent sharing; all experiment-owned processes and ports closed.
- Website build and repository hygiene checks passed. Independent full-phase frontend and native reviews found no release-blocking regression.
## Impact / 影响
Patch release v1.6.6. Browser/server v23, Native control v9, capture v7 and SQLite schema 2 remain unchanged. No interaction prototype, route-selection policy, new quality heuristic, or configuration migration is included. Real-phone and heterogeneous network/device coverage remain bounded by the existing verification record.