docs: file #407 — windowed resolution offering starves on RDP (video-mode gating)
Campaign CC gate round 1, second finding. The RDP virtual display advertises exactly two video modes (1920x1080 + the 2056x1290 desktop), so #391's curated catalog — correct for fullscreen mode switches — leaves the WINDOWED size dropdown with nothing below 1920. Windowed sizes need no video mode; the fix splits the offering by target state (union list for the dropdown, hardware-gated validation only for the fullscreen apply). Fix lands with this gate round's batch; live workaround confirmed: drag-resize. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
344d88bff7
commit
26e6f984f4
1 changed files with 32 additions and 0 deletions
|
|
@ -24,6 +24,38 @@ What does NOT go here:
|
|||
- Every session: scan OPEN issues at start; promote/close anything we touched during the session before ending.
|
||||
- Promoting to a Phase: mark as `DONE (promoted to Phase X)` + commit SHA where the Phase entry landed.
|
||||
|
||||
## #407 — Windowed resolution offering starves on RDP/virtual displays (video-mode gating)
|
||||
|
||||
**Status:** OPEN (Campaign CC gate round 1, 2026-08-16)
|
||||
**Severity:** MEDIUM (windowed usability on remote/virtual displays)
|
||||
|
||||
Found live during the CC gate over RDP: the Config Resolution dropdown
|
||||
offered exactly two entries — `1920x1080` and the desktop's own
|
||||
`2056x1290` — because the RDP virtual display's driver advertises only
|
||||
those two video modes (measured via `EnumDisplaySettings`: the physical
|
||||
2560x1440 monitor's mode list is not visible to the remote session at
|
||||
all; the two secondary virtual displays expose only `800x600`).
|
||||
`DisplayModeCatalog` (#391) honestly curates what the monitor
|
||||
enumerates — the defect is the DESIGN conflation: the WINDOWED size
|
||||
offering is gated on fullscreen-capable video modes, but a windowed
|
||||
client needs no video mode — any size that fits the desktop is
|
||||
displayable. On a physical monitor the conflation is invisible (rich
|
||||
mode list); on RDP it collapses to nothing below 1920.
|
||||
|
||||
Fix direction: split the offering by target state. The dropdown offers
|
||||
(static modern ladder entries that fit the desktop) ∪ (curated hardware
|
||||
modes), ascending; the windowed apply (a plain Size write) accepts any
|
||||
offered entry ≤ desktop; the fullscreen apply keeps the hardware-catalog
|
||||
validation + `GlfwDisplayModeSwitcher`'s monitor-mode-list hard guard
|
||||
UNCHANGED (a fullscreen pick of a non-hardware mode refuses safely,
|
||||
log-and-stay per #388 — the #392 apply-result seam is that family's
|
||||
existing follow-up). #391's "an offered mode is by construction a
|
||||
supported one" invariant narrows to the fullscreen half and must be
|
||||
re-documented; register IA-22 (user-directed curation) gets the same
|
||||
amendment. Immediate workaround (confirmed live): drag-resize the
|
||||
windowed client — resize events rebuild the swapchain (#387) and the
|
||||
retail UI rescales from its 800x600 authored canvas.
|
||||
|
||||
## #406 — Launcher records a crashed client as `exited{code:0,reason:"graceful"}`
|
||||
|
||||
**Status:** OPEN (Campaign CC gate round 1, 2026-08-16)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue