Repository navigation
fix(navbar): cancel pending hide timer before rescheduling - #491
hivecommons-hive[bot] wants to merge 2 commits into
Conversation
Prevent paired menu/container leave events from orphaning a timer that closes a dropdown after re-entry. Cover navbar and language switcher re-entry paths. Hive-Run: #475 Hive-Plan: navbar-hide-timer-regression Hive-Spec: issue-475#expected Signed-off-by: thatguywob <thatguywob@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
❌ Deploy Preview for hivecommons-docs failed. Why did it fail? →
|
changelog.d/fixed-475.md already exists from #476; the extra fragment would emit a second release-notes line for the same fix. Hive-Fix-Attempt: 1/6 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Decision needed: @clubanderson should decide whether to close this adoption in favour of #477, whose current head 6230c67 is the same refactor+tests minus a second #475 changelog fragment that duplicates the one #476 already merged.
Conclusion: this PR is a frozen snapshot of #477's old head (689bc05). #477 has since moved to 6230c67, and the only difference between them is that this one still adds changelog.d/fixed-475-navbar-hide-timer.md — a second fragment for #475. changelog.d/fixed-475.md is already on main from #476 (merged 2026-10-26, 0ea9ca3), so this fragment would double-report the fix.
What I verified (both diffs in full + main tree):
src/components/navbar/useNavDropdowns.tsandsrc/__tests__/useNavDropdowns.test.tsxhunks are byte-identical between this PR and #4776230c67.- The code change is a hoist, not a fix:
clearHideTimeoutmoves from inside the per-dropdown loop (useNavDropdowns.ts:35onmain) to effect scope (:27in the diff), and the language-switcherhandleMouseLeaveat:183-186replaces its inlineclearTimeoutblock with the shared helper. Same behaviour; the actual #475 bug was fixed by #476 at the merge-base. - The new
it.eachcases (useNavDropdowns.test.tsx:140-163,:393-418) exercise re-entry after pairedmouseleaveand then a normal close — regression coverage for #476.
CI: the only red checks here are the four Netlify contexts, which fail on every docs PR right now (Netlify team quota — see #419), not because of this diff.
Recommendation: close this in favour of #477 (no redundant fragment). I have not closed anything.
— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Needs a decision, not a merge:
Head: verdict requires_human @689bc05, 4/4 checks green, DCO yes, soak 0s of 30m0s. What to do: approve this head ( How to release it:
Clear the cause and the hive re-evaluates on its next pass; the stage moves to |
There was a problem hiding this comment.
Decision needed: @clubanderson should decide whether to close this adoption (#491) in favour of #477, now that both PRs point at the identical head 6230c67 and the adoption's premise (red CI, unavailable contributor) no longer holds.
Conclusion: #491 is now a no-op duplicate of #477 — merging one makes the other empty.
Evidence (verified at the current heads):
hive/adopt-477(this PR) andthatguywob:fix/navbar-hide-timer-475(#477) both resolve to head6230c676c59a4bee16b470027873117f3866ed37— same two commits (689bc05fix,6230c67changelog-fragment drop). Identical tree, identical diff againstmain:src/components/navbar/useNavDropdowns.ts(hoistsclearHideTimeoutto effect scope, lines 27–32, and reuses it in the language-switcherhandleMouseLeave, line 183) andsrc/__tests__/useNavDropdowns.test.tsx(fiveit.eachre-entry regression cases). Pure refactor + tests; no behaviour change — the actual bug was already fixed at merge-base by #476 and #475 is closed.- CI is identical on both: TypeScript & ESLint, Audit, DCO pass; Lint/build and unit tests in progress; the Netlify
deploy-preview/ Header / Redirect / Pages failures are the known Netlify Free-team quota exhaustion ruled on in #419, not this diff. - The adoption body says this branch exists because #477 "went red and the contributor was unavailable". @thatguywob has since pushed
6230c67to #477, and #477 already carries a hiveapproveat that head.
Difference worth noting: #477 cites Refs #475; this PR says Fixes #475. Since #475 is already closed (by #476), the closing keyword here is moot either way.
Recommendation: keep #477 (the contributor's original, authored by @thatguywob, same head, already reviewed) and close #491. I have not closed anything.
— hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Needs a decision, not a merge:
Head: verdict requires_human @6230c67, 4/4 checks green, DCO yes, soak 0s of 30m0s. What to do: approve this head ( How to release it:
Clear the cause and the hive re-evaluates on its next pass; the stage moves to |
|
I am finishing the original PR #477 myself. Its fork branch now has head f1d1088, authored and DCO-signed as thatguywob, with the exact accepted file contents preserved. This resolves the bot-commit attribution blocker on #477 without adding a duplicate changelog or changing behavior. Please keep #477 as the canonical helper-refactor/regression-test follow-up and close this adopted duplicate in its favor; do not supersede or close #477 on the basis of the old 6230c67 head. Fresh CI and normal maintainer approval are still required on #477. |
|
Closing: #477 (same diff, head f1d1088 authored and signed off by @thatguywob, CI green) has been merged as the canonical follow-up to #476, so this adoption copy is no longer needed. |
Supersedes #477 (adopted after CI went red and the contributor was unavailable; original commits by @thatguywob preserved).
Fixes #475
This branch is #477's head
689bc054d2f3as pushed by @thatguywob (forkthatguywob/docs-1), unchanged. Last lane reason on the original:reviewer-verdict:changes_requested.Hive fix agent: rebase this branch on
main, fix the failing checks / review asks, and push to THIS branch. Keep the original author's commits and theirSigned-off-by; add your own sign-off on your commits. Do not open another PR.