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.
|
- 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.
|
- 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"}`
|
## #406 — Launcher records a crashed client as `exited{code:0,reason:"graceful"}`
|
||||||
|
|
||||||
**Status:** OPEN (Campaign CC gate round 1, 2026-08-16)
|
**Status:** OPEN (Campaign CC gate round 1, 2026-08-16)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue