Skip to content

merge queue: embarking main (0ec99e4) and #479 together#489

Closed
mergify[bot] wants to merge 2 commits into
mainfrom
mergify/merge-queue/a57311f6c1
Closed

merge queue: embarking main (0ec99e4) and #479 together#489
mergify[bot] wants to merge 2 commits into
mainfrom
mergify/merge-queue/a57311f6c1

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify Bot commented May 22, 2026

🎉 This pull request has been checked successfully and will be merged soon. 🎉

Branch main (0ec99e4) and #479 are embarked together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of #479.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue rule default for merge:

Required conditions to stay in the queue:

---
checking_base_sha: 0ec99e4981fb3682d217069e19acf7fd3ff50203
previous_failed_batches: []
pull_requests:
  - number: 479
    scopes: []
scopes: []
...

jd and others added 2 commits May 20, 2026 15:57
… network

Mirror the merge-box queue-row speedup for the stack context panel and the
floating stack-nav pill. Previously both surfaces only appeared after
`renderMergifyContext` finished its full network walk:

  1. Find Mergify comment IDs (DOM scan or fetch the ~500KB Conversation HTML
     on the Files tab).
  2. Fetch each comment body (4 parallel workers).
  3. Parse stack + revision markers.

The in-memory caches (`_commentBodyCache`, `_remoteCommentIdsCache`) only
help within a single SPA session — they're lost on every hard reload, so
each cold load re-paid the full network walk before either surface drew
anything.

Add a localStorage-backed `StackContextCache` (1h TTL, keyed by
org/repo/PR) that stores the parsed `stackData` and `revisionData` —
both already plain JSON-serializable objects produced by
`parseStackMarker` / `parseRevisionMarker`. `renderMergifyContext` now:

  - Reads the cache synchronously and, on hit, builds + injects the panel
    and nav immediately. The surfaces are on screen before the comment
    fetches even start.
  - Continues the existing network refresh path. `injectContextPanel`
    and `injectStackNav` already dedupe via `data-mergify-hash`, so when
    the fresh data matches the cached render the second injection is a
    no-op. When it differs, the surfaces are swapped in place.
  - Invalidates the cache when the fresh fetch reports no Mergify
    comments or no panel content, so a stale entry doesn't keep showing
    after the stack is dismantled upstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: I02898eca47b9dfb1f7f19f8045120ba02d7eb64a
@mergify mergify Bot deployed to Mergify Merge Protections May 22, 2026 15:05 Active
@mergify mergify Bot closed this May 22, 2026
@mergify mergify Bot deleted the mergify/merge-queue/a57311f6c1 branch May 22, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant