Skip to content

Polish Nimbus alpha migration UX - #5

Draft
ywkuno wants to merge 60 commits into
masterfrom
release/nimbus-v0.1.0-alpha.1-update-safety
Draft

ywkuno wants to merge 60 commits into
masterfrom
release/nimbus-v0.1.0-alpha.1-update-safety

Conversation

@ywkuno

@ywkuno ywkuno commented May 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • show app cover art on the Applications page so imported Apollo/Nimbus apps are easier to scan
  • warn before risky local WebRTC streaming when virtual display settings can blank the host display
  • replace the inherited Sunshine connection-lost mark with the Nimbus logo
  • make incoming pairing tray notifications reopen Clients with Pair Client highlighted and the PIN field focused
  • add a Windows tray action to restore the default audio output when Steam Streaming Speakers gets stuck after a stream

Validation

  • npm run build from src_assets/common/assets/web
  • cmake --build build/nimbus-package-validation --target sunshine --parallel with MSYS UCRT on PATH
  • cmake --build build/nimbus-package-validation --target sunshine --parallel 1 after the audio restore action
  • cmake --build build/nimbus-package-validation --target package_installer --config Release -j 1 after the audio restore action
  • fresh local installer generated at build/nimbus-package-validation/cpack_artifacts/NimbusSetup.exe

Local installer

  • SHA256: 2ED40434DF2115A688F8C34FA603D2B0CD6935574FF184020850208368B71273
  • Signature: NotSigned, expected for local alpha builds

Notes

  • the audio restore action is a recovery UX for the observed Windows audio sink lock; it does not change stream teardown behavior

ywkuno added 30 commits May 21, 2026 16:41
Nonary and others added 30 commits May 23, 2026 01:17
NVENC SDK 12.2 moved codec bit-depth fields, but 12.1 runtimes still expect the legacy packed layout.

Treat separate input/output bit-depth fields as available only for API 12.2+ so older drivers no longer reject HEVC Main10 probes. Update the API gate test to lock the compatibility boundary.

Generated with [Codex](https://openai.com/index/introducing-gpt-5-2-codex/)

Model: GPT 5.5 Codex high
(cherry picked from commit 6168f5f)
AV1 10-bit fallback was still using separate bit-depth fields when an SDK 12.2+ build negotiated NVENC API 12.1, which could leave older drivers with unset legacy bits.

RTSP setup now preserves launch HDR intent when ANNOUNCE reports SDR, while SDR 10-bit requests keep forcing HDR disabled through delayed display-helper re-applies so virtual displays do not settle in HDR/PQ.

Generated with [Codex](https://openai.com/index/introducing-gpt-5-2-codex/)

Model: GPT 5.5 Codex high
(cherry picked from commit cbf2d97)
Automatic stream-end restore could accept a stale previous-session snapshot when the current session snapshot was unavailable, leaving secondary monitors disabled.

Default restore now tries the golden snapshot before previous state and carries the golden-first setting through REVERT, matching the working hotkey path.

Generated with [Codex](https://openai.com/index/introducing-gpt-5-2-codex/)

Model: GPT 5.5 Codex xhigh
(cherry picked from commit 7968101)
Golden snapshots could appear current after monitor, mode, HDR, primary, or layout changes, leaving recovery decisions based on stale state.
Expose snapshot freshness through the config API and show a dashboard warning when the saved display snapshot should be recreated.
Keep physical output overrides as capture targets when display configuration is disabled, preserve runtime override selection, and cache elevated embedded MSI payloads where Windows Installer can read them.

Generated with [Codex](https://openai.com/codex/)
Model: GPT 5.5 high

(cherry picked from commit 91a9680)
Keep virtual-display stream startup probes from cancelling or overwriting an
in-flight physical display restore. When a restore has already begun, skip
current-session snapshot refreshes, ignore late DISARM probes, and keep the
existing helper alive so an explicit APPLY can supersede the restore through
IPC instead of hard-restarting the process.

This prevents degraded physical monitor states from replacing the restore
baseline while the helper is still waiting for the golden or previous layout
to confirm after the monitor becomes available again.

Generated with [Codex](https://openai.com/index/introducing-gpt-5-3-codex/)

Model: GPT-5.5 X-High
(cherry picked from commit 72b0d99)
Port upstream Vibepollo/Sunshine certificate-auth hardening by no longer accepting X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY during client certificate verification.

Upstream commit: be0e85b
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.

3 participants