Skip to content

feat: add idle host display setting#1476

Merged
adamshiervani merged 8 commits into
devfrom
feat/host-display-advertisement
May 25, 2026
Merged

feat: add idle host display setting#1476
adamshiervani merged 8 commits into
devfrom
feat/host-display-advertisement

Conversation

@adamshiervani
Copy link
Copy Markdown
Contributor

@adamshiervani adamshiervani commented May 25, 2026

Closes #901, #975, #233

Summary

  • Hide JetKVM's host display when no remote session is active, then restore it on reconnect.
  • Add a video setting and JSON-RPC methods to control the behavior.
  • Cover the idle display flow in remote-agent e2e tests.

Note

Medium Risk
Changes HDMI EDID/HPD and session lifecycle behavior on the host; regressions could affect display enumeration, EDID presets, or reconnect UX, though logic includes rollback and e2e coverage.

Overview
Adds an optional hide JetKVM display when idle flow: when enabled and no remote WebRTC sessions are active, the device stops advertising HDMI EDID (clears EDID / drops HPD) so the host no longer sees JetKVM as a monitor; EDID is restored when the first session connects, on native restart, and when EDID or idle settings change.

Backend wires this through HideDisplayWhenIdle config, session hooks in webrtc.go, centralized applyHostDisplayAdvertisement / reapplyHostDisplayAdvertisement in video.go, a DisabledEDID sentinel, zero-size EDID support in native/CGO, and JSON-RPC getHostDisplayIdleMode / setHostDisplayIdleMode with safer setEDID rollback. The video settings UI adds a checkbox; WebRTC video adds a short startup grace before showing HDMI errors after hotplug cycles.

E2E covers host connector visibility across idle vs active sessions; strings added for all locales.

Reviewed by Cursor Bugbot for commit 2433b02. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread video.go
Comment thread video.go Outdated
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit afd04c8. Configure here.

Comment thread ui/src/components/WebRTCVideo.tsx
@adamshiervani adamshiervani marked this pull request as ready for review May 25, 2026 09:03
@adamshiervani adamshiervani merged commit f332cee into dev May 25, 2026
5 checks passed
@adamshiervani adamshiervani deleted the feat/host-display-advertisement branch May 25, 2026 09:52
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.

Disable HDMI when not in use not effective with latest version

1 participant