Skip to content

fix(client): align zoomed choice menus and native tooltips - #2299

Merged
DoodleBears merged 22 commits into
mainfrom
codex/2269-macos-zoom-acceptance
Oct 19, 2026
Merged

DoodleBears merged 22 commits into
mainfrom
codex/2269-macos-zoom-acceptance

Conversation

@DoodleBears

@DoodleBears DoodleBears commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Issue #2269 | Agent claim | Versioned evidence and limits

Why the change

Keep shared choice menus and native tooltips aligned with their controls and inside the viewport during whole-window zoom.

Special things to note

Change outline

Select trigger → viewport anchor → existing PointerMenu → owning Modal
Native Tooltip focus/hover → measured anchor + bubble → viewport fit
Qualified zoom lease → convert corrective translation → restore on disposal
Native Menu/Tooltip → selection or dismissal → preserve owner and focus

Matched Select before/after at 144% are isolated source-component fixtures using the unchanged reachable native Menu/Modal code and CSS; they are not native Desktop screenshots.

Source fixture before Source fixture after
Source fixture: choice menu outside viewport Source fixture: choice menu in owner Modal

The following pair is actual native Desktop output at the same 144%, viewport and Home-name focus state: installed .14 before, updated .16 after. The tooltip moves from a second-scaled coordinate to the button; the original draft and font preferences remain.

Native Tooltip before Native Tooltip after
Native Tooltip displaced from Home name at144% Native Tooltip beside Home name at144%

Final .16 native record and full-window guest recovery, earlier versioned native focus/menu/transport record. Representative supported paths do not qualify arbitrary third-party pages/programmatic tooltip triggers or unknown Desktop versions.

Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264. Parent: #2245. No merge or release.

Review refresh (2026-10-20): latest main is integrated; source semantic diffs remain unchanged. Fresh Standards/Spec review and CI bind to 79ff75d84911697cc05f083ba87a62a696b362db. Current stack: main → #2294 → #2295 → #2298 → #2299. #2317 is closed/superseded by merged #2319. Native evidence retains its recorded artifact scope; default reset/keypad #2318 and Windows/Linux #2270 remain outstanding. The Human authorizes merge after all gates pass; no release.

Merged to main as 64315272e5247993e2c5569513703d24c2032b49 after exact-head CI and independent Standards/Spec reviews passed. See final stack record. No release.

Issue: #2269

Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2269

Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
@DoodleBears

Copy link
Copy Markdown
Contributor Author

S2 source correction published — native acceptance remains open

Draft PR #2299 (stacked on #2298), head 6c59373d209efac761678b7dd1aa2842d6c16217, corrects shared Select/PointerMenu geometry under root zoom. It retains the native Menu/Modal implementation, chooses the owning Modal portal, clamps viewport coordinates and preserves keyboard focus behavior.

Matched 144% before/after source fixtures and full matrix: 136/136 cases pass across all 17 levels and two viewport sizes; baseline fails 132/136. Both PNGs return HTTP 200 and the PR embeds their exact-head raw URLs. These are synthetic source-component fixtures, not native DSH screenshots. The fixture accesses only its own static origin, with no Host/auth/user data. It is not access to the browser-denied fresh-product UI.

After merging #2298: 24 related tests, lint, format and root/mobile types pass. Earlier unchanged Client-source full suite: 2035 passed, one existing skip. Remote CI is separate.

Still open: native menu/portal/extreme-zoom acceptance in the preserved desktop, corrected packed activation, same-user-data Host switch, physical IME and the remaining focus/restore matrix. #2269 cannot yet close. #2270 is deferred for the Human Windows handoff. The current native window stays unchanged for the pending Human input step. No merge/release/upstream changes. Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Refs #2269

Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
@DoodleBears DoodleBears added the ci:full Run the complete verification test plan for this pull request label Oct 19, 2026
Refs #2269

Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
@DoodleBears DoodleBears changed the title fix(client): keep choice menus aligned under window zoom fix(client): align zoomed choice menus and native tooltips Oct 19, 2026
@DoodleBears

Copy link
Copy Markdown
Contributor Author

Final macOS behavior qualification — Draft PR, CI blocker retained

PR #2299 now Closes #2269 only, stacked on #2298; exact evidence head d56e3a77c746cb0cd8756437cddc614ff2e46d25. It remains Draft/unmerged. No upstream/ASAR changes or release.

  • The foregrounded final .14 package passed actual native webview input focus: one minus and one plus each changed the root exactly one level, preserving guest identity, input and native zoom1. Main and same/cross-origin frame rows are separately scoped. Browser/Computer target menus and Home context-menu placement/Escape/focus checks passed.
  • Native Tooltip probing found and fixed a real second-scaled-coordinate bug. Actual .16 package pixels at144% and120% now put the Home-name tooltip beside its trigger. The original draft and ui-theme font15 remain. This reuses native visibility, delay, keycap and dismissal behavior.
  • The Human minimized the same final .16 Profile for the armed test and accepted the restored ruler/input. The observer captured creation and resize while hidden, then visible restoration at the same1261×820/144%. Both initial navigation-ready events occurred while hidden; the actual complete-window capture shows the native guest ruler and input. No automatic reload/recreation/fullscreen recovery was added. The task-only fixture was released afterward. Pre-restoration guest-id was not sampled in this particular hidden-create row; the separate .14 ordinary hide/restore row does have matching before/after id.
  • Current full Client rerun:2037 pass/1 existing skip; Select136/136, Tooltip204/204,36 retained pinned-bubble zoom changes pass. Unadapted native Tooltip fails192/204 cases. Focused lease cleanup, types, format, feature-map, changelog and build pass. The earlier avatar-editor timeout remains recorded; its file passed17 tests alone and the full rerun passed.

Versioned evidence, images and limits. Earlier physical plain Equal/IME, installer, original font and Host-switch proof retain their tested version and scope; representative fixtures do not qualify arbitrary third-party pages or unknown app versions.

CI is not green: the full run hit the unchanged mobile Expo-doctor patch baseline; tracked separately in #2314, with the failing job and all four mismatches. No check was bypassed. Native /plugins/events failures are also retained: a passive sequence observed HTTP200+graph, failure after301.1s, then automatic HTTP200+full graph three seconds later. The exact timeout source is not confirmed and the console cohort is not described as error-free.

Windows/Linux remain #2270. #2269 stays open until review/merge; no manual issue closure. Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264; state: macOS behavior delivered for review, blocked on independent CI baseline, no merge/release.

Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
Issue: #2269
Agent-Task: codex/local/01a1506e-87d7-7c10-b4d9-9ba86f02b264
@DoodleBears

Copy link
Copy Markdown
Contributor Author

Final-head review — 2026-10-20 JST

Base e33ba0a70 → head d66147efb. Independent Standards and Spec reviews found no remaining new findings. Tooltip disposal restores the original native side; a forced flip/dispose regression passes. The .16 native screenshots predate this cleanup-only fix. Outstanding default reset/keypad bindings are explicitly tracked in #2318, not counted as delivered.

Dependency base #2317 fixes #2314; latest required CI is queued during the active GitHub Actions degradation. No remote green result is claimed. Full stack summary, local validation and exact run links: #2245 checkpoint.

All PRs remain Draft/unmerged; native evidence retains its original artifact scope. Refreshed local HTML explainers are not published artifacts. GitHub image rendering remains unverified under the existing browser-policy restriction; committed image references were checked for existence and decodable dimensions locally.

@DoodleBears
DoodleBears marked this pull request as ready for review October 19, 2026 17:21
@DoodleBears
DoodleBears changed the base branch from codex/2268-macos-zoom-delivery to main October 19, 2026 17:33
@DoodleBears
DoodleBears merged commit 6431527 into main Oct 19, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:full Run the complete verification test plan for this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Desktop zoom S2: 编辑与嵌入焦点、极端比例和恢复可靠性

1 participant