Commit Graph

12093 Commits

Author SHA1 Message Date
Ghost CI
98b5992f63 v5.79.4 2024-02-19 11:26:01 +00:00
Kevin Ansfield
d1ce0ad34a
🐛 Fixed wide + full-width cards not displaying correctly inside the editor (#19711)
closes ENG-651

- bumps `@tryghost/koenig-lexical` to include fix for styling regression
  - https://github.com/TryGhost/Koenig/pull/1161
2024-02-19 11:06:32 +00:00
Kevin Ansfield
ef66cd0433
🐛 Fixed wide + full-width cards not displaying correctly inside the editor (#19711)
closes ENG-651

- bumps `@tryghost/koenig-lexical` to include fix for styling regression
  - https://github.com/TryGhost/Koenig/pull/1161
2024-02-19 11:05:37 +00:00
Ghost CI
0c4d62880e v5.79.3 2024-02-16 18:20:06 +00:00
Ghost CI
49bf6d2754 v5.79.2 2024-02-16 16:06:40 +00:00
renovate[bot]
3437e26bc9 Update dependency webpack to v5.90.2 2024-02-15 15:57:41 +00:00
renovate[bot]
fa89379474
🐛 Fixed editor card panels being positioned under post settings menu (#19635)
closes DES-112

- bumps `@tryghost/koenig-lexical` to include a few card settings panel improvements
  - initial panel positioning now takes sidebar into consideration
  - panels re-adjust position when opening/closing sidebar
  - panels can no longer be dragged off-screen or under the sidebar
2024-02-14 17:16:47 +00:00
Chris Raible
7dafefbfa7
Added PostHog identify calls in admin using hashed email address of user (#19685)
refs PA-24

- Added PostHog identify() calls using the user's hashed email address
when a user is logged into admin
- Added PostHog reset() calls to reset PostHog's distinct_id when a user
logs out of admin
- These events will only be sent in Admin running on Ghost(Pro), and won't impact self-hosted instances.
2024-02-13 13:23:03 -08:00
Kevin Ansfield
8a6a35851e
🐛 Fixed editor feature image caption not expanding to show long content (#19688)
closes DES-6
refs https://github.com/TryGhost/Ghost/issues/19545

- changed fixed height to min-height so the input expands when content wraps over multiple lines
2024-02-13 13:06:09 +00:00
Peter Zimon
ba9b695626
Update "Customize" link on Setup screen (#19686)
refs.
https://linear.app/tryghost/issue/DES-113/clicking-customize-design-on-setup-page-lands-you-on-top-level

On the setup screen 60% of people choose "Customize your site" which ATM
just take people to the top level Settings screen. This is very
confusing as with all the settings people don't know where to click to
actually get to customizing their site.

This PR fixes it by showing the design settings when clicking on
"Customize your site" and to the Dashboard after closing it.
2024-02-13 11:16:01 +01:00
Ghost CI
300563eb95 v5.79.1 2024-02-09 16:04:10 +00:00
Chris Raible
59076d1bca
Reverted "Fixed PostHog toolbar in admin (#19675)" (#19680)
This reverts commit c32ee3ca40.

- I found another way to fix this, making this change unnecessary
2024-02-08 16:58:46 -08:00
Chris Raible
c32ee3ca40
Fixed PostHog toolbar in admin (#19675)
refs PA-32

- The PostHog toolbar relies on a value that is passed via a hash in the
URL to launch successfully
- Admin overwrites the hash (since it uses hash based routing) before
the toolbar has a chance to read the value
- This change checks for the hash and if it exists, it launches the
toolbar using the hash value
2024-02-08 13:40:03 -08:00
Djordje Vlaisavljevic
5a6690eef4 Made selection background color in dark mode lighter
refs DES-8
2024-02-08 11:36:15 +00:00
Peter Zimon
3ef8b53fad
Added "No search result" screen to Settings (#19672)
refs.
https://linear.app/tryghost/issue/DES-21/empty-screen-is-missing-for-search-in-settings

- Search is one of the most useful functions in Settings and currently
the screen when there's no result for a searchterm is just a plain white
screen. Very non user-friendly.
- This update gives us an opportunity to improve the overall visual
hierarchy and focus of Settings in general.

---------

Co-authored-by: Ronald Langeveld <hi@ronaldlangeveld.com>
2024-02-08 08:32:40 +01:00
Kevin Ansfield
8522ca175d
🐛 Fixed duplicate text when pasting URL on selection with multiple formats (#19671)
closes ENG-29

- bumped editor package to include fix for handling child nodes within a selection when pasting a URL to convert text to a link
2024-02-07 13:48:14 +00:00
Steve Larson
5f371027a3
Updated editor lexical packages (#19664)
no refs
- updated koenig packages with the newest lexical version to bring in bugfixes and improvements
2024-02-06 22:13:54 +00:00
Djordje Vlaisavljevic
aa29e8fa32 Fixed members table background bug
refs DES-97
2024-02-06 10:02:09 +00:00
Ghost CI
c6c66d2a20 v5.79.0 2024-02-02 16:04:15 +00:00
renovate[bot]
1a3e7cbd7d Update dependency webpack to v5.90.1 2024-02-01 17:35:00 +00:00
Kevin Ansfield
99efb3aa08
🐛 Fixed embed card "Paste URL as link" button (#19634)
closes ENG-594

- bumps `@tryghost/koenig-lexical` to include fixed button click handler
2024-01-31 17:56:21 +00:00
Steve Larson
d5077ac1bf
Cleared member count cache on manual member add/delete (#19623)
refs https://linear.app/tryghost/issue/ENG-599
- member count is based on the cache which only updates ~every minute
- forced cache clear on manual member add/delete (not import)
- tests were failing based on the assumption that a new site that adds a
member has a nonzero member count, although the cache did not reflect
this quickly enough for the test to pass

Previously on a new site if you tried to publish a newsletter, it would
require at least one member. If you quickly added a member and tried to
send a newsletter, it would stop you saying you need at least one
member, requiring a browser refresh. This was a bug that is resolved
with this changes, as well as odd behaviour to try to write tests
around.
2024-01-30 15:08:27 -06:00
Kevin Ansfield
3c56005d44
🐛 Fixed error when converting or pasting HTML content with headings+text nested inside lists (#19618)
closes https://github.com/TryGhost/Product/issues/4234

- bumps Koenig packages to version containing a fix to our denest transform so it properly handles denesting element nodes inside list item nodes
2024-01-30 13:45:58 +00:00
Ghost CI
5d19c75482 v5.78.0 2024-01-30 11:17:31 +00:00
Ghost CI
1d4b076670 v5.77.0 2024-01-29 15:36:59 +00:00
Ronald Langeveld
0c95111f8e
🎨 Admin X - Offers (#19520)
no issue

- Offers rebuilt in React and now located in Settings.
2024-01-25 12:41:54 +00:00
Ghost CI
5e0bcc5a38 Merged v5.76.2 into main 2024-01-24 17:37:40 +00:00
Ghost CI
922af6defe v5.76.2 2024-01-24 17:37:39 +00:00
Kevin Ansfield
109a354818 🐛 Fixed in-editor style regressions (#19558)
closes https://github.com/TryGhost/Ghost/issues/19557

- bumps `@tryghost/koenig-lexical` which includes fix for some mangled class names following a previous Tailwind update
2024-01-24 11:09:20 -06:00
renovate[bot]
71dca8b0e8 Update dependency webpack to v5.90.0 2024-01-24 14:02:46 +00:00
Sag
e4f60ee028
Fixed member subscription status when multiple subs (#19530)
fixes PROD-325
- if a member has multiple subscriptions, show the status of the active
subscription
- if a member has multiple active subscriptins, show the status of the
subscription with the latest current_period_end date
2024-01-24 12:16:26 +01:00
Kevin Ansfield
b15534690c
🐛 Fixed in-editor style regressions (#19558)
closes https://github.com/TryGhost/Ghost/issues/19557

- bumps `@tryghost/koenig-lexical` which includes fix for some mangled class names following a previous Tailwind update
2024-01-23 15:48:42 +00:00
Ronald Langeveld
dc1bba781b
Fixed Offers redemptions preselection (#19541)
fixes
https://linear.app/tryghost/issue/PROD-319/offer-is-not-preselected-in-filter-dropdown-after-navigating-to

- fixes the URL builder for when Redeemed offers are selected to ensure
the selected tier is preselected in the members filter
2024-01-22 15:14:08 +00:00
Ghost CI
f4e20ad247 Merged v5.76.1 into main 2024-01-22 09:00:44 +00:00
Ghost CI
5a630b6aa4 v5.76.1 2024-01-22 09:00:42 +00:00
Chris Raible
d1f9dab1d5
🐛 Fixed externally hosted images overflowing in Outlook (#19527)
refs TryGhost/Product#4243

- Externally hosted images added in the editor were not populating the
`width` and `height` attributes, which could result in overflowing
images in certain email clients, particularly Outlook.
- This fix populates the `width` and `height` attributes in the editor
when adding an external image by URL or copy/pasting, which in turn
corrects the rendering in Outlook.
- Various other fixes and improvements to editor related packages, see
https://github.com/tryghost/koenig repo for more info
2024-01-22 09:44:05 +01:00
renovate[bot]
c9d571354f
🐛 Fixed rare rendering issue of lists appearing as headings (#19511)
closes https://github.com/TryGhost/Product/issues/4247

- bumps `@tryghost/kg-default-transforms` with a fix to our de-nesting transform so ListNode is no longer ignored as a badly nested child node which can occur through copy/paste from other editors

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 09:43:05 +01:00
Chris Raible
21fc34d088
🐛 Fixed externally hosted images overflowing in Outlook (#19527)
refs TryGhost/Product#4243

- Externally hosted images added in the editor were not populating the
`width` and `height` attributes, which could result in overflowing
images in certain email clients, particularly Outlook.
- This fix populates the `width` and `height` attributes in the editor
when adding an external image by URL or copy/pasting, which in turn
corrects the rendering in Outlook.
- Various other fixes and improvements to editor related packages, see
https://github.com/tryghost/koenig repo for more info
2024-01-18 12:38:09 -08:00
Sag
b216aa0628
🐛 Fixed wording when a canceled subscription has not ended yet (#19523)
fixes PROD-325
fixes https://github.com/TryGhost/Product/issues/3489

- a canceled subscription that is still valid till the end of the
current period now correctly shows "Has access until x", instead of
"Ended x"
2024-01-18 16:56:43 +01:00
Daniel Lockyer
57c5f92770 Reverted "🎨 Added Offers to the new Settings (#19493)"
This reverts commit c7d7b883cc.
2024-01-18 15:04:59 +01:00
Ronald Langeveld
c7d7b883cc
🎨 Added Offers to the new Settings (#19493)
no issue

- Removes flags for the new Offers in Admin X (Settings)
- Removes old Offers from the sidebar.
- See a new version of Offers in Settings. 🎨
2024-01-18 12:56:08 +00:00
renovate[bot]
89a24c3e8b
🐛 Fixed rare rendering issue of lists appearing as headings (#19511)
closes https://github.com/TryGhost/Product/issues/4247

- bumps `@tryghost/kg-default-transforms` with a fix to our de-nesting transform so ListNode is no longer ignored as a badly nested child node which can occur through copy/paste from other editors

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 07:19:38 +00:00
Simon Backx
f3c1366406
🐛 Fixed searching posts in member filters (#19505)
fixes PROD-201

The issue was caused because we were searching the 'name' field instead of the 'title' field.

This also increases the performance when loading the posts:
- Makes sure no relations are loaded
- Only return the fields we actually need
- Stop using limit=all, and replaced it with network based search
2024-01-17 16:06:06 +00:00
Kevin Ansfield
957b9f31d4
Fixed type error when logging editor error (#19504)
refs https://github.com/TryGhost/Ghost/pull/19284

- previous commit had only partially rolled back usage of `errorInfo` variable but it wasn't caught because the line in question has linting disabled
2024-01-17 13:39:15 +00:00
Ghost CI
3b0f99d455 v5.76.0 2024-01-17 09:16:09 +00:00
Kevin Ansfield
100e7b70c6
Added TK Reminders feature (#19491)
no issue

- keep an eye on on https://ghost.org/changelog/ for full details
2024-01-17 08:57:35 +00:00
Simon Backx
bc79293594
Fixed generating offers in data generator (#19495)
no issue

The data generator created an offer for the free product. This caused an
error in admin UI because it couldn't find the tier for the offer.

This fixes the issue in both the data generator and the admin UI.
2024-01-16 13:53:34 +00:00
Paul Davis
9d7dcc5aff
Send Ghost version to migrator tool (#19494) 2024-01-16 13:10:39 +00:00
Michael Barrett
ed0762fb51
Removed usage of yg when using NQL (#19287)
refs https://github.com/TryGhost/NQL/pull/73

The referenced PR removes `yg` from the parsed NQL output, so we also
need to remove any usage of it in Ghost
2024-01-15 14:40:01 +00:00
Steve Larson
039df67990
Fixed dashboard stats member count (#19478)
refs e27a5c1
- should not be pluralized
2024-01-13 19:07:39 +00:00
Simon Backx
d468563feb
Replaced menu members count stats API with members count cache (#19476)
no issue

The members stats API is a lot more slower than the normal members count
cache, and we use the members count cache in a lot more places. So we
can cache it more.
2024-01-13 20:05:29 +01:00
Simon Backx
1f2857e0e4
Reduced amount of member count queries when opening the editor (#19474)
no issue

When we open the editor, we fire 4 requests to fetch member counts. This
commit fixes this by replacing those calls with the members count cache
service.
2024-01-13 19:13:49 +01:00
Kevin Ansfield
2c4052b332
Improved API speed of members count cache queries (#19475)
no issue

- the members API endpoint by default adds `order by created_at` to the SQL queries which creates unnecessary overhead when we only care about a count because MySQL sorts the table before querying the single member
- specifying an explicit `order by id` overrides the default API behaviour
- locally with 2 million members the query times drop from >5sec to ~1sec
2024-01-13 19:12:16 +01:00
Steve Larson
e27a5c1e23
Removed duplicate member count queries in admin (#19473)
no refs
- member_count endpoint was queried multiple times on load
- moved to collectively use the member stats service
- prevented multiple tasks from being queued up to return count
2024-01-13 18:40:28 +01:00
Daniel Lockyer
18599fb9ce
Merged v5.75.3 into main
v5.75.3
2024-01-05 15:24:59 +01:00
Ghost CI
f21f025659 v5.75.3 2024-01-05 13:58:49 +00:00
Kevin Ansfield
46d6c56763
Added ResizeObserver loop error to Sentry ignore list (#19440)
closes https://github.com/TryGhost/Product/issues/4238

- the error often comes from extensions that we can't control and doesn't correspond to anything being broken so it's just noise
2024-01-04 10:50:15 +00:00
renovate[bot]
9e2558931f
🐛 Fixed signup card background color and editor crash when typing :, or :| (#19421)
refs https://github.com/TryGhost/Ghost/issues/19282
refs https://github.com/TryGhost/Koenig/pull/1136

- fixes signup card background color
- fixes crash when typing `:,` or `:|` or similar
2024-01-02 17:26:55 +00:00
renovate[bot]
17e03a6eca Update dependency @babel/plugin-proposal-decorators to v7.23.7 2024-01-02 09:48:42 +01:00
renovate[bot]
a2c28f2036 Update dependency ember-auto-import to v2.7.2 2024-01-02 09:47:01 +01:00
Daniel Lockyer
47f50e2d35
Merged v5.75.2 into main
v5.75.2
2023-12-14 13:51:23 +01:00
Ghost CI
c2ad349b78 v5.75.2 2023-12-14 12:34:56 +00:00
Kevin Ansfield
7276b975f8
🐛 Fixed editor crash when typing :,, :|, or similar
closes https://github.com/TryGhost/Ghost/issues/19375

- bumps `@tryghost/koenig-lexical` to patched version including fix for the emoji picker bug (https://github.com/TryGhost/Koenig/pull/1136)
2023-12-14 12:20:15 +00:00
renovate[bot]
a2ff5a8412 Update dependency @embroider/macros to v1.13.4 2023-12-14 12:40:22 +01:00
renovate[bot]
df2e15aa58 Update dependency ember-auto-import to v2.7.1 2023-12-14 12:40:02 +01:00
Kevin Ansfield
4ceb5dc16b
Fixed error when deleting post (#19369)
closes https://github.com/TryGhost/Product/issues/4230

- deleting a post could cause React components to trigger save tasks during teardown which then threw errors because they attempt to set properties on a deleted model instance
- added checks to the `beforeSaveTask()` to abort if the post object has been deleted
2023-12-13 17:45:23 +00:00
Kevin Ansfield
b74a611fbd
🐛 Fixed hang in editor when back button is pressed whilst feature image caption is focused (#19367)
closes https://github.com/TryGhost/Product/issues/4228

- when leaving the editor via back button the feature image caption editor's blur handler was called by the React editor component after Ember had torn down the route resulting in an attempt to use `post.set()` when `post` doesn't exist
- the error also caused Lexical to re-render to try and recover which then triggered the blur handler again resulting in an infinite loop
- adding a check to ensure `this.post` exists was enough to fix the problem
2023-12-13 17:25:00 +00:00
Daniel Lockyer
bba95ce034 Enabled persistent filesystem caching for Ember builds
fixes https://github.com/TryGhost/DevOps/issues/123

- ember-auto-import supports webpack v5 and v5 supports persistent file
  caching
- this stores a cache of built files across warm boots, so Admin built
  via `yarn dev` should be faster next time
- also ensures that recursive `node_modules` folders are emptied upon
  `yarn fix`, as the webpack cache is stored in `node_modules` under
  `ghost/admin`
- locally, this speeds up a warm build by 2x (!)
2023-12-13 16:40:18 +01:00
Peter Zimon
58d9b8e382
Update migration in settings (#19278)
refs.
7b40393d77

We're improving the usability and possibilities for publishers to
migrate from other platforms such as Substack, Medium or Mailchimp. This
PR applies changes to Ghost Settings to support the new flows, more
specifically:

- moves import and export functions out of Labs to its own setting,
directly available from search and the menu
- adds direct access to various platform migrations
- moves "Delete all content" to a dedicated setting group at the bottom
of all setting

---------

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-12-13 16:25:29 +01:00
renovate[bot]
3346606d77
Update dependency @tryghost/koenig-lexical to v1.0.8 (#19301)
refs https://github.com/TryGhost/Ghost/pull/19343

- bump was missed in earlier commit
2023-12-12 22:26:12 +00:00
Kevin Ansfield
b586b63ac9
🐛 Fixed inability to drag-select text in caption alt inputs (#19342)
refs https://github.com/TryGhost/Koenig/pull/1134

- bumps Koenig to version including fix for dragging to select text in caption alt inputs
2023-12-12 18:26:10 +00:00
Kevin Ansfield
9706754d6a
🐛 Fixed quote and aside formatting being lost in single-block snippets (#19341)
refs https://github.com/TryGhost/Product/issues/4197

- bumped Koenig packages containing fix for snippets capturing plain text when only the text of an aside or quote block is selected
2023-12-12 17:56:21 +00:00
Jono M
2b85980302
Fixed theme template picker state syncing with AdminX (#19328)
refs PROD-235

Special case where we need to set the old theme to inactive after
activating a new theme.
2023-12-12 11:27:59 +00:00
Sanne de Vries
98ff45647c
🎨 Updated editor layout to be more mobile friendly (#19327)
Refs https://github.com/TryGhost/Ghost/issues/18690
2023-12-12 11:51:59 +01:00
renovate[bot]
8bc3aae20b Update dependency @babel/plugin-proposal-decorators to v7.23.6 2023-12-12 10:31:38 +01:00
Steve Larson
ccc9c9bdd8
Removed emoji picker feature flag (#19314)
closes TryGhost/Product#4109
- requires new editor packages which are bumped in this commit
2023-12-11 09:51:37 -06:00
Jono M
9ff482f985
Updated AdminX routing to work with and without a leading slash (#19312)
no issue
2023-12-11 14:43:06 +00:00
Sanne de Vries
61a91f7dbd
Flipped thumbs-down icon horizontally in email and Portal (#19306)
Refs https://github.com/TryGhost/static/pull/3
- This way the thumbs-down is facing the opposite direction as the
thumbs-up
2023-12-11 13:05:11 +00:00
Kevin Ansfield
1479c55068
🐛 Fixed video uploads hanging in editor when using iOS (#19302)
refs https://github.com/TryGhost/Koenig/issues/1121

- bumps `@tryghost/koenig-lexical` to version including fix (https://github.com/TryGhost/Koenig/pull/1122)
2023-12-11 11:27:59 +00:00
renovate[bot]
9fae565673 Update sentry-javascript monorepo to v7.86.0 2023-12-11 09:48:49 +01:00
Kevin Ansfield
309aaf98aa
Added TK support to feature image caption editor (#19285)
closes https://github.com/TryGhost/Product/issues/4227

- added `@onTKCountChange` to `<KoenigLexicalEditorInput>`
  - when present the `isTKEnabled` flag will be turned on and the `<TKCountPlugin>` registered
- added `@registerAPI` support to `<KoenigLexicalEditorInput>` so we can focus the caption editor when its TK indicator is clicked
- added manual display of TK indicator for the caption input
  - default editor indicator positioning doesn't work for this input because its container is not full editor width
  - hid it by adding `overflow: hidden` to the inner caption container
  - added custom indicator button shown when we have a non-zero count
2023-12-07 15:46:23 +00:00
Kevin Ansfield
4b5718f6e3
Added error reporting when editor instances fail to load (#19284)
no issue

- recently we introduced code that broke the editor in older versions of
Safari but we weren't alerted to it until we started getting customer
reports
- we have an `ErrorBoundary` around the React editor components but this
wasn't reporting the error anywhere and simply showed an error message
- updated the boundary to report to Sentry when configured so we can
notice and fix any editor-breaking issues faster
2023-12-07 14:11:07 +00:00
Kevin Ansfield
1071317780
Fixed TK indicators not being correct when opening post with TKs (#19263)
no issue

- bumps `@tryghost/koenig-lexical` which includes fix and performance improvement for TKs
2023-12-06 17:38:33 +00:00
Steve Larson
549aaa4c5a
Added tests for TK indicators within editor (#19262)
closes TryGhost/Product#4225
- added basic tests for TK detection in title
- added coverage for TK reminder modal popping up
2023-12-06 11:29:27 -06:00
Kevin Ansfield
8f43cc9ad2
Fixed horizontal positioning of TK indicators on wider cards (#19257)
no issue

- bumped `@tryghost/koenig-lexical` for improved positioning behaviour
2023-12-06 12:12:37 +00:00
Steve Larson
d696e8b2e2
Added support for TK tracking inside cards (#19247)
refs https://github.com/TryGhost/Product/issues/4209

- bumped Koenig packages
  - `koenig-lexical` added nested editor TK support
  - all packages dropped Node 16 support
- switched to using `isTKEnabled` prop and `<TKCountPlugin>`

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2023-12-06 11:32:36 +00:00
Simon Backx
3f6ea04c43
Added portal default plan setting (#19238)
fixes PROD-61

This adds a new default plan setting. It defaults to yearly, which is
the current default selected interval in Portal.

Behind the new portal improvements feature flag, the default plan can be
changed. It will also change automatically if the available intervals
are changed.

This PR also wires up passing the new setting to the Portal preview.
2023-12-06 11:39:58 +01:00
Aileen Booker
96841a5060 Added clipboard write permission to billing iframe
no issue

- The billing app needs to be able to write to the clipboard to copy DNS values
2023-12-05 12:33:22 -04:00
Steve Larson
96320d378a
Added TK indicator support to post title (#19231)
closes TryGhost/Product#4208
- added TK indicator to post title
- added to TK count in confirmation flow
2023-12-05 09:41:54 -06:00
Sanne de Vries
7ce5abb155
Added static modal for TK reminders (#19203)
Refs https://github.com/TryGhost/Product/issues/4218
- Moving the TK confirmation step into a small modal as a more
lightweight solution

---------

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2023-12-05 12:09:21 +01:00
renovate[bot]
e2a6a83fb6 Update sentry-javascript monorepo to v7.85.0 2023-12-04 22:05:42 +01:00
renovate[bot]
9cae89d361
Update dependency @tryghost/koenig-lexical to v0.5.27 (#19173) 2023-12-04 18:55:33 +00:00
Djordje Vlaisavljevic
36294c6482 Added feature flag for portal improvements
refs GRO-154
2023-12-04 18:16:23 +00:00
Ghost CI
9ac050dfe9 v5.75.1 2023-12-04 14:56:05 +00:00
Simon Backx
e65ae2041c
🐛 Fixed deleting members with email disabled (#19222)
refs https://ghost.slack.com/archives/CTH5NDJMS/p1701688836406919

Deleting members with email disabled, results in deleting all members
due to a broken NQL filter.

The filter `(email_disabled:1)` results in selecting all members because
of the surrounding brackets, which cause a `yg` filter to be generated
by NQL which is not supported by code that handles the Mongo filters.

This is a quick fix to reduce damage, this will need a proper fix in NQL
/ lower level.
2023-12-04 15:07:30 +01:00
Ghost CI
90656aa047 v5.75.0 2023-12-01 16:04:16 +00:00
renovate[bot]
de2482736e Update sentry-javascript monorepo to v7.84.0 2023-12-01 08:58:32 +01:00
Sag
4ab9c24f12
Fixed sender email in the post preview for email (#19211)
Fixes GRO-74
2023-11-30 18:22:38 +00:00
renovate[bot]
070c2851bd Update dependency ember-auto-import to v2.7.0 2023-11-30 07:52:25 +01:00
Sag
3b7dc7555d
Fixed default sender address when email is managed (#19186)
fixes GRO-74

- uses the calculated setting "default_email_address" as first fallback, if there is no sender email for the newsletter
2023-11-29 19:24:16 +00:00
renovate[bot]
0b57c01dd9 Update dependency @babel/plugin-proposal-decorators to v7.23.5 2023-11-29 12:30:50 +01:00
renovate[bot]
d5f3b26e87 Update sentry-javascript monorepo to v7.83.0 2023-11-29 12:29:34 +01:00
Steve Larson
a586ac9469
Bumped editor packages (#19161)
no refs
- contains various fixes and improvements
2023-11-28 14:42:32 +00:00
Ghost CI
be6916f066 Merged v5.74.5 into main 2023-11-28 12:58:26 +00:00
Ghost CI
df3eea908a v5.74.5 2023-11-28 12:58:24 +00:00
renovate[bot]
7d564d4173 Update dependency fs-extra to v11.2.0 2023-11-28 11:54:44 +01:00
Steve Larson
e2807475f8
Updated editor packages (#19151)
closes TryGhost/Product#4204
- updated editor packages to get improvements to TK Plugin
2023-11-27 18:02:26 -06:00
Ghost CI
d30a6633ab v5.74.4 2023-11-27 07:56:41 +00:00
Daniel Lockyer
28e59b5444
Merged tag 'v5.74.3' into main
v5.74.3
2023-11-27 08:48:04 +01:00
Kevin Ansfield
b4ee76af5e
🐛 Fixed error when loading editor in Safari versions earlier than 16.4 (#19127)
no issue

- bumped `@tryghost/koenig-lexical` to version that no longer uses negative lookbehind in a regex which wasn't supported in Safari until version 16.4
2023-11-24 15:33:18 +00:00
Ghost CI
c6b86abb12 v5.74.3 2023-11-24 14:55:14 +00:00
Kevin Ansfield
761cc65d8f
🐛 Fixed error when loading editor in Safari versions earlier than 16.4
no issue

- bumped `@tryghost/koenig-lexical` to version that no longer uses negative lookbehind in a regex which wasn't supported in Safari until version 16.4
2023-11-24 14:41:43 +00:00
Chris Raible
a97e2b823e
Added error handling to Sentry's beforeSend (#19109)
refs TryGhost/Product#4175

- Added error handling to Sentry's beforeSend function in both Admin and
Core, so if there is any error in beforeSend, we will still send the
unmodified event to Sentry
- This is in response to an incident yesterday wherein the beforeSend
function threw an error due to an unexpected missing value in the
exception. The event sent to Sentry was the error in the beforeSend
function, and the original error never reached Sentry.
- If the original event had reached Sentry, even if unmodified by the
logic in beforeSend, we could have been alerted to the issue sooner and
more easily identified all affected sites.
- Also added defensive logic to protect for certain values in the
exception passed to beforeSend not existing and added unit tests for the
beforeSend function in admin and core
2023-11-23 02:46:50 +00:00
Steve Larson
f981993ba4
Revert "🎨 Updated editor layout to be more mobile friendly (#19103)" (#19108)
no refs

This reverts commit 329488139a.

- updates for mobile result in the locator queries finding two elements
instead of one, causing tests to fail
- reverting for now until we take a look closer with mobile, as it seems
CI is running at a mobile size
2023-11-22 19:26:17 +00:00
Steve Larson
4b1f61f947
Wired up TK count to confirmation flow (#19107)
closes TryGhost/Product#4185
- display TK count in the TK reminder/confirmation modal
2023-11-22 19:12:50 +00:00
Kevin Ansfield
5c32b6ccbf
Wired up TK reminder step in publish flow (#19104)
refs https://github.com/TryGhost/Product/issues/4184

- set up property on the editor controller for tracking number of TKs, action for updating it, and reset mechanism to ensure we go back to 0 when switching post
- uses random number for now pending `<TkPlugin>` being updated to expose the TK count
- passed TK count data to the publish flow modal so it can show a reminder step before the publish options step when there are still TKs in the post content
- added `onCountChange` prop to `<TkPlugin>` ready for the count feature to be implemented
2023-11-22 17:19:19 +00:00
Sanne de Vries
329488139a
🎨 Updated editor layout to be more mobile friendly (#19103)
Refs https://github.com/TryGhost/Product/issues/3712
2023-11-22 16:55:25 +00:00
Sanne de Vries
ec332520eb
Added static TK reminder step to publishing flow (#19049)
Refs https://github.com/TryGhost/Product/issues/4165
2023-11-22 15:36:20 +00:00
Jono Mingard
efc0f68b96 Merge tag 'v5.74.2'
v5.74.2
2023-11-22 14:53:42 +00:00
renovate[bot]
5969614a58 Update dependency miragejs to v0.1.48 2023-11-22 15:50:35 +01:00
Steve Larson
98215c6fea
Updated TK Reminders plugin use (#19100)
refs TryGhost/Product#4155
- moved plugin to top level so we can pass in props
2023-11-22 14:48:05 +00:00
Ghost CI
5299d1176e v5.74.2 2023-11-22 14:37:51 +00:00
Steve Larson
0954e08cf9
🐛 Fixed creating posts with an empty root (#19098) (#19099)
refs TryGhost/Product#4156
- bumped renderer package to handle empty root node
2023-11-22 08:26:09 -06:00
Steve Larson
03fec65fd5
🐛 Fixed creating posts with an empty root (#19098)
refs TryGhost/Product#4156
- bumped renderer package to handle empty root node
2023-11-22 14:18:26 +00:00
Peter Zimon
6b46c828e7
Admin X demo app content (#19079)
refs. https://github.com/TryGhost/Product/issues/4169

- Added demo content for POC AdminX demo app
2023-11-22 13:44:39 +01:00
Ghost CI
6941ef0148 Merged v5.74.1 into main 2023-11-21 16:49:06 +00:00
Ghost CI
34dc2f8c1e v5.74.1 2023-11-21 16:49:03 +00:00
Kevin Ansfield
d5c5f9d8f5
🐛 Fixed re-ordering within galleries sometimes getting stuck on disabled (#19080)
refs https://github.com/TryGhost/Product/issues/4170
refs https://github.com/TryGhost/Koenig/pull/1084

- bumps `@tryghost/koenig-lexical` to version containing a fix for gallery re-ordering not working in some situations
2023-11-21 16:21:21 +00:00
Kevin Ansfield
daf7b2714e
🐛 Fixed re-ordering within galleries sometimes getting stuck on disabled (#19080)
refs https://github.com/TryGhost/Product/issues/4170
refs https://github.com/TryGhost/Koenig/pull/1084

- bumps `@tryghost/koenig-lexical` to version containing a fix for gallery re-ordering not working in some situations
2023-11-21 16:12:52 +00:00
renovate[bot]
56d18edf0e Update sentry-javascript monorepo to v7.81.1 2023-11-21 15:05:41 +01:00
Kevin Ansfield
2f07af05cb
Wired up tkReminders flag in Admin+editor (#19074)
refs https://github.com/TryGhost/Ghost/pull/19057

- the flag and toggle UI had been added but we were missing the final part of wiring up the feature in Admin and passthrough to the editor
2023-11-21 11:10:28 +00:00
Jono M
baa62c0bed
Fixed AdminX loading failure screen layout (#19072)
no issue

This was broken when adding the AdminX demo app - it would no longer
display at full height.
2023-11-21 10:26:34 +00:00
Simon Backx
b6519e0f1f
Removed usage of unquoted ids in filter strings (#19070)
fixes GRO-34
fixes GRO-33

This is a revision of a previous commit, that broke the browser tests
because changes in the data generator (requiring bookshelf had side
effects).

This adds a new way to run all tests with enforced numeric ObjectIDs.
These numeric ids cause issues if they are used withing NQL filters. So
they surface tiny bugs in our codebase.

You can run tests using this option via:
NUMERIC_IDS=1 yarn test:e2e

Removed some defensive logic that could be explained by this discovered
issue.
2023-11-21 09:45:36 +01:00
renovate[bot]
7a3ae4ab75 Update sentry-javascript monorepo to v7.81.0 2023-11-20 16:57:32 +01:00
Daniel Lockyer
2ac8f39e77 Included all apps in asset-delivery output
- this should loop over all apps without us having to manually add them
  to the debug lines
2023-11-20 16:49:10 +01:00
Daniel Lockyer
641e0cbbdd Fixed building @tryghost/admin-x-demo project before Admin
refs a93c665d20

- this project needs to be built before Admin because Admin
  symlinks/copies the assets
2023-11-20 16:49:10 +01:00
Simon Backx
d5492bd63c
Revert "Removed usage of unquoted ids in filter strings" (#19052)
Reverts TryGhost/Ghost#19031

Browser tests are failing with an unknown cause
2023-11-20 13:50:07 +00:00
Jono M
a93c665d20
Created a skeleton AdminX demo app (#19005)
refs https://github.com/TryGhost/Product/issues/4152

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖[[deprecated]](https://githubnext.com/copilot-for-prs-sunset)
Generated by Copilot at a28462f</samp>

This pull request adds a new admin-x app called `admin-x-demo`, which
demonstrates how to use the shared packages `admin-x-framework` and
`admin-x-design-system` to create a simple app that renders a button and
a modal. It also improves the development workflow, the vite
integration, the dependency management, and the type checking for the
admin-x apps and packages. It modifies some files in the
`admin-x-framework` and `admin-x-design-system` packages to make the
modals prop optional, to introduce a new type for the props from the
Ember app, to fix the z-index of the modal backdrop, and to use
consistent file extensions and module syntax.
2023-11-20 13:30:15 +00:00
Simon Backx
320eaac4c4
Removed usage of unquoted ids in filter strings (#19031)
fixes GRO-34
fixes GRO-33

This also adds a new way to run all tests with enforced numeric ObjectIDs.
These numeric ids cause issues if they are used withing NQL filters. So they
surface tiny bugs in our codebase.

You can run tests using this option via:
NUMERIC_IDS=1 yarn test:e2e

Also removed some defensive logic that could be explained by unquoted ids.
2023-11-20 14:00:31 +01:00
renovate[bot]
3c5a5b9ce4 Update dependency testem to v3.11.0 2023-11-20 09:41:49 +01:00
Ghost CI
a1d7aa6dba v5.74.0 2023-11-17 16:05:58 +00:00
Chris Raible
c0e39affd0
Masked post and page IDs in Ember Data errors (#19035)
no issue

- The standard error message from Ember Data includes post/page ids in
the error message
- This causes Sentry to treat each instance as a unique issue and
results in many duplicate issues for the same error
- This change should mask the ids and allow Sentry to group the errors
correctly
2023-11-16 14:34:23 -08:00
Chris Raible
d6c5ce3d02
Fixed Sentry ajax error tags (#19034)
no issue

- Fixed an issue where the ajax_url tag was exceeding the allowed length
of tags in Sentry
- Fixed the mechanism for deleting the ajax tags when the error is not
an ajax error
- Removed the isAjaxError tag, since we can use the other ajax tags to
filter for ajax errors now
2023-11-16 12:27:07 -08:00
Steve Larson
40a859023f
Updated editor package (#19030)
closes TryGhost/Product#4160
- updated shortcut handling, this brings the sidebar shortcuts in line
2023-11-16 17:24:06 +00:00
Djordje Vlaisavljevic
6a443e431a Changed filter copy
fixes GRO-46
2023-11-16 16:52:16 +00:00
Steve Larson
7c1a13b88d
Updated editor shortcuts menu (#19027)
refs TryGhost/Product#4160
- updated header to be ctrl+option/alt+1-5 for header to avoid conflict
with os behaviour
- updated strike to be ctrl+option/alt+u to avoid view source browser
behaviour
2023-11-16 15:04:23 +00:00
Sanne de Vries
e9e2b678c7
Updated Admin meta title to Ghost Admin – [site title] (#19023)
No ref
- In order to make it easier to distinguish between Admin and site in
browser tabs, we've updated the meta title to include `Ghost Admin` in
the title.
2023-11-16 13:15:48 +01:00
Simon Backx
e3cdc24d6b
Added test to test default theme against linked gscan version (#19020)
fixes GRO-32

If we ever introduce errors in the linked source theme and linked gscan
version combination, this test will catch it.
2023-11-16 12:03:00 +00:00
Djordje Vlaisavljevic
a2cd4445f3 Updated copy
fixes GRO-35
2023-11-16 11:47:56 +00:00
Simon Backx
e5f644c27f
🐛 Fixed contain/starts/endsWith filters with /, _ or % in them (#19015)
fixes GRO-25

Updated @tryghost/nql to 0.12.0 and other packages that depend on it

1. SQLite: when a filter string contains /.

When we use a NQL contain/starts/endsWith filter that contains a slash,
underlyingly the whole filter will get converted to a MongoDB query, in
which we just use a regexp to represent the filter. In here we will
escape the slash: \/ as expected in a regexp. Later when we convert this
MongoDB query back to knex/SQL, we use a SQL LIKE query. Currently we
don't remove the escaping here for a normal slash. MySQL seems to ignore
this (kinda incorrect). SQLite doesn't like it, and this breaks queries
on SQLite that use slashes. The solution here is simple: remove the
backslash escaping when converting the regexp to LIKE, just like we do
with other special regexp characters.

2. We don't escape % and _, which have a special meaning in LIKE queries

Usage of % and _ is now as expected and doesn't have the special SQL
meaning anymore.
2023-11-16 09:35:20 +00:00