Skip to content

feat: label merge-queue batch PRs with a pill and fix detection on the current DOM#616

Draft
JulianMaurin wants to merge 1 commit into
devs/JulianMaurin/MRGFY-7874/re-record-browser-extension-fixtures-current--966a2d36from
devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726
Draft

feat: label merge-queue batch PRs with a pill and fix detection on the current DOM#616
JulianMaurin wants to merge 1 commit into
devs/JulianMaurin/MRGFY-7874/re-record-browser-extension-fixtures-current--966a2d36from
devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726

Conversation

@JulianMaurin

@JulianMaurin JulianMaurin commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

A merge-queue batch PR now renders a "Merge-queue batch PR" pill in the injected
row, so the button-less batch shape reads as intentional rather than empty. The
pill uses the buildStatePill visual language — informational accent-blue, no pulse.

Batch detection is repointed at the current React PR DOM, which no longer serves
the selectors it relied on: isPullRequestAuthoredByMergify scopes to the opening
comment (.js-command-palette-pull-body) instead of .gh-header-meta, and getBaseRef
reads the base branch off the first branch-name link's /tree/ href instead
of .commit-ref.base-ref. Both keep the legacy selector as a fallback for the older
DOM era. Adds a real batch-PR fixture (github_pr_batch_open) recorded on today's
DOM, with fixture-backed tests for detection, base ref, the pill, the button-less
row, and the absent dequeue button.

MRGFY-7874

Test plan:

  • npx jest (283 passing) — detection/base-ref/pill/row on the real fixture; legacy
    synthetic + old-fixture paths still green.
  • npx biome check — clean.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01KJbLFjMX9mb8o5T3JXTAXL

Depends-On: #618

Copilot AI review requested due to automatic review settings July 17, 2026 19:43
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 17, 2026 19:43 Failure
@mergify

mergify Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 3 of 7 protections blocking · waiting on 👀 reviews and ⛓️ dependency

Protection Waiting on
🔴 ⛓️ Depends-On Requirements ⛓️ dependency
🔴 👀 Review Requirements 👀 reviews
🔴 🔎 Reviews 👀 reviews
🟢 🤖 Continuous Integration
🟢 Enforce conventional commit
🟢 📕 PR description
🟢 🚦 Auto-queue

🔴 ⛓️ Depends-On Requirements

Waiting for

This rule is failing.

Requirement based on the presence of Depends-On in the body of the pull request

🔴 👀 Review Requirements

Waiting for

  • #approved-reviews-by>=2
This rule is failing.
  • any of:
    • #approved-reviews-by>=2
    • author = dependabot[bot]

🔴 🔎 Reviews

Waiting for

  • #review-requested = 0
This rule is failing.
  • #review-requested = 0
  • #changes-requested-reviews-by = 0
  • #review-threads-unresolved = 0

Show 4 satisfied protections

🟢 🤖 Continuous Integration

  • all of:
    • check-success=ci-gate

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|internal|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?!?:

🟢 📕 PR description

  • body ~= (?ms:.{48,})

🟢 🚦 Auto-queue

When all merge protections are satisfied, this pull request will be queued automatically.

@mergify
mergify Bot requested a review from a team July 17, 2026 19:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves merge-queue batch PR UX and robustness in the browser extension by (1) clearly labeling batch PR rows that intentionally have no action buttons, and (2) updating batch detection/base-branch parsing to match GitHub’s current React PR DOM while preserving legacy fallbacks.

Changes:

  • Add a “Merge-queue batch PR” state pill (informational accent-blue, no pulse) to label button-less batch PR rows.
  • Repoint DOM selectors for batch detection (isPullRequestAuthoredByMergify) and base ref parsing (getBaseRef) to work on the current GitHub PR DOM with legacy fallbacks.
  • Add a real current-DOM batch PR fixture and fixture-backed tests covering detection, base ref, pill rendering, and absence of dequeue/actions.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
src/queue.js Updates DOM selectors for batch detection/base ref and renders a batch “state pill” for button-less batch rows.
src/tests/queue.test.js Adds fixture-backed tests asserting batch detection/base ref and the new batch pill + button-less row behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JulianMaurin
JulianMaurin force-pushed the devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726 branch from 1f8a8dc to cb9d3b0 Compare July 17, 2026 20:05
@JulianMaurin

JulianMaurin commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

Revision history

# Type Changes Reason Date
1 initial 1f8a8dc 2026-07-17 20:05 UTC
2 content 1f8a8dc → cb9d3b0 (raw) Amend: fold in the dashboard-link URL-format fix (path-scoped /orgs//repos//…; the retired ?login=&repository= form no longer resolves) — author-reported the activity-log link was dead. Co… 2026-07-17 20:05 UTC
3 content cb9d3b0 → 4a04e75 (raw) Split the single commit into two stacked PRs per author request: base = dashboard-link URL-format fix (path-scoped), top = MRGFY-7874 batch pill + detection + fixture. Same final tree. 2026-07-18 05:40 UTC
4 content ff253b0 → 8629292 Inserted a middle commit (MRGFY-8087): re-record the fixture corpus on current GitHub DOM via record-github-fixtures + extract-browser-cookies skills (Mergifyio/skills#32,#33), date-stamped into gith… 2026-07-18 06:20 UTC
5 rebase 8629292 → 729ac6b (rebase only) Reworked #618's current-DOM parity into a dual-era suite (fixtureDomEras.test.js): the same detection checks (isPullRequestOpen/isPullRequestDraft/wasMergedByMergify/app-avatar) now run against BOTH … 2026-07-18 06:31 UTC

@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 17, 2026 20:06 Failure
@JulianMaurin
JulianMaurin force-pushed the devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726 branch from cb9d3b0 to 4a04e75 Compare July 18, 2026 05:40
@JulianMaurin
JulianMaurin changed the base branch from main to devs/JulianMaurin/MRGFY-7874/point-extension-s-dashboard-links-current-path--3ea0d77e July 18, 2026 05:40
@JulianMaurin

JulianMaurin commented Jul 18, 2026

Copy link
Copy Markdown
Contributor Author

This pull request is part of a Mergify stack:

# Pull Request Link
1 fix: point the extension's dashboard links at the current path-scoped URLs #617
2 test: re-record browser-extension fixtures on the current GitHub DOM, by era #618
3 feat: label merge-queue batch PRs with a pill and fix detection on the current DOM #616 👈

@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 18, 2026 05:40 Failure
@JulianMaurin
JulianMaurin changed the base branch from devs/JulianMaurin/MRGFY-7874/point-extension-s-dashboard-links-current-path--3ea0d77e to main July 18, 2026 06:18
@mergify
mergify Bot force-pushed the devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726 branch from 4a04e75 to ff253b0 Compare July 18, 2026 06:19
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 18, 2026 06:19 Failure
@JulianMaurin
JulianMaurin force-pushed the devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726 branch from ff253b0 to 8629292 Compare July 18, 2026 06:20
@JulianMaurin
JulianMaurin changed the base branch from main to devs/JulianMaurin/MRGFY-7874/re-record-browser-extension-fixtures-current--966a2d36 July 18, 2026 06:20
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 18, 2026 06:20 Failure
…e current DOM

A merge-queue batch PR now renders a "Merge-queue batch PR" pill in the injected
row, so the button-less batch shape reads as intentional rather than empty. The
pill uses the buildStatePill visual language — informational accent-blue, no pulse.

Batch detection is repointed at the current React PR DOM, which no longer serves
the selectors it relied on: isPullRequestAuthoredByMergify scopes to the opening
comment (.js-command-palette-pull-body) instead of .gh-header-meta, and getBaseRef
reads the base branch off the first branch-name link's /tree/<branch> href instead
of .commit-ref.base-ref. Both keep the legacy selector as a fallback for the older
DOM era. Adds a real batch-PR fixture (github_pr_batch_open) recorded on today's
DOM, with fixture-backed tests for detection, base ref, the pill, the button-less
row, and the absent dequeue button.

MRGFY-7874

Test plan:
- npx jest (283 passing) — detection/base-ref/pill/row on the real fixture; legacy
  synthetic + old-fixture paths still green.
- npx biome check — clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KJbLFjMX9mb8o5T3JXTAXL

Change-Id: I3d56072626baaba4158792ac762c3878e6582181
@JulianMaurin
JulianMaurin force-pushed the devs/JulianMaurin/MRGFY-7874/label-merge-queue-batch-prs-pill-fix-detection--3d560726 branch from 8629292 to 729ac6b Compare July 18, 2026 06:31
@JulianMaurin
JulianMaurin force-pushed the devs/JulianMaurin/MRGFY-7874/re-record-browser-extension-fixtures-current--966a2d36 branch from 7e8067d to c1d67bd Compare July 18, 2026 06:31
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections July 18, 2026 06:32 Failure
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.

2 participants