-
Notifications
You must be signed in to change notification settings - Fork 0
Review 4410
This page is not a review. No review of #4410 was performed at this head, no verdict was reached, and nothing was posted to the PR. It is not counted in the review totals on All reviews. It records why the refresh step stopped.
#4410
fix(core): return focus to the opener when MobileNav closes by
AKnassa — community contributor, opened
2026-07-26, last pushed 2026-08-06. Labels: CLA Signed,
needs:code-review, community. No prior review or review comments exist on
the PR.
LOOP VERSION: 1.6.0 AUDIT RUBRIC: 1.13 (read; no audit performed)
The PR changes 3 files, +454/−2:
.changeset/mobile-nav-focus-restore.mdpackages/core/src/MobileNav/MobileNav.tsxpackages/core/src/MobileNav/MobileNavFocus.test.tsx
No package script, dependency, lockfile, workflow, executable script, environment/credential read, or build-time network change appears in the diff. The untrusted-PR guard is clean; the stop below is a merge-semantics stop, not a trust stop.
| PR head fetched |
1672af6e4477b6592f1d22d05ce844fecce728be (matches the head GitHub reports) |
upstream main
|
c6041cfd58ea832a79b50f98d7e0f64cd513852e |
| merge base | 51ad6be0cb347a0171c3a85cb898b304e07a7915 |
| merge direction |
main merged into the PR head; no rebase, no rewrite of author commits |
| outcome | conflict in 1 file; merge aborted; nothing pushed, head unchanged |
packages/core/src/MobileNav/MobileNav.tsx is the only conflicted file.
The conflict is not mechanical. Current main now owns the same close/open
region with three behavior changes the PR was explicitly written around:
-
mainholds and releases the scrollbar gutter around dialog open/close. -
maindelays the nativedialog.close()byresolveCloseDelay(dialog)so the slide-out can play. -
mainroutes native close requests throughuseLayerDismissal.
The PR captures the opener in that same region and restores focus from an effect
cleanup whose correctness depends on the native dialog already being closed.
The PR body calls out the semantic rule: if the real close() is deferred past
that cleanup, focus restoration must move to the dialog's native close event.
Current main is now in that deferred-close shape, so resolving the conflict
requires deciding the new restore timing against the landed close semantics.
The branch is still about a real MobileNav focus-restoration bug, and nothing in
this record rejects the idea. But the current head cannot be reviewed because it
cannot merge into main, and the one conflict changes the behavior the fix is
trying to prove.
Unblocking it is the author's: merge main in and decide the focus-restore
ordering relative to the delayed native close path. Then the PR is reviewable at
its refreshed head.
Nothing was posted to the PR and nothing was pushed to the author's branch.