Skip to content

feat(app): improve sharing controls, recovery and troubleshooting - #455

Merged
TNTcraftHIM merged 2 commits into
mainfrom
fix/sharing-troubleshooting
Oct 5, 2026
Merged

TNTcraftHIM merged 2 commits into
mainfrom
fix/sharing-troubleshooting

Conversation

@TNTcraftHIM

@TNTcraftHIM TNTcraftHIM commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Sharing failures were often reduced to a generic message, and changing Windows audio exclusion required reopening source selection. This phase keeps actionable failure context at the TV status indicator, adds live source-audio controls, and integrates independent capture, codec and ICE-lifetime repairs against the published contract.

The audio controls reuse source replacement and the existing mixer; audio-only changes preserve video capture, encoded sources and connections. Source enumeration is bounded by the serialized control response. Codec preflight and H.264 decoder input enforce the existing native format. Gateway mappings are revalidated only for actual ICE gatherings. Website scripts and styles now share content-addressed build output.

Browser/server v23, Native control v9, capture v7 and the 1440p ceiling stay unchanged. The held 4K/capability candidate and Magicsock transport are excluded. Documentation changes belong to the existing guides, standards and evidence owners.

Validation

  • npm run check: type checking, 81 test files / 1,370 tests and the production Web build passed.
  • npm run check:go: Go tests, formatting, vet, cross-builds and Windows native capture regressions passed. A first run hit Windows temporary-directory cleanup after an unchanged SQLite test; five focused repetitions and the full rerun passed.
  • Native Host gates passed separately with H.264 and VP8: live/paused quality changes, minimized-window recovery, source replacement, Viewer decoding and complete process/port cleanup. The App Local entry/authentication/invitation gate passed.
  • Website/documentation build, documentation links and repository hygiene passed. Browser review covered Chinese/English, dark/light controls, 320px/360px and desktop layouts, audio selection/off state, troubleshooting dialog/ESC focus return, matching GitHub/Gitee architecture links and the embedded film.
  • macOS/Linux physical capture, Windows 10 exclusion and representative network/device coverage remain explicit evidence limits. CI must pass Linux race checks and native packaging before publication.

Release notes

中文

这是一次分享体验与兼容性更新。Windows App 支持在开播后调整排除的应用声音;遇到分享失败时,也有更清楚的提示和排查入口。

使用改进

  • 在「分享设置 → 声音」中调整系统声音和排除的应用,无需停止分享。支持的 Windows 10 系统也会按实际能力显示排除选项。
  • 分享失败提示保留具体原因。点击电视下方状态,可查看处理建议、诊断入口及对应的故障排查文档。
  • 补全中英文常见问题说明,涵盖 App 连接、选源与编码、站点地址配置、严格网络和浏览器 HDR 限制。

修复

  • 修复窗口较多或名称较长时选源列表可能加载失败,以及部分独立窗口未列出的情况。
  • 改善 Windows 窗口最小化、恢复后的采集衔接。
  • 修复部分 Firefox 编码属性影响连接的问题,并使原生接收的格式预判与实际支持范围一致。
  • 重连时刷新网关端口映射,避免沿用已失效的映射结果;加强原生 H.264 输入校验。
  • 官网下载架构切换增加统一动效,脚本与样式使用带内容标识的地址,减少更新后的缓存混用。

更新 App 并刷新页面即可使用相应改进,无需迁移配置或房间数据。Windows 10 音频排除是否可用取决于系统能力。

English

This update improves sharing controls and compatibility. Windows App users can change audio exclusion during a share, and sharing failures now provide clearer guidance and a direct troubleshooting entry.

Improvements

  • Change system sound and the excluded application under Sharing settings → Sound without stopping the share. Supported Windows 10 installations can also expose exclusion after the capability check.
  • Sharing failures retain their specific cause. Select the status below the TV for recovery suggestions, diagnostics and the relevant troubleshooting guide.
  • Updated English and Chinese guides cover App connectivity, source selection and encoding, site-address configuration, restricted networks and Browser HDR limitations.

Fixes

  • Fixed source lists failing with many windows or long titles, and certain independent application windows being omitted.
  • Improved Windows capture transitions when a window is minimized and restored.
  • Fixed stale Firefox codec attributes disrupting connections and aligned native receiver preflight with its supported formats.
  • Refresh gateway port mappings for new ICE gatherings instead of reusing stale results, and validate H.264 input before native decoding.
  • Added consistent motion to website architecture selection and content-hashed script/style URLs to prevent mixed cached versions.

Update the App and reload the page to use the relevant improvements. No configuration or room-data migration is required. Windows 10 audio exclusion depends on actual system capability.

Sharing failures previously lost useful context behind generic messages, leaving users unsure what to try or include in a report. This patch retains the known failure boundary and makes the existing television status icon open concise troubleshooting, diagnostics and safe copy actions.

The candidate starts from v1.8.0 and includes only failure guidance, matching bilingual documentation and the current work ledger. It preserves Browser/server v23, Native control v9, capture v7 and the 1440p ceiling. Capture, routing, retry behavior, permissions and recording opt-in remain with their existing owners. The retained 4K/media candidate, audio-exclusion refinements, website refinements and Magicsock work are separate.

Validation:

- `npm run check`: type checks, 79 test files / 1339 tests and Web production build passed.
- `npm run check:go`: Go tests, formatting, vet, supported cross-builds and Windows capture build/probes passed. Native macOS SDK checks require a macOS runner and were skipped by the existing policy.
- `npm run gate:app-local`: Chrome 154 / Windows App startup, access bootstrap, Host UI, local invitation and cleanup passed.
- Documentation checks, repository hygiene and documentation-site build passed.
- Browser review: all eight troubleshooting examples in Chinese and English fit a 320 x 640 viewport; guide links, detailed 403 guidance, modal focus, Escape and focus restoration verified. Desktop dark-theme presentation reviewed.

This improves reporting and guidance; it does not establish the causes of unmatched field failures. Physical device/network coverage remains in the existing TODO ledger.

## Release notes

### 中文

这是一次提示与排查体验的维护更新,帮助用户在分享失败时找到原因线索和下一步操作。保持 v1.8.0 的通信协议与媒体行为。

- 点击电视下方的错误图标,可查看排查建议、复制失败信息,并打开诊断或问题排查文档。
- 区分 App 请求超时、连接中断、采集失败与媒体连接失败;改善房间关闭、会话接管、设备不可用和播放异常的中英文提示。
- 更新中英文教程与问题排查,补充 403、1033、WebRTC 限制、校园网、显卡与游戏采集、HDR 过曝及画面模糊/中断的检查步骤。

### English

This maintenance update makes sharing failures easier to understand and troubleshoot. It retains v1.8.0's communication protocols and media behavior.

- Select the error icon below the television to see suggested checks, copy failure details, and open diagnostics or the troubleshooting guide.
- Distinguish App request timeouts, disconnections, capture failures and media connection failures. Clarify room closure, session takeover, unavailable devices and playback errors in both languages.
- Update the English and Chinese guides with checks for 403 and 1033 errors, WebRTC restrictions, campus networks, GPU and game capture issues, HDR overexposure, and blurred or interrupted video.
@TNTcraftHIM TNTcraftHIM changed the title fix(web): clarify failure guidance and troubleshooting feat(app): improve sharing controls, recovery and troubleshooting Oct 5, 2026
@TNTcraftHIM
TNTcraftHIM marked this pull request as ready for review October 5, 2026 18:23
@TNTcraftHIM
TNTcraftHIM merged commit e3ada87 into main Oct 5, 2026
10 checks passed
@TNTcraftHIM
TNTcraftHIM deleted the fix/sharing-troubleshooting branch October 5, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant