fix(ui): dismiss topbar menus when their anchors disappear#103508
Merged
Conversation
steipete
force-pushed
the
codex/fix-topbar-transient-menus
branch
from
July 10, 2026 07:09
3fe49f8 to
9fc7b9e
Compare
steipete
force-pushed
the
codex/fix-topbar-transient-menus
branch
from
July 10, 2026 07:24
9fc7b9e to
427b1af
Compare
Contributor
Author
|
Merged via squash.
|
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #103500
Related: #103426
What Problem This Solves
Fixes an issue where desktop Control UI users could leave the topbar More or pin-editor menu floating over the drawer layout after resizing below the 1100px breakpoint. Keyboard users also lost focus after More → Edit pinned items → Escape, and the elements exposed as ARIA menus did not support arrow/Home/End movement or a clean Tab exit.
Why This Change Was Made
The topbar now owns the complete lifetime of its fixed-position menus: any viewport resize dismisses them before their anchor geometry can become stale, and all dismissal listeners are removed together. Opening the pin editor from More carries the durable More button forward as its focus-restoration target instead of retaining the disappearing Edit menu item.
Menu items are removed from the page tab order and the topbar implements the declared menu keyboard contract: ArrowUp/ArrowDown with wraparound, Home/End, Escape back to the durable trigger, and Tab dismissal followed by normal browser traversal.
Landing coordination: rebased again only because the repo-native merge wrapper detected an E2E overlap after #103501 landed; both independent test blocks were retained and the stable patch id is unchanged. Current head is 427b1af. Keep this PR as the sole active UI merge until it lands.
User Impact
Responsive layout changes no longer leave an orphaned menu over the narrow drawer UI. Keyboard users keep their place when leaving the pin editor and can move predictably through both topbar menus.
Evidence
Visual artifact manifest: https://raw.githubusercontent.com/steipete/openclaw-pr-assets/main/topbar-transient-menus/artifact-manifest.json