merge queue: embarking main (9a6662b) and #535 together#536
Closed
mergify[bot] wants to merge 3 commits into
Closed
merge queue: embarking main (9a6662b) and #535 together#536mergify[bot] wants to merge 3 commits into
mergify[bot] wants to merge 3 commits into
Conversation
On PRs with an engine merge-queue payload comment, the page froze and every button in the Mergify row (Remove from merge queue, Refresh, Rebase, Update, brand link) stopped responding to clicks. Root cause: updateAllMergifyRows() runs on every tryInject tick, which fires from the body MutationObserver. The rich-row path in updateMergifyRow called row.replaceChildren(...) unconditionally — and that swap is itself a tree mutation in the observed subtree, so it re-triggered the observer in a self-sustaining requestAnimationFrame loop. The loop pegged the main thread and rebuilt the row's buttons ~60x/sec, so clicks never survived mousedown -> mouseup on the same node. Only "some PRs" were affected because the legacy row path is already idempotent and the context panel / stack-nav pill both dedup via data-mergify-hash; the rich row (added in #522) was the one surface missing that guard. Fix: give the rich row the same data-mergify-hash dedup. updateMergifyRow now skips the children swap when the payload-derived fingerprint is unchanged. Live ETA text is excluded from the hash since the ETA ticker already owns it on a 1s cadence. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Change-Id: Ic45d555b676693cf784cad6b526500272c6f419d
The queue/logs links and the merged-message easter egg are all keyed on the PR number, but _richRowHash() omitted it. Two same-state queued PRs in one org/repo hashed identically, so a rich row reused across an SPA navigation (resetForNavigation doesn't remove the merge-box row) would skip the swap and keep the previous PR's links/message. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Change-Id: I3f097c5f46b1e505a41cc434d04dfa2126e1f990
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.
🎉 This pull request has been checked successfully and will be merged soon. 🎉
Branch main (9a6662b) and #535 are embarked together for merge.
This pull request has been created by Mergify to check the mergeability of #535.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.
Required conditions of queue rule
defaultfor merge:check-success=actionlintcheck-success=testtitle ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:#approved-reviews-by >= 2author = dependabot[bot]body ~= (?ms:.{48,})#changes-requested-reviews-by = 0#review-requested = 0#review-threads-unresolved = 0Required conditions to stay in the queue:
#approved-reviews-by>=2#changes-requested-reviews-by=0#review-requested=0#review-threads-unresolved=0check-success=actionlintcheck-success=testtitle ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:#approved-reviews-by >= 2author = dependabot[bot]body ~= (?ms:.{48,})#changes-requested-reviews-by = 0#review-requested = 0#review-threads-unresolved = 0