Skip to content

[pull] main from TryGhost:main - #1427

Merged
pull[bot] merged 4 commits into
code:mainfrom
TryGhost:main
Aug 19, 2026
Merged

pull[bot] merged 4 commits into
code:mainfrom
TryGhost:main

Conversation

@pull

@pull pull Bot commented Aug 19, 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 : )

rob-ghost and others added 4 commits August 19, 2026 09:10
…too long

Stripe rejects checkout session creation when a custom field label exceeds 50 characters, but the donation personal-note label (a translated Portal string) was only capped at 255 — a limit copied from the donation_message column, which stores the member's answer, a different Stripe field with a different limit. A translation between 51 and 255 characters would therefore break the entire donation checkout for that locale. The label is now bounded on both sides of sanitising: before, because this is a public endpoint and nothing past the limit can survive, so there is no reason to sanitise an unbounded string; and after, because sanitising can lengthen the string and the post-sanitise length is what Stripe measures. Truncating rather than rejecting keeps the label translated, as falling back to the English default would defeat the purpose of the parameter.
A members filter like (newsletters.slug:-weekly+email_disabled:0) says not subscribed to the weekly newsletter, but Admin read it as subscribed, and because Admin writes the parsed filter back on save, opening and saving such a segment silently inverted its meaning. The parser now takes the subscription state from the slug clause's own polarity and treats the email_disabled clause purely as the marker of a newsletter-subscription compound, matching how the legacy Ember admin read these filters.
ref https://linear.app/ghost/issue/BER-3851

Gift delivery also needs to interpret Mailgun send results, so keeping the helper under automations would make a cross-service transport concern appear automation-owned. Moving it to the shared services area gives existing and future mail callers one neutral implementation without changing behavior.
Admin fills in a missing user preference by writing the whole accessibility blob merged over the user it read when the page loaded, and it queues one such write per mounted consumer, so the state the test set through the API landed in between those queued writes and the next one reverted it. Setting the onboarding state now detaches the page from Admin first so the queue is discarded, then retries the write until the server reports the state back, leaving the caller to navigate and load Admin against it.
@pull pull Bot locked and limited conversation to collaborators Aug 19, 2026
@pull pull Bot added the ⤵️ pull label Aug 19, 2026
@pull
pull Bot merged commit e17a544 into code:main Aug 19, 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