Skip to content

[pull] main from TryGhost:main#1160

Merged
pull[bot] merged 10 commits into
code:mainfrom
TryGhost:main
May 21, 2026
Merged

[pull] main from TryGhost:main#1160
pull[bot] merged 10 commits into
code:mainfrom
TryGhost:main

Conversation

@pull

@pull pull Bot commented May 21, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

renovate Bot and others added 10 commits May 20, 2026 22:54
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tryghost/actions](https://redirect.github.com/tryghost/actions)
([changelog](https://redirect.github.com/tryghost/actions/compare/bf96db0e7f57eb048ead40594f6c222b4a7e3e93..598d6328d89dbd796aa02ae2ea66308f9d942224))
| action | digest | `bf96db0` → `598d632` |

---

### Configuration

📅 **Schedule**: (in timezone Etc/UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 09:00 PM and 11:59 PM, Monday through Friday (`* 21-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)
- Automerge
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 10:00 PM and 11:59 PM, Monday through Friday (`* 22-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[eslint-plugin-playwright](https://redirect.github.com/mskelton/eslint-plugin-playwright)
| [`2.10.1` →
`2.10.2`](https://renovatebot.com/diffs/npm/eslint-plugin-playwright/2.10.1/2.10.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-playwright/2.10.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-playwright/2.10.1/2.10.2?slim=true)
|

---

### Release Notes

<details>
<summary>mskelton/eslint-plugin-playwright
(eslint-plugin-playwright)</summary>

###
[`v2.10.2`](https://redirect.github.com/mskelton/eslint-plugin-playwright/releases/tag/v2.10.2)

[Compare
Source](https://redirect.github.com/mskelton/eslint-plugin-playwright/compare/v2.10.1...v2.10.2)

##### Bug Fixes

- **missing-playwright-await:** Fix false positive when re-assigning
awaited variable
([8cca0ac](https://redirect.github.com/mskelton/eslint-plugin-playwright/commit/8cca0ac362d9ddbce899195f1433f8d853efc3d0)),
closes
[#&#8203;456](https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/456)
- **no-duplicate-hooks:** handle anonymous describe blocks in forEach
loops
([8b4ec60](https://redirect.github.com/mskelton/eslint-plugin-playwright/commit/8b4ec601a0f801dc2a8701d66f12e28102ffc934)),
closes
[#&#8203;459](https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/459)
- **valid-test-tags:** Support template literal strings
([d98a05c](https://redirect.github.com/mskelton/eslint-plugin-playwright/commit/d98a05cb51150bee283109e041e8e458f6d7bc5f)),
closes
[#&#8203;460](https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/460)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Etc/UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 09:00 PM and 11:59 PM, Monday through Friday (`* 21-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)
- Automerge
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 10:00 PM and 11:59 PM, Monday through Friday (`* 22-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
no ref

Makes the acceptance test `members.test.js` → "Email verification
trigger › Can add a member and trigger host email verification limits"
deterministic. It has been failing intermittently on the mysql8
acceptance lane.

## Why it was flaky

The test asserted that email verification becomes required on the exact
member that crosses the admin threshold. That assertion is racy:
`VerificationTrigger` decides whether the threshold is exceeded by
counting `members_created_events` rows, but that table is written by a
*separate* `MemberCreatedEvent` subscriber (`EventStorage`). The two
handlers run concurrently with no ordering guarantee — when the
trigger's count query wins the race it misses the just-created member's
row, undercounts by one, and fires one member creation late.

## What this PR does

Adds a buffer member past the threshold. By the time its event is
handled, the earlier members' rows are guaranteed committed, so
verification has deterministically triggered before it is asserted —
regardless of how the race lands. The webhook assertion is relaxed
accordingly (`amountTriggered` is now `2` or `3`). The buffer member
uses a raw POST so the response-body snapshots are untouched.
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [human-number](https://redirect.github.com/Kikobeats/human-number) |
[`2.0.10` →
`2.0.12`](https://renovatebot.com/diffs/npm/human-number/2.0.10/2.0.12)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/human-number/2.0.12?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/human-number/2.0.10/2.0.12?slim=true)
|

---

### Release Notes

<details>
<summary>Kikobeats/human-number (human-number)</summary>

###
[`v2.0.12`](https://redirect.github.com/Kikobeats/human-number/blob/HEAD/CHANGELOG.md#2012-2026-04-20)

[Compare
Source](https://redirect.github.com/Kikobeats/human-number/compare/v2.0.11...v2.0.12)

###
[`v2.0.11`](https://redirect.github.com/Kikobeats/human-number/blob/HEAD/CHANGELOG.md#2011-2026-04-14)

[Compare
Source](https://redirect.github.com/Kikobeats/human-number/compare/v2.0.10...v2.0.11)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Etc/UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 09:00 PM and 11:59 PM, Monday through Friday (`* 21-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)
- Automerge
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 10:00 PM and 11:59 PM, Monday through Friday (`* 22-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…28001)

no ref

The build + browser-E2E lane (`job_build_artifacts`,
`job_build_e2e_public_apps`, `job_build_e2e_image`, `job_e2e_tests`, and
the `build_packages` matrix) had no `if:` conditions, so it ran on
**every** PR — including PRs that only touch test files or docs and
cannot affect a running Ghost instance.
no ref

Firefox uploads .ogg files as application/ogg unlke Chromium-based browsers that upload as audio/ogg.

---------

Co-authored-by: Steve Larson <9larsons@gmail.com>
no ref

vitest's `dot` reporter writes its progress and its failure summary as
one continuous single-line stream. GitHub Actions truncates long log
lines, so when a vitest test fails in CI the summary block (`⎯⎯ Failed
Tests ⎯⎯`, the test name, the assertion diff) gets cut off — the logs
show the step exited 1, but not *which* test failed.

This adds the `github-actions` reporter alongside `dot`, gated on
`GITHUB_ACTIONS` so local runs keep the compact dot-only output. The
reporter emits inline `::error::` annotations pinned to the failing file
and line, which surface directly on the job and the PR diff.

Found while debugging a unit-test failure on another PR, where the
truncated log made it impossible to identify the failing test without
reproducing the whole suite locally.
no ref

Final big bucket of the vitest migration (after #27898 / #27900 / #27974
/ #27991 / #27992 / #27996) — moves `test/unit/server/services` (256
files, ~3290 tests) from mocha to vitest.

It also fixes a **vitest worker-teardown bug** that this DB-heavy bucket
exposed (the previous buckets happened not to trigger it).
)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| tinybirdco/tinybird-local | service | digest | `39209d3` → `9d9c77f` |
| tinybirdco/tinybird-local |  | digest | `39209d3` → `9d9c77f` |

---

### Configuration

📅 **Schedule**: (in timezone Etc/UTC)

- Branch creation
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 09:00 PM and 11:59 PM, Monday through Friday (`* 21-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)
- Automerge
  - Only on Sunday and Saturday (`* * * * 0,6`)
  - Between 12:00 AM and 12:59 PM, only on Monday (`* 0-12 * * 1`)
- Between 10:00 PM and 11:59 PM, Monday through Friday (`* 22-23 * *
1-5`)
- Between 12:00 AM and 04:59 AM, Tuesday through Saturday (`* 0-4 * *
2-6`)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
no ref

#28009 shipped a `pnpm patch` of `@vitest/utils`. The production Docker
build runs `pnpm install --prod`, which fails with `ENOENT: no such file
or directory, open '/patches/@vitest__utils@4.1.5.patch'` — the
`patches/` directory isn't part of the Docker build context, so
`package.json`'s `patchedDependencies` reference points at a file that
isn't there.
@pull pull Bot locked and limited conversation to collaborators May 21, 2026
@pull pull Bot added the ⤵️ pull label May 21, 2026
@pull pull Bot merged commit bd46a1c into code:main May 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants