Skip to content

Polish Nimbus alpha migration UX#5

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

Polish Nimbus alpha migration UX#5
ywkuno wants to merge 54 commits into
masterfrom
release/nimbus-v0.1.0-alpha.1-update-safety

Conversation

@ywkuno
Copy link
Copy Markdown
Collaborator

@ywkuno ywkuno commented May 28, 2026

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 24 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 6168f5fbcf41f4c04d6e417a2e22837afb30a114)
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 cbf2d973858d6f9b5828bab64b0d010aae6eb748)
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 7968101473ab3bee58d97e9080d91c13437eb2bf)
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 91a96809eb238d02ef68e4b08054b85c6d9f1e39)
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 72b0d996d91aa0e3230111ca8774e350e6aee355)
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