[MeshCentral - 3]. Remote desktop: multi-monitor Show All grid over a single tunnel - #249
Open
romanivan-flamingo wants to merge 1 commit into
Open
[MeshCentral - 3]. Remote desktop: multi-monitor Show All grid over a single tunnel#249romanivan-flamingo wants to merge 1 commit into
romanivan-flamingo wants to merge 1 commit into
Conversation
Selecting All Displays on a multi-monitor device now renders a grid of per-display views (Figma 1-70900): the tunnel streams the combined virtual desktop (0xFFFF) into the hidden main canvas, and each display's cmd-82 rectangle is blitted onto its own canvas after every tile batch, with pointer input mapped back into virtual-desktop coordinates. Falls back to the combined single view when the agent sends no geometry. Protocol fixes surfaced by live testing against real agents: - cmd 82 arrives as 14-byte frames (no flags word) - the parser required 16 bytes and silently dropped every geometry frame - cmd 11 response is [count, id x N, selected] - the trailing selected word broke the per-entry size heuristic; parse the observed format and merge in geometry from cmd 82 (which can arrive first) - switchDisplay sent UI id 0 on the wire for All Displays instead of 0xFFFF (parseDisplayList maps 0xFFFF to 0 but nothing mapped it back) - auto-select of the primary display now runs once, so later cmd-82 updates no longer kick the user off an explicit All Displays choice Known limitation (escalated to the agent team): the macOS agent does not answer cmd 11/82 at all, so display switching and the grid are Windows-only until the bundled meshagent supports it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of the Remote Access Approval Flow epic (ClickUp 86agfp8w9), subtask [Admin FE] Multi-monitor "Show All" (86ajx03vq). Figma: grid view (1-70900). Spike conclusion and live-test findings are on the ClickUp subtask.
0xFFFF) into the hidden main canvas; each display's rectangle (cmd 82 Display Location Info) is blitted onto its own grid canvas after every tile batch. Pointer input from a grid cell maps back into virtual-desktop coordinates (object-contain math + display offset); keyboard is already window-global. Graceful fallback to the combined single view when the agent sends no geometry.MeshDesktop: mouse/wheel binding extracted intobindPointerInput(canvas, toRemoteXy)shared by the main canvas and display views; newattachDisplayView/detachDisplayViewAPI.Protocol fixes (pre-existing bugs surfaced by testing against real agents):
[count, id x N, selected]- the trailing selected word broke the old per-entry size heuristic; rewritten per the observed wire format, merging geometry from cmd 82 (which can arrive before cmd 11)switchDisplaysent UI id0on the wire for All Displays instead of0xFFFFKnown limitation (escalated to the agent team on the ClickUp subtask): the macOS agent does not respond to cmd 11/82 at all - display switching and the grid are effectively Windows-only until the bundled meshagent supports display enumeration on macOS.
Test plan
🤖 Generated with Claude Code