-
v0.10.3: A actually fires, drawer paths clip from the head
release / Build Windows .zip (push) Canceled after 0sreleased this
2026-06-01 06:05:21 +03:00 | 34 commits to main since this releaseTwo follow-ups on v0.10.2:
-
A button on gamepad-focused element didn't click. v0.10.2 set
data-gs-focused for the visual ring AND called .focus(), but the
click handler still read document.activeElement to find the
target — and WebView2 sometimes leaves activeElement at
right after a programmatic .focus() on a button (timing /
stacking-context quirk). The visual ring was right, the click
target was wrong.Fix: track the focused element in a focusedRef ourselves
(ShellSettingsPage + GameDrawer). setGamepadFocus updates the
ref alongside the attribute + .focus() call, and the A handler
reads focusedRef.current directly — no more reliance on the
browser's activeElement. moveFocus also prefers focusedRef
so a stale activeElement can't jump the cursor back.Bonus: A now also toggles checkbox/radio inputs (previously
skipped along with text inputs). Settings has the gs-check
pack-toggle and gs-radio rows; the user expectation is "A on
the focused row toggles it", and .click() on a checkbox does
exactly that. Text/number/select still skipped because A there
would be a no-op.Enter (keyboard) mirrors A for the same controls, so a
keyboard-only user gets the same activation semantics. -
GameDrawer rows overflowed wide on long file paths.
v0.10.0 fixed the horizontal scrollbar with overflow-x-hidden,
but the inner content still grew past the right edge and got
chopped — losing the END of paths is dumb (the meaningful part
is the file name, not "C:\Program Files (x86)\SteamLibrary…").New .truncate-start utility (style.css): direction:rtl +
unicode-bidi:plaintext + text-overflow:ellipsis — keeps the
text rendered LTR for ASCII paths but reverses the truncation
axis so the head gets eaten with "…" and the tail (game
folder + filename) stays visible.Applied to install rootPath / exePath, save-loc path, snapshot
archivePath. Chips rows above the paths got flex-wrap so a
stack of badges can't push the layout wide either. Drawer
max-width bumped 3xl → 4xl for headroom alongside the action
buttons on the right.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
Downloads
-