Skip to content

[pull] main from TryGhost:main#1069

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

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

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 16, 2026

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 : )

mike182uk and others added 10 commits April 16, 2026 11:38
ref https://linear.app/ghost/issue/BER-3527

Unredeemed gifts past their `expires_at` date were left in purchased
status indefinitely. This expands the existing consumed gift cleanup job
to also transition these to `expired` status, preventing them from being
redeemable
no ref

Added 2 new indexes on the gift subscriptions job to make querying for
pending consumption / expired gifts from the clean up job more efficient
ref
https://linear.app/ghost/issue/NY-1230/fix-click-outside-the-button-should-close-menu

- Portal renders inside an iframe via createPortal, but the mousedown
listener was attached to the parent page's `document` instead of the
iframe's document. Events inside the iframe never bubbled to the parent
document, so clicking outside the menu had no effect. Additionally,
clicking the modal background would close the entire popup without first
closing the menu.
closes https://linear.app/ghost/issue/BER-3532

- when a member redeems a gift subscription, we now send a new paid
member email notification, with the email body noting "Gift
subscription" as source
- we're not introducing a new staff notification setting for this, it's
part of the existing "New paid members" setting
- email copy is not finalised
no issues

Shows a gift icon next to the "Gift subscription — Expires {date}" label
on the account screen, so the gift state is distinguishable from other
subscription states at a glance.
Closes https://linear.app/ghost/issue/DES-1352/we-incorrectly-use-deleted-member-in-the-likes-and-reports-modals-from

Instead of falling back to the member email if their name wasn't available, we'd just fallback to Deleted member. We now use the Shade utility so that it maps up to how we handle this elsewhere. Covered in the likes and reports modal as well as the comment preview in both.
Previously the PR preview waited for the entire CI run to complete before
checking the Docker build job conclusion, which meant unrelated test failures
or long-running jobs delayed (or blocked) preview deployment. Now we poll the
"Build & Publish Artifacts" job directly so the preview can proceed as soon
as the Docker artifact is ready.
Closes
https://linear.app/ghost/issue/DES-1349/clarify-delete-tag-confirmation-copy-and-warning-styling

Improved the messaging to tell users exactly what will happen when a tag
is deleted. Also removed the eh red from the post count.

| Before | After |
|--------|--------|
| <img width="607" height="274" alt="Screenshot 2026-04-16 at 13 00 54"
src="https://github.com/user-attachments/assets/044b3c84-b0bc-4c5e-bbc3-1b2879584f64"
/> | <img width="596" height="261" alt="Screenshot 2026-04-16 at 13 00
36"
src="https://github.com/user-attachments/assets/3be21b5d-0581-4615-be13-d265f4f13c41"
/> |
ref https://linear.app/ghost/issue/BER-3525

Added `reminder_sent_at` column to `gifts` table to track when a
reminder has been sent
no ref

This is a types-only change that should have no user impact.

This is, effectively, the whole diff:

```diff
-@param {String} foo
+@param {string} foo
```

`String` is less correct than `string`, and [will not be supported by
TypeScript in an upcoming version][0].

All I did was run `sed` on a bunch of files.

[0]: https://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025/#javascript-checking-and-jsdoc-compatibility
@pull pull Bot locked and limited conversation to collaborators Apr 16, 2026
@pull pull Bot added the ⤵️ pull label Apr 16, 2026
@pull pull Bot merged commit 8e77a86 into code:main Apr 16, 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.

7 participants