Skip to content

Commit ff1e06c

Browse files
dknaussclaude
andauthored
docs: WP contribution housekeeping — status refresh, #79372 reserve patch, Playground/HelpHub tracking (#107)
* docs: refresh WP contribution status; fix dangling gallery-comment link - two-factor #877 merged 2026-06-29 (was "proposed") - two-factor #859 closed by accident, reopened as #917 — point tracker at #917 - gutenberg #79380 now proposed upstream in #79440; note Dirtbag backs that PR - docs/repro/README.md: the gallery-caption comment draft was never written; replace the broken link with an honest "not yet drafted" note Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(repro): add held core fix for gutenberg #79372 (Post Title float) Post Title links are display:inline-block in the shared style.scss, which stops the title wrapping around floats / shape-outside on the front end. Archaeology shows the inline-block was added in gutenberg#30666 solely to silence an editor RichText "inline container" warning — it has no front-end purpose. The held fix moves it to an editor-only editor.scss so the front-end link stays inline. Patch verified to git-apply cleanly against current gutenberg trunk. Held pending a maintainer signal on the (triaged) issue; theme-side float variant remains the local fix. Also link the reserve fix from the repro README float section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: track HelpHub #1817 (shipped) and Playground #3875 contributions - Documentation-Issue-Tracker #1817: admin-email HelpHub content merged + closed Done - wordpress-playground #3875: git:directory browser-bundle bug Dan filed (the one Dirtbag works around in #102/#103); open, regression-test suggested upstream Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: update Playground #3875 status — fix in flight via #3882 adamziel's #3879 (first pass, closed) consolidated into ashfame's #3882 (open): isomorphic-git browser-ESM alias across all browser-facing packages + Playwright git:directory regression test + localhost CORS-proxy bypass. Fixes #3875; Dirtbag CORS-proxy ZIP workaround retirable once it merges. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: note #3875 fix verified on #3882 preview build Drove the #3882 Playground preview build (playground.wordpress.net/?pr=3882) with a git:directory installTheme of dknauss/dirtbag — clones and activates cleanly, no createHash error. Fix confirmed working, pending merge + production deploy before switching dirtbag blueprints back off the CORS-proxy ZIP workaround. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent dead9b8 commit ff1e06c

4 files changed

Lines changed: 193 additions & 8 deletions

File tree

docs/repro/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ Captured evidence lives in [`screenshots/`](screenshots/):
1616
- `current-wp-dirtbag-fix.png` / `current-wp-dirtbag-fix-axe.json`
1717
- `caption-repro-summary.json`
1818

19-
Draft supporting comment for the live upstream Gallery issue:
20-
[`gutenberg-gallery-caption-accessibility-comment-draft.md`](gutenberg-gallery-caption-accessibility-comment-draft.md).
19+
A supporting comment for the live upstream Gallery issue is not yet drafted — the
20+
repro and axe evidence above are the raw material for it.
2121

2222
## Chrome float-in-grid below-the-fold repro
2323

@@ -32,6 +32,13 @@ beside the 60px float when the title is too wide, so it drops below the float. A
3232
float variant must override the title link back to `display: inline`; this is not a
3333
clean Chromium filing as currently reduced.
3434

35+
Filed upstream as [WordPress/gutenberg#79372](https://github.com/WordPress/gutenberg/issues/79372)
36+
(maintainer-triaged `[Type] Bug`). A held core fix — make the `inline-block`
37+
editor-only so the front-end link wraps around floats — plus the archaeology behind
38+
it lives in
39+
[`gutenberg-79372-post-title-inline-float.md`](gutenberg-79372-post-title-inline-float.md)
40+
and [`gutenberg-79372-post-title-inline-float.patch`](gutenberg-79372-post-title-inline-float.patch).
41+
3542
## How to run it (this matters)
3643

3744
The bug is **deterministic CSS, not browser-specific**. It reproduces wherever a
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Gutenberg #79372 — Post Title link is `inline-block`, breaking float / `shape-outside` wrapping
2+
3+
**Status:** reserve fix prepared, held. Issue is filed and a maintainer has triaged
4+
it as a confirmed bug; no core PR yet. Open the PR (or, first, post the archaeology
5+
below as a comment) when ready.
6+
7+
- Issue: <https://github.com/WordPress/gutenberg/issues/79372> — triaged `[Type] Bug`
8+
/ `[Block] Post Title`, otherwise idle since 2026-06-22.
9+
- Patch: [`gutenberg-79372-post-title-inline-float.patch`](gutenberg-79372-post-title-inline-float.patch)
10+
- Filed issue text (source of record): [`gutenberg-issue-draft.md`](gutenberg-issue-draft.md)
11+
- Repro: [`chrome-float-repro.html`](chrome-float-repro.html) and
12+
[`../sidebar-thumbnail-layout.md`](../sidebar-thumbnail-layout.md)
13+
- Theme-side workaround already shipped: a float style variant scopes the title link
14+
back to `display: inline`
15+
(`.sidebar-content:not(.is-grid) .sidebar-entry > .wp-block-post-title :where(a)`).
16+
17+
## The problem
18+
19+
Core styles the link inside the Post Title block as an atomic inline box:
20+
21+
```scss
22+
// packages/block-library/src/post-title/style.scss → .wp-block-post-title :where(a)
23+
:where(a) { display: inline-block; }
24+
```
25+
26+
An `inline-block` is an atomic inline-level box: its contents may wrap internally, but
27+
the box itself cannot split across the separate line boxes a float creates beside and
28+
below it. So a linked Post Title flowing around a `float` (or `shape-outside`) **drops
29+
whole below the float** the moment it is too wide for the line box beside it, instead
30+
of wrapping its text beside and under the float. A plain inline link wraps correctly.
31+
This is spec-correct CSS, not a browser bug — it reproduces in any engine (including
32+
headless Chrome) at a narrow-enough column.
33+
34+
## Why the `inline-block` is there — and why the front end doesn't need it
35+
36+
Archaeology on `post-title/style.scss` (2026-07-04):
37+
38+
- The `display: inline-block` on the link was introduced by
39+
[#30666](https://github.com/WordPress/gutenberg/pull/30666) (2021-04-13),
40+
*"Fix Post Title warnings for RichText in inline containers."* Its **sole** purpose
41+
is to silence the editor warning *"RichText cannot be used with an inline
42+
container"* — an **editor-only** concern (`RichText` is the block editor's editable
43+
component; it does not exist on the front end).
44+
- [#43457](https://github.com/WordPress/gutenberg/pull/43457) added padding support,
45+
but the padding / `box-sizing: border-box` it introduced apply to the
46+
`.wp-block-post-title` **wrapper**, not to the `<a>`. The link's `inline-block` is
47+
unrelated to padding.
48+
- [#64911](https://github.com/WordPress/gutenberg/pull/64911) and
49+
[#65307](https://github.com/WordPress/gutenberg/pull/65307) added and then
50+
consolidated the `font-*: inherit` rules on the link (so a linked title inherits the
51+
block's typography). Those `inherit` rules are load-bearing; the `display` line just
52+
rode along into the consolidated `:where(a)` block.
53+
54+
The rule lives in `style.scss`, which loads on **both** the editor and the front end.
55+
So an editor-only requirement is silently constraining every front-end theme that
56+
wants a magazine-style float beside a post title.
57+
58+
## The fix
59+
60+
Make `display: inline-block` **editor-only**. On the front end the link becomes a
61+
normal `inline` link and wraps around floats; in the editor the RichText warning stays
62+
silenced. Nothing else about the block changes — typography inherits, wrapper padding,
63+
and `box-sizing` are untouched.
64+
65+
The patch does three things:
66+
67+
1. `post-title/style.scss` — remove `display: inline-block;` from `:where(a)` (front
68+
end + editor no longer forces it via the shared stylesheet).
69+
2. `post-title/editor.scss` (**new**) — re-add `display: inline-block` on the link,
70+
with a comment pointing at #30666 and #79372. Editor styles load only in the
71+
editor.
72+
3. `block-library/src/editor.scss``@use "./post-title/editor.scss"` so the new
73+
partial is compiled into the aggregated editor bundle (the block-library
74+
convention; post-title's `block.json` needs no `editorStyle` key because editor
75+
partials are aggregated here, not registered per block).
76+
77+
## Verifying
78+
79+
CSS-only change; no unit test harness. Verify by observation:
80+
81+
- **Editor** — add a Post Title block, enable *Make title a link*, open the browser
82+
console: the *"RichText cannot be used with an inline container"* warning must
83+
**not** reappear. (Confirms the editor.scss rule is loading.)
84+
- **Front end** — render a linked Post Title beside a floated element in a narrow
85+
column (the [`chrome-float-repro.html`](chrome-float-repro.html) matrix, or a real
86+
Dirtbag sidebar entry). The title text must wrap **beside and under** the float, not
87+
drop whole below it. Inspect the link: computed `display` is `inline`, not
88+
`inline-block`.
89+
- **No regression** — a normal (wide-column) linked title looks identical to before;
90+
wrapper padding and typography are unchanged.
91+
92+
## Turning this into a PR (when ready)
93+
94+
1. `git clone https://github.com/WordPress/gutenberg && cd gutenberg && npm ci`
95+
2. `git apply ../dirtbag/docs/repro/gutenberg-79372-post-title-inline-float.patch`
96+
(rooted at the repo top, `a/packages/...`; creates `post-title/editor.scss`).
97+
3. `npm run build:package-types` is not needed; rebuild styles / run the editor to
98+
verify per **Verifying** above.
99+
4. Open the PR against `trunk`, referencing #79372, summarising: *"Post Title: keep
100+
the title-link `inline-block` in editor styles only, so the front-end link can wrap
101+
around floats / `shape-outside`."* Explain the #30666 origin so reviewers see the
102+
editor warning is preserved.
103+
5. No self-prop; credit per the project's contributor-attribution norms.
104+
105+
## Before opening a PR — consider commenting first
106+
107+
Unlike #79380 (an unambiguous a11y fix), this touches a decision core made
108+
deliberately, so the highest-value first step may be to **post the archaeology above
109+
as a comment on #79372** — the #30666 origin, that the constraint is editor-only, and
110+
the proposed editor-scoped fix — and let a maintainer confirm the direction before a
111+
PR. The issue was filed as a question (*"Is `display: inline-block` load-bearing?"*);
112+
this answers it. If a maintainer prefers to keep the runtime constraint or fix it
113+
differently, the theme-side float variant stays as the local fix and this patch is
114+
retired.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
diff --git a/packages/block-library/src/editor.scss b/packages/block-library/src/editor.scss
2+
index d7eb47d..627528d 100644
3+
--- a/packages/block-library/src/editor.scss
4+
+++ b/packages/block-library/src/editor.scss
5+
@@ -37,6 +37,7 @@
6+
@use "./post-author/editor.scss" as *;
7+
@use "./playlist/editor.scss" as *;
8+
@use "./post-excerpt/editor.scss" as *;
9+
+@use "./post-title/editor.scss" as *;
10+
@use "./pullquote/editor.scss" as *;
11+
@use "./rss/editor.scss" as *;
12+
@use "./search/editor.scss" as *;
13+
diff --git a/packages/block-library/src/post-title/editor.scss b/packages/block-library/src/post-title/editor.scss
14+
new file mode 100644
15+
index 0000000..17394d8
16+
--- /dev/null
17+
+++ b/packages/block-library/src/post-title/editor.scss
18+
@@ -0,0 +1,8 @@
19+
+// `RichText` cannot be used with an inline container, so the editable Post Title
20+
+// link needs a non-inline display **in the editor** (see
21+
+// https://github.com/WordPress/gutenberg/pull/30666). This rule is editor-only:
22+
+// on the front end the link stays inline so its text can wrap around floats and
23+
+// `shape-outside` (see https://github.com/WordPress/gutenberg/issues/79372).
24+
+.wp-block-post-title :where(a) {
25+
+ display: inline-block;
26+
+}
27+
diff --git a/packages/block-library/src/post-title/style.scss b/packages/block-library/src/post-title/style.scss
28+
index 8dfd25b..454d76b 100644
29+
--- a/packages/block-library/src/post-title/style.scss
30+
+++ b/packages/block-library/src/post-title/style.scss
31+
@@ -4,7 +4,6 @@
32+
box-sizing: border-box;
33+
34+
:where(a) {
35+
- display: inline-block;
36+
font-family: inherit;
37+
font-size: inherit;
38+
font-style: inherit;

docs/wordpress-contributions.md

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ historic Trac comment.
2828
promise the software cannot keep.
2929
- [WordPress/gutenberg#67711](https://github.com/WordPress/gutenberg/pull/67711):
3030
merged spelling, grammar, and clarity corrections in the DataViews package docs.
31-
- [WordPress/two-factor#859](https://github.com/WordPress/two-factor/pull/859):
32-
moved the Two Factor plugin's rate-limit gate before provider preprocessing and
33-
invalidated provider tokens when the delay fires. This superseded the narrower
31+
- [WordPress/two-factor#917](https://github.com/WordPress/two-factor/pull/917)
32+
(open; rebased reopen of [#859](https://github.com/WordPress/two-factor/pull/859),
33+
which was closed by accident on 2026-06-14): moves the Two Factor plugin's
34+
rate-limit gate before provider preprocessing and invalidated provider tokens when
35+
the delay fires. This superseded the narrower
3436
[#848](https://github.com/WordPress/two-factor/pull/848) fix for email resend.
3537
- [WordPress/two-factor#877](https://github.com/WordPress/two-factor/pull/877):
36-
proposed failing closed when `random_bytes()` is unavailable during login nonce
37-
generation, replacing a weak legacy fallback.
38+
**merged 2026-06-29** — fails closed when `random_bytes()` is unavailable during
39+
login nonce generation, replacing a weak legacy fallback.
3840

3941
### Interesting reports and design questions
4042

@@ -47,7 +49,10 @@ historic Trac comment.
4749
name — its `aria-label` is supplied only at runtime by the Interactivity API
4850
(`data-wp-bind--aria-label`, restored in #78426), so it fails `button-name` with
4951
JavaScript off or before hydration. Dirtbag ships a static-`aria-label` fallback
50-
(`functions.php`, 0.1.12) and proposes the same fix in core.
52+
(`functions.php`, 0.1.12). A maintainer triaged the issue, and the same static-label
53+
fix is now proposed upstream in
54+
[WordPress/gutenberg#79440](https://github.com/WordPress/gutenberg/pull/79440)
55+
(opened independently); Dirtbag backs that PR rather than filing a duplicate.
5156
- [WordPress/gutenberg#42345](https://github.com/WordPress/gutenberg/issues/42345):
5257
single quotes after bold text can be curled the wrong way on output. This is the
5358
`wptexturize()` / old core-text-filter problem described below.
@@ -84,9 +89,30 @@ historic Trac comment.
8489
- [WordPress/Documentation-Issue-Tracker#440](https://github.com/WordPress/Documentation-Issue-Tracker/issues/440):
8590
requested consistent naming for the Navigation Block and Submenu Navigation Child
8691
Blocks.
92+
- [WordPress/Documentation-Issue-Tracker#1817](https://github.com/WordPress/Documentation-Issue-Tracker/issues/1817):
93+
contributed replacement content for the HelpHub "E-mail Address" / changing-the-admin-email
94+
guide. **Merged and closed `[Status] Done` (2026-07-03)** — an editor applied the
95+
content and refreshed the main screenshot.
8796

8897
### Other WordPress ecosystem items
8998

99+
- [WordPress/wordpress-playground#3875](https://github.com/WordPress/wordpress-playground/issues/3875):
100+
reported that `git:directory` package installs fail in the browser Playground with
101+
`createHash is not a function` — the Node `isomorphic-git` path leaking into the
102+
browser bundle after #3841. Dirtbag hit this building its theme-test blueprint and
103+
worked around it by installing the theme ZIP through the CORS proxy instead
104+
(repo #102 / #103). The report triggered a same-night fix: adamziel's first pass
105+
[#3879](https://github.com/WordPress/wordpress-playground/pull/3879) (closed) was
106+
consolidated into ashfame's
107+
[#3882](https://github.com/WordPress/wordpress-playground/pull/3882) (open, the live
108+
fix) — a shared Vite helper aliasing `isomorphic-git` to its browser ESM entry
109+
across all browser-facing packages, plus a Playwright `git:directory` regression
110+
test against a local Git fixture and a localhost CORS-proxy bypass. `Fixes #3875`.
111+
Verified 2026-07-04: a `git:directory` `installTheme` of `dknauss/dirtbag` clones and
112+
activates cleanly on the #3882 preview build (`playground.wordpress.net/?pr=3882`) —
113+
no `createHash` error. The Dirtbag CORS-proxy ZIP workaround is retirable once #3882
114+
merges and deploys to production; switch `blueprint-theme-test.json` back to
115+
`git:directory` then.
90116
- [WordPress/agent-skills#32](https://github.com/WordPress/agent-skills/pull/32):
91117
added `studio` and `studio-xdebug` skills.
92118
- [WordPress/agent-skills#35](https://github.com/WordPress/agent-skills/pull/35):

0 commit comments

Comments
 (0)