Skip to content

merge queue: checking #12692 on main (7d475b8), stacked on #12689, #12690 and #12691 - #12702

Draft
mergify[bot] wants to merge 8 commits into
mainfrom
mergify/merge-queue/8f076fdead
Draft

merge queue: checking #12692 on main (7d475b8), stacked on #12689, #12690 and #12691#12702
mergify[bot] wants to merge 8 commits into
mainfrom
mergify/merge-queue/8f076fdead

Conversation

@mergify

@mergify mergify Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request has been checked successfully and will be merged when the schedule will match. 🎉

#12692 is queued for merge on branch main (7d475b8).

Stacked behind 3 pull requests queued ahead of this batch, not part of it. These checks run on a tip that also carries their commits, so a failure here can come from them as much as from #12692.

Queued ahead of this batch:

This pull request has been created by Mergify to speculatively check the mergeability of #12692.
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: 0ee8f2152af12b1cd0b50662dd13a20b2bb36557
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 12692
    scopes: []
scopes: []
...

flagendijk89 and others added 8 commits September 4, 2026 21:10
Searching a build tool never returned that tool's page. "bazel" answered
with "Detecting Scopes with bazel-diff", landing the reader past the
"Configuring Manual Scopes" step every one of those pages opens with;
"pants" returned two results and neither was the Pants page.

Two causes, one on each side of the index.

The page-level record held only the intro paragraph and the meta
description, so it was always the thinnest record for its own page and
lost to every heading on it. It now holds the whole page, which lets
relevance decide instead of record size: a page-wide query matches it
across its whole length and wins, while a section-specific query
("barrier files") still goes to the heading, because a short record
dense in those terms outscores a long one where they are diluted. The
`if (introBody)` guard is gone too — a page with no intro was missing
from the index entirely rather than merely ranking low.

The client then kept one result per URL, first wins, so the winning
heading silently evicted the page record. It now groups a page's records
and lets the page answer when the query names the page.

Also here, all visible in the results list:

- Whole-word title matches sort above incidental ones. "direct merge"
  ranked "Using TestNG Directly" first, matching "Direct" inside
  "Directly" — a match nobody typing those two words meant.
- Rows whose title did not match now carry Pagefind's excerpt. Half a
  result list could otherwise show no highlight and no snippet, with
  nothing on screen explaining why those rows were there.
- Heading permalinks are stripped before indexing. `CliCommand.astro`
  and `Endpoint.astro` put a literal "#" inside the `<h2>`, which is how
  "List a test's executions #" reached the results.
- Changelog titles are demoted alongside their bodies. Demoting only the
  body left every entry's headline at full title weight, so a changelog
  post outranked the page it was announcing.
- Properties sit after the body in each record, so a bare list of config
  keywords stops winning the excerpt over prose.

The full-text page records grow the index 8.7M to 9.0M (+3.4%);
fragments load lazily, so per-search transfer is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: I91bd9f09d1025d6ea0dc66eec979fc782731aeb6
Claude-Session-Id: 18413631-aa75-4182-9e79-4c1ce31bb683
…king it

Every diagram on the site was unreadable on a phone. The Graphviz fences
are authored around 600pt wide with 13px labels, and `.dg` sizes them to
80% of the prose column, so at 390px they rendered at 286px and took
their labels to roughly 6px. The wrapper was `overflow-x: visible`, so
there was nothing to scroll and nothing to tap: 19 diagrams across 12
pages that a phone reader could see the shape of but not read.

Tables and code blocks on the same pages already solve this by
scrolling. Diagrams were the one kind of wide content that silently
scaled itself past legibility instead.

Each rendered fence now ships inside `.dg-wrap`, the diagram counterpart
to the `.table-wrap` tables use. Below 700px that wrapper scrolls and the
SVG takes back its intrinsic width, so the labels return to the size they
were drawn at; a diagram narrower than the column still fills it rather
than collapsing left. Above the breakpoint the wrapper is inert and the
80% rule is untouched.

The wrapper carries a regression test, because its absence is not a
cosmetic change — it is the diagram becoming unreadable on mobile.

`<GitGraph>` renders its own SVG outside this plugin and already sizes to
fit, so it is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: I88e3fbd0be0cdee1d85b52d901cd041ee4fe09ea
Claude-Session-Id: 18413631-aa75-4182-9e79-4c1ce31bb683
Three action pages carried their status inside the nav label, and the
sidebar track was too narrow to hold it. The suffix was the part that
ellipsed away:

    Delete Head Branch (De…
    GitHub Actions (Deprec…
    Post Check (Deprecated…

"GitHub Actions (Deprec…" sits in the same tree as the live GitHub
Actions integration page, so the one word separating them was the word
being cut.

Status moves out of the title into a `badge` field on NavItem, rendered
as its own pill. Because it is a separate element it is never what gets
truncated: it sits after the label where there is room and wraps beneath
it where there is not, deciding per row rather than per label, so it
keeps holding if a label is renamed or the sidebar is resized. No label
is shortened to protect it.

`--theme-left-sidebar-width` goes from 17rem to 18rem. The deepest rows
are indented twice and left 152px beside the icon — enough for a label,
not for a label plus a pill, so "GitHub Actions" pushed its pill onto a
second line. The extra 12px keeps every badged label but "Delete Head
Branch" inline, and costs the content column 12px. The right rail is
unchanged.

"GitHub Rulesets Compatibility" becomes "GitHub Rulesets", which now fits
without wrapping. The pill reads 9.4:1 in light and 10:1 in dark.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: Ie8b27ca54974d6cb745292dacd61146b2776521a
Claude-Session-Id: 18413631-aa75-4182-9e79-4c1ce31bb683
…ings

The homepage's "On this page" rail held a single entry, "Overview",
pointing at `#overview` — an id that does not exist there. It was the
only dead link on the site.

`generateToc` always prepends that entry, and the id it targets lives on
the `<h1>` `PageContent` renders. A page with `suppressTitle` emits no
`<h1>`, so the entry has nothing to scroll to. Those pages now get no
rail, and the column it reserved goes back to the content: the homepage
gains 336px of width it was holding for an 18rem aside with one broken
link in it.

Two things this turned up.

`margin-inline-start` has to be restored to the sidebar width when the
rail is gone. The left sidebar is `position: fixed`, so nothing in flow
clears it; above 82em the column's own margin drops to a 3rem gutter
because `#right-sidebar` — a flex item that precedes `#main-content` in
the DOM and is then shifted right by `left: 100%` — reserves the width
instead. Removing the rail without restoring that margin slid the
content under the sidebar above 1312px only. `.main-column-footer`
already compensates the same way for living outside `.layout`.

The changelog index and every changelog entry also set `suppressTitle`.
They never had a table of contents, but they did carry PageFeedback in
that rail, and the article-footer copy is hidden above 82em precisely
because the rail was assumed to have one — which left roughly 200 pages
with no feedback widget at all on desktop. That rule is now scoped to
pages that actually render a rail.

Presence is passed explicitly rather than read from `Astro.slots.has()`,
which reports a slot as present even when the expression filling it
evaluated to nothing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: I3a14a632ed544b4d7cefe21c7237703a8d919cf7
Claude-Session-Id: 18413631-aa75-4182-9e79-4c1ce31bb683
@mergify
mergify Bot deployed to Mergify Merge Protections September 5, 2026 19:33 Active
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