[pull] main from TryGhost:main#1252
Merged
Merged
Conversation
ref https://linear.app/ghost/issue/HKG-1818 ref https://linear.app/ghost/issue/HKG-1819 ref https://linear.app/ghost/issue/HKG-1820 - before trusting the lazy UrlService in production we need to confirm it returns the same answers as the eager service on real traffic; this adds a "compare" mode that runs both side by side, always returns eager to callers, and reports any divergence - reused the existing unused lazyRouting flag as the on/off switch, unset by default, so prod and self-hosters are unchanged and the lazy backend isn't even constructed unless the flag is set - eager stays authoritative throughout: hasFinished tracks eager, misses are compared too, and lazy errors are always swallowed so a lazy bug can never break a request - forward comparisons (getUrlForResource/ownsResource) are deferred with setImmediate and resolveUrl is teed fire-and-forget, so the comparison adds no request latency - divergences and lazy throws are reported to logs with stable codes (LAZY_URL_PARITY_MISMATCH/LAZY_URL_COMPARE_ERROR) plus the site domain and resource/path context, so they can be filtered and alerted on in Elastic - registered routers on both backends and reset lazy on reload so the two stay in lockstep across routes.yaml uploads
ref https://linear.app/ghost/issue/PLA-156 ## What Switches the DB-backed Vitest suites (integration / e2e) from the serial basis (`pool:'threads'`, one worker, `isolate:false`) to **`pool:'forks'`** so files shard across N child processes in parallel. Each fork is its own process, so `vitest-setup-db.ts`'s per-process DB+port derivation gives it a **collision-free database for free** — the same isolation each Mocha process had. The derivation now appends the per-process `sessionId` even to a CI-pinned *base* (the sqlite leg exports one `database__connection__filename` for the whole job), so forks never share a file.
…ge (#28485) ref https://linear.app/ghost/issue/PLA-86 fixes #28369 When a member starts a paid signup or upgrade from a page other than the homepage, Portal returned them to the **site root** after a successful Stripe Checkout (e.g. `https://example.com/?stripe=success`) instead of the page where checkout began. Cancelling checkout already returned to the originating page, so the behaviour was inconsistent — and especially disruptive for paywall flows, where a member who just paid to unlock an article was bounced to the homepage instead of back to the article.
towards https://linear.app/ghost/issue/NY-1314 ref 5381098 ref #1801 This change should have no user impact. We coerce values to booleans when parsing database rows. But if the field is a nullable boolean, we'd coerce `null` to `false`, which is incorrect. This fixes that. This wasn't a problem until recently (in 5381098), when we added Ghost's first nullable boolean.
no ref - Updated admin support package dev targets to depend on finite builds instead of inherited continuous dev tasks. - Added an explicit finite framework build prerequisite for ghost-admin:dev. - Kept the top-level @tryghost/admin dev target responsible for starting Ember, Vite, and support package watches together. This should help with `pnpm dev` failing to provide a functional Admin.
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | python | stage | minor | `3.13-slim` → `3.14-slim` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/28155) for more information. --- ### Configuration 📅 **Schedule**: (in timezone Etc/UTC) - Branch creation - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-6`) - Automerge - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-6`) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, 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 has been generated by [Mend Renovate](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjkuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIyOS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: tryghost-renovate[bot] <269725441+tryghost-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/) | |---|---|---|---| | [react-hook-form](https://react-hook-form.com) ([source](https://redirect.github.com/react-hook-form/react-hook-form)) | [`7.78.0` → `7.79.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.78.0/7.79.0) |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/28155) for more information. --- ### Release Notes <details> <summary>react-hook-form/react-hook-form (react-hook-form)</summary> ### [`v7.79.0`](https://redirect.github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7790---2026-06-13) [Compare Source](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.78.0...v7.79.0) ##### Added - `disabled` option to `useFieldArray` ##### Fixed - `Controller` `onChange` promise return type - `deepEqual` false positives with shared object references - `shouldUseNativeValidation` behavior for radio groups - `createFormControl` stability with fast refresh in dev mode - `StrictMode` value preservation during remount - `formState.errors` reactivity with React compiler </details> --- ### Configuration 📅 **Schedule**: (in timezone Etc/UTC) - Branch creation - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-6`) - Automerge - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-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 has been generated by [Mend Renovate](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjcuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIyNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: tryghost-renovate[bot] <269725441+tryghost-renovate[bot]@users.noreply.github.com>
) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | tinybirdco/tinybird-local | service | digest | `8d70854` → `974885a` | | tinybirdco/tinybird-local | | digest | `8d70854` → `974885a` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/28155) for more information. --- ### Configuration 📅 **Schedule**: (in timezone Etc/UTC) - Branch creation - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-6`) - Automerge - Only on Sunday and Saturday (`* * * * 0,6`) - Between 11:00 PM and 11:59 PM, Monday through Friday (`* 23 * * 1-5`) - Between 12:00 AM and 04:59 AM, Monday through Saturday (`* 0-4 * * 1-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 has been generated by [Mend Renovate](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: tryghost-renovate[bot] <269725441+tryghost-renovate[bot]@users.noreply.github.com>
Renovate keeps opening minor/patch Node bumps (most recently #28696: `22.18.0` → `22.22.3`), which only churn CI. The Node runtime is something we upgrade deliberately as one coordinated change — the `engines` range in the root and `ghost/core` `package.json`, the `NODE_VERSION` ARG behind the `node` base image in `Dockerfile.production` and `docker/ghost-dev/Dockerfile`, and the `@types/node` version cap all have to move together and be deployed/QA'd as a unit. This adds a `packageRule` disabling Renovate updates for the `node` package: ```json5 { "description": "Pin Node.js — bump the runtime manually, not via Renovate", "matchPackageNames": ["node"], "enabled": false } ``` `matchPackageNames: ["node"]` is exact, so it disables both the `node-version` (engines) and `docker` (base image) updates that produced #28696, without affecting `@types/node`, `nodemailer`, `nodemon`, etc. Once this lands, #28696 can be closed (Renovate will stop recreating it).
ref https://linear.app/ghost/issue/NY-1284 This is a test-only change, made commit-by-commit. `NON_EMPTY_EMAIL_LEXICAL` and `EMPTY_EMAIL_LEXICAL` were defined in multiple places. Let's define them once.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )