Skip to content

[pull] main from TryGhost:main#1154

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

[pull] main from TryGhost:main#1154
pull[bot] merged 6 commits into
code:mainfrom
TryGhost:main

Conversation

@pull
Copy link
Copy Markdown

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

weylandswart and others added 6 commits May 19, 2026 11:31
closes https://linear.app/ghost/issue/BER-3649/

- Improved the visuals of threads in comments-ui, replacing rails with elbows
- Adjusted position of reply form so it opens directly underneath the comment you are replying to

---------

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Adds top-level comment pinning for users with moderation access. Pinned comments stick to the top of both the public feed and the admin moderation view, carrying a 
visible badge so they are clearly elevated rather than just popular.

All behaviour sits behind the new commentsPinning private labs flag - the service rejects pinned writes with MethodNotAllowedError when off, pinnedFirst ordering only applies when on, and both comments-ui and apps/posts hide the badge and dropdown items when off.

Schema additions (pinned_at nullable dateTime + composite [post_id, parent_id, pinned_at] index) serve the main read pattern: top-level comments per post, pinned first, then by
created_at. The migration's down() restores a single-column [post_id] index before dropping the composite so the FK keeps a covering index - MySQL otherwise rejects the rollback.

The comments-ui context menu also picked up icons for all moderation actions as part of this, matching the existing Hide/Show/Edit/Delete styling rather than dropping icons in for just the new items.
no ref

I have added two strings for Basque, since we can specify `one month` and `one year` with a single word (each).
…mirror (#27969)

no ref

`pnpm nx build ghost-admin` was failing on `main`. Three related issues,
all surfaced by recent dependency hygiene work:

- **`Cannot find module 'lodash/camelCase'`** in
`ghost/admin/lib/asset-delivery/index.js`. The addon required `lodash`
but `ghost/admin` never declared it — it had been resolving through
hoisting until `shamefully-hoist=false` (dc2ae81) tightened
isolation.
- **`Module not found: Can't resolve 'lodash'`** in
`@tryghost/nql/lib/utils.js` via ember-auto-import's webpack pass.
`@tryghost/nql@0.12.10` has a phantom `lodash` dep — declared nowhere in
its own `package.json`, but `require`d at runtime.
- **`Missing symlinked npm packages: codemirror — Specified: 5.48.2 —
Symlinked: 5.65.21`**. The security override added in #27683 forces
codemirror to `^5.58.2`, but `ghost/admin`'s spec was still `5.48.2`, so
ember-cli-dependency-checker flagged the mismatch.
ref #27930

Typing a single "." character in the social account fields causes the input to be **cleared entirely** instead of showing a validation error and letting the user continue typing.

This change updates the validation to prevent clearing of the entry field on invalid characters.

---------

Co-authored-by: Yahya Saqban <yahyasaqban@users.noreply.github.com>
Co-authored-by: Steve Larson <9larsons@gmail.com>
closes
[NY-1255](https://linear.app/ghost/issue/NY-1255/add-ability-to-add-additional-delayssteps)

## Summary

- Adds step insertion to the automations editor so publishers can add
wait or email steps from the tail `+` button.
- Adds hover insertion between existing steps via a circular `+` control
on connecting lines.
- Stages inserted steps locally, tracks dirty state against the server
automation, and publishes the updated action/edge graph in the edit
payload.
- Adds automation helper coverage for inserting actions at the head,
tail, and between existing actions, including immutable updates and
invalid anchor handling.

## Notes

- New wait steps default to a 24-hour delay, displayed as `1 day`.
- New email steps use placeholder email content and subject until the
email editing work lands.
- The action limit is enforced at `MAX_AUTOMATION_ACTIONS`; both tail
and in-edge add controls are disabled at the limit.
- Active automations show `Publish changes` only when staged edits
differ from the server copy; inactive automations continue to show
`Publish`.
@pull pull Bot locked and limited conversation to collaborators May 19, 2026
@pull pull Bot added the ⤵️ pull label May 19, 2026
@pull pull Bot merged commit 8b0623b into code:main May 19, 2026
2 checks 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.

6 participants