Skip to content

fix(tracking): skip bad Firefox carets and container-sized focus (#278) - #279

Merged
Maxaubert merged 4 commits into
mainfrom
fix/278-track-bogus-caret
Sep 29, 2026
Merged

Maxaubert merged 4 commits into
mainfrom
fix/278-track-bogus-caret

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #278.

  • Gecko bad caret: in Firefox-family windows (MozillaWindowClass), a caret whose centre is outside its focused element is skipped, so the view stays put. Firefox inside a zoomed iframe (a Claude artifact at high Ctrl+ zoom) reports wrong positions from both the Win32 and UIA sources. Other apps keep their 0.10.3 caret behaviour.
  • Container focus: focus rects covering half the monitor or more (the page after leaving a text box, panes, windows) are skipped, so leaving a text box no longer drops the view to mid-page.
  • Pure filters in src/track_filter.h with doctests built from the field-recorded numbers; findings in docs/TRACKING-FINDINGS.md.
  • Version 0.10.4.

Verification

  • build.bat test: all doctests pass (new test_track_filter.cpp)
  • Deployed the signed UIAccess build and field-tested by the owner in Zen (the artifact no longer jumps, normal fields still follow, leaving a text box keeps the view)

🤖 Generated with Claude Code

https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG

Maxaubert and others added 4 commits September 29, 2026 10:09
…focus (#278)

Firefox in a zoomed iframe (a Claude artifact at high Ctrl+ zoom) reports the
caret, through both GetGUIThreadInfo and UIA, outside the focused input
(input 2226,997 798x74, caret 3097,1226 1x118), so the view showed empty page.
A caret whose centre is outside its element is now skipped. Leaving a text box
moves focus to the whole page, and centring on it dropped the view; focus rects
covering half the monitor or more are skipped. Both logged under trackLog.
Version 0.10.4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
Field: in the zoomed Firefox iframe both caret sources are wrong (the UIA caret
and the element bounds point above the text, the Win32 caret below), so there is
no source to fall back to. The skip now applies only to MozillaWindowClass
windows; every other app keeps its 0.10.3 caret behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
@Maxaubert
Maxaubert merged commit 768818b into main Sep 29, 2026
1 check passed
@Maxaubert
Maxaubert deleted the fix/278-track-bogus-caret branch September 29, 2026 08:30
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.

Tracking: bogus caret in zoomed Firefox iframes; page-level focus pulls the view

1 participant