Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 28, 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 : )

rob-ghost and others added 7 commits January 28, 2026 12:02
ref https://linear.app/ghost/issue/BER-3184

Adds a commenting ability state to members (stored as JSON) and Admin API
endpoints for disabling/enabling commenting. When disabled, the member
cannot post, edit, like, or delete comments until re-enabled or expiry.
ref https://linear.app/ghost/issue/NY-954/refine-welcome-email-styles

- The email body style of welcome emails were inconsistent compared to
the rest of our transactional emails
no ref

This change should have no user impact. It removes `eslint-disable`
directives that don't do anything.

I wrote [a script][0] that deletes each `eslint-disable`, runs `yarn
lint`, and puts it back if `yarn lint` suddenly starts failing.

[0]: https://gist.github.com/EvanHahn/3978a721a0d4974e7700eeb9e34818ce
ref https://linear.app/ghost/issue/FEA-537

- As we introduce retention offers, we need a way to know whether
once/repeating offer still apply to the next payment
- We also want themes to be able to display the next payment information
easily, so we're moving the next payment calculation to the API level
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@tryghost/kg-default-nodes](https://redirect.github.com/TryGhost/Koenig)
([source](https://redirect.github.com/TryGhost/Koenig/tree/HEAD/packages/kg-default-nodes))
| [`2.0.7` →
`2.0.8`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-nodes/2.0.7/2.0.8)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-default-nodes/2.0.8?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-default-nodes/2.0.7/2.0.8?slim=true)
|
|
[@tryghost/kg-default-transforms](https://redirect.github.com/TryGhost/Koenig)
([source](https://redirect.github.com/TryGhost/Koenig/tree/HEAD/packages/kg-default-transforms))
| [`1.2.30` →
`1.2.31`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-transforms/1.2.30/1.2.31)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-default-transforms/1.2.31?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-default-transforms/1.2.30/1.2.31?slim=true)
|
|
[@tryghost/kg-html-to-lexical](https://redirect.github.com/TryGhost/Koenig)
([source](https://redirect.github.com/TryGhost/Koenig/tree/HEAD/packages/kg-html-to-lexical))
| [`1.2.30` →
`1.2.31`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-html-to-lexical/1.2.30/1.2.31)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-html-to-lexical/1.2.31?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-html-to-lexical/1.2.30/1.2.31?slim=true)
|
|
[@tryghost/kg-lexical-html-renderer](https://redirect.github.com/TryGhost/Koenig)
([source](https://redirect.github.com/TryGhost/Koenig/tree/HEAD/packages/kg-lexical-html-renderer))
| [`1.3.30` →
`1.3.31`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-lexical-html-renderer/1.3.30/1.3.31)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkg-lexical-html-renderer/1.3.31?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkg-lexical-html-renderer/1.3.30/1.3.31?slim=true)
|
|
[@tryghost/koenig-lexical](https://redirect.github.com/TryGhost/Koenig)
([source](https://redirect.github.com/TryGhost/Koenig/tree/HEAD/packages/koenig-lexical))
| [`1.7.8` →
`1.7.9`](https://renovatebot.com/diffs/npm/@tryghost%2fkoenig-lexical/1.7.8/1.7.9)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@tryghost%2fkoenig-lexical/1.7.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tryghost%2fkoenig-lexical/1.7.8/1.7.9?slim=true)
|

---

### Release Notes

<details>
<summary>TryGhost/Koenig (@&#8203;tryghost/kg-default-nodes)</summary>

###
[`v2.0.8`](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-default-nodes@2.0.7...@tryghost/kg-default-nodes@2.0.8)

[Compare
Source](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-default-nodes@2.0.7...@tryghost/kg-default-nodes@2.0.8)

</details>

<details>
<summary>TryGhost/Koenig
(@&#8203;tryghost/kg-default-transforms)</summary>

###
[`v1.2.31`](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-default-transforms@1.2.30...@tryghost/kg-default-transforms@1.2.31)

[Compare
Source](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-default-transforms@1.2.30...@tryghost/kg-default-transforms@1.2.31)

</details>

<details>
<summary>TryGhost/Koenig (@&#8203;tryghost/kg-html-to-lexical)</summary>

###
[`v1.2.31`](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-html-to-lexical@1.2.30...@tryghost/kg-html-to-lexical@1.2.31)

[Compare
Source](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-html-to-lexical@1.2.30...@tryghost/kg-html-to-lexical@1.2.31)

</details>

<details>
<summary>TryGhost/Koenig
(@&#8203;tryghost/kg-lexical-html-renderer)</summary>

###
[`v1.3.31`](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-lexical-html-renderer@1.3.30...@tryghost/kg-lexical-html-renderer@1.3.31)

[Compare
Source](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/kg-lexical-html-renderer@1.3.30...@tryghost/kg-lexical-html-renderer@1.3.31)

</details>

<details>
<summary>TryGhost/Koenig (@&#8203;tryghost/koenig-lexical)</summary>

###
[`v1.7.9`](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/koenig-lexical@1.7.8...@tryghost/koenig-lexical@1.7.9)

[Compare
Source](https://redirect.github.com/TryGhost/Koenig/compare/@tryghost/koenig-lexical@1.7.8...@tryghost/koenig-lexical@1.7.9)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Only on Sunday and Saturday ( * * * * 0,6 ), Between 12:00
AM and 12:59 PM, only on Monday ( * 0-12 * * 1 ) in timezone Etc/UTC.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ref https://linear.app/ghost/issue/BER-3184

Staff can now disable a member's ability to comment directly from the
comment moderation screen. This adds menu items to disable/enable
commenting, a confirmation dialog, and a visual indicator for members
who have been banned from commenting.

The feature is gated behind the `disableMemberCommenting` labs flag
which will be added to GA_FEATURES when the backend API is deployed.
Removed unused member permission code from the permissions system. Latent
bugs in this system went undetected until we attempted to revoke comment
permissions for specific members. Since the member permission checks were
effectively a no-op, we've opted to clean up the unnecessary code rather
than fix a system that was never actually enforcing anything.

Additionally, simplified the public vs admin auth check - the condition
checked for an API type that doesn't exist, meaning it was always true.
@pull pull bot locked and limited conversation to collaborators Jan 28, 2026
@pull pull bot added the ⤵️ pull label Jan 28, 2026
@pull pull bot merged commit 81d6aa1 into code:main Jan 28, 2026
1 check passed
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.

4 participants