Commit Graph

3477 Commits

Author SHA1 Message Date
Kevin Ansfield
dddd2a4111
🐛 Fixed copy/paste of HR cards between editor and beta editor
no issue

- bumped `@tryghost/kg-converters` which contains a fix for an incorrect card name map in the lexical/mobiledoc converter methods
2023-06-06 15:14:22 +01:00
Rishabh
7b9d8b1829 Updated yarn.lock 2023-06-06 09:20:45 +05:30
Jono Mingard
885531b345 Added e2e tests for most simple AdminX settings 2023-06-06 15:50:07 +12:00
Jono M
089a3f7aaf
Added playwright config to admin-x-settings (#16941)
no issue
2023-06-06 11:29:28 +12:00
Peter Zimon
250312c82b Added react-hot-toast to AdminX Design System
refs. https://github.com/TryGhost/Team/issues/3351
2023-06-05 17:31:26 +02:00
Daniel Lockyer
6c3517f67a
Removed unused top-gh-contribs dependency
- this is currently unused so we can clean it up
2023-06-05 15:58:51 +02:00
renovate[bot]
4834f77f0f Update dependency mailgun.js to v9 2023-06-05 14:34:16 +02:00
Daniel Lockyer
8bf113930f
Updated lockfile 2023-06-04 10:17:54 +02:00
Elena Baidakova
af2e069cbe Bumped @tryghost/kg-lexical-html-renderer
no issue
2023-06-02 17:59:55 +04:00
Elena Baidakova
97c3434c3d Bumped @tryghost/kg-lexical-html-renderer
no issue
2023-06-02 17:06:08 +04:00
Daniel Lockyer
b3300589fa
Updated lockfile 2023-06-02 11:07:01 +02:00
Ronald Langeveld
4fcaabe563
Added initial i18n implementation for Signup-form (#16914)
closes https://github.com/TryGhost/Team/issues/3307

This commit includes several important updates to add internationalisation (i18n) support within the signup form package:

- Modified the translate script in `package.json` to include translations for the signup form.
- Added a new test for the signup form resources in `i18n.test.js`.
- Updated `tsconfig.json` to allow synthetic default imports.
- Made updates to `package.json`, including adding a prebuild command for `@tryghost/i18n` to ensure typescript declaration files get built.
- added `vite-plugin-commonjs` so we can bundle commonjs packages to be useable by the browser.
- In `App.tsx`, imported the `i18n` library and created an `i18n` instance for the `signup-form` namespace. This `i18n` instance's `t` function was added to the application context.
- Updated the `AppContextType` in `AppContext.ts` to include the `t` function from i18n​

Co-authored-by: Daniel Lockyer <hi@daniellockyer.com>
2023-06-02 11:02:52 +02:00
renovate[bot]
e13b7e723c Update dependency @sinonjs/fake-timers to v10.2.0 2023-06-02 11:01:51 +02:00
renovate[bot]
a1ab6737e1 Update dependency @embroider/macros to v1.11.0 2023-06-02 11:01:47 +02:00
renovate[bot]
3f764d0a0f Update dependency @types/nodemailer to v6.4.8 2023-06-02 11:01:12 +02:00
Kevin Ansfield
e9ed7dfb64
Bumped @tryghost/kg-lexical-html-renderer
refs https://github.com/TryGhost/Team/issues/3269

- fixes continuation of list sequence when a non-list-node separates list nodes bringing rendered output in line with editor depiction
2023-06-02 09:54:12 +01:00
Daniel Lockyer
f908a03fff
Enabled and tracked retries in CI tests (#16909) 2023-06-02 09:36:28 +02:00
renovate[bot]
7959f76f44 Update sentry-javascript monorepo to v7.54.0 2023-06-02 09:06:32 +02:00
renovate[bot]
17acd2437b Update dependency typescript to v5.1.3 2023-06-02 09:06:20 +02:00
Jono Mingard
024045b9e3 Update signup form text colours to be passed via attributes 2023-06-02 10:59:00 +12:00
Kevin Ansfield
9a1b78ae4f
Bumped Koenig packages
no issue
2023-06-01 17:48:34 +01:00
Rishabh
cbf486d811 Added error handling pattern for social accounts setting
refs https://github.com/TryGhost/Team/issues/3318

Adds error handling pattern for facebook and twitter account settings same as old admin, showing error message when incorrect value is added and also on blur updates the value to include the facebook/twitter URL
2023-06-01 22:12:11 +05:30
Michael Barrett
ef92028b22
Removed post diffing from post history feature (#16904)
refs https://github.com/TryGhost/Team/issues/3337

Removed post diffing from post history feature as this functionality is
likely to be reworked in a future cycle
2023-06-01 13:22:51 +01:00
renovate[bot]
2a739cf248 Update dependency vitest to v0.31.4 2023-06-01 13:41:39 +02:00
renovate[bot]
c2e0514665 Update dependency vitest to v0.31.3 2023-06-01 11:09:06 +02:00
renovate[bot]
70960f27f6 Update dependency concurrently to v8.1.0 2023-06-01 11:08:55 +02:00
renovate[bot]
2edaf2c42c Update dependency vitest to v0.31.2 2023-06-01 09:44:15 +02:00
Daniel Lockyer
0833cfe872
Updated lockfile 2023-06-01 08:12:22 +02:00
Jono Mingard
80b9030805 Updated signup form to support configuring background and button color
refs https://github.com/TryGhost/Team/issues/3338

* background and button color can be passed in the script tag dataset
* text color is calculated automatically from background/button color
2023-06-01 14:43:57 +12:00
Fabien 'egg' O'Carroll
32f4861176
Bumped eslint-plugin-ghost (#16906)
- This includes changes to support PascalCase filenames for interfaces
- Also bumps newer packages to use the latest version to avoid conflicts
with the underlying eslint-plugin-filenames package
2023-05-31 16:36:32 -04:00
Daniel Lockyer
d07a3177bf
Updated lockfile 2023-05-31 11:07:27 +02:00
Ronald Langeveld
c53bd499c7
Added typescript declerations to i18n (#16894)
refs https://github.com/TryGhost/Team/issues/3307

Added TypeScript support and a new namespace for the `i18n` module. This
enables type checking and localisation for the new signup form component and future typescript projects that may need to add i18n support.
2023-05-31 10:37:21 +02:00
renovate[bot]
dabd0181bb Update dependency @extractus/oembed-extractor to v3.1.9 2023-05-30 12:28:56 +02:00
renovate[bot]
cb6825f1a3 Update sentry-javascript monorepo to v7.53.1 2023-05-30 10:51:52 +02:00
renovate[bot]
f4ac82fd3d Update storybook monorepo to v7.0.18 2023-05-30 10:51:42 +02:00
renovate[bot]
087662fa02 Update dependency mailgun.js to v8.2.2 2023-05-30 06:54:20 +00:00
Ronald Langeveld
393055dd6c Bumped koenig related packages
no issue
2023-05-30 08:00:42 +02:00
Ronald Langeveld
9cf97527de Updated yarn lock
refs https://ghost.slack.com/archives/C02G9E68C/p1685380054137139

- Canary build failing, possible suspect.
2023-05-29 19:11:00 +02:00
Ronald Langeveld
5445e1d1b4 Bumped Koenig packages
no issue
2023-05-29 18:27:26 +02:00
renovate[bot]
d5db684aeb Update dependency vite to v4.3.9 2023-05-29 17:25:09 +02:00
renovate[bot]
1ee9c5f805 Update dependency jsdom to v22.1.0 2023-05-29 11:18:45 +02:00
renovate[bot]
610ba33513 Update dependency postcss to v8.4.24 2023-05-29 07:52:39 +02:00
Sam Lord
7bdb98ff9d Added empty translations for all locales
refs: https://github.com/TryGhost/Ghost/issues/16628
2023-05-25 16:48:56 +01:00
Sam Lord
8135ef74f7 Wrapped public facing strings with translation function
refs: https://github.com/TryGhost/Ghost/issues/16628
2023-05-25 16:48:56 +01:00
Sam Lord
67c81dbd6c Added wrapped i18n strings for email FAQ
refs: https://github.com/TryGhost/Ghost/issues/16628

This adds a library for interpolating strings with React components, which allows us to pass HTML elements / React components into our i18n templates. We can further templatize those components to have fully translated, nested components.
2023-05-25 16:48:56 +01:00
Daniel Lockyer
a66ca378f7
Updated lockfile 2023-05-25 15:44:10 +02:00
Kevin Ansfield
2598097b36
Added lexical conversion when copying from mobiledoc
closes https://github.com/TryGhost/Team/issues/3311

- added event handler to the mobiledoc editor for cut and copy operations that reads mobiledoc from the event data, converts to lexical using `@tryghost/kg-converters` and stores the converted data on the event under the `application/x-lexical-editor` mimetype ready to be pasted into a lexical editor
2023-05-25 13:50:47 +01:00
renovate[bot]
f768639102 Update sentry-javascript monorepo to v7.53.0 2023-05-25 11:41:13 +02:00
renovate[bot]
d71eb04bbc Update dependency @playwright/test to v1.34.3 2023-05-25 09:12:55 +02:00
Sag
7000b8214b Bumped Lexical dependencies
no issue
2023-05-24 17:36:27 +02:00
Peter Zimon
894850d9e4 Added NiceModal to AdminX dependencies
refs. https://github.com/TryGhost/Team/issues/3150
2023-05-24 16:50:31 +02:00
renovate[bot]
de1d925c8c Update storybook monorepo to v7.0.15 2023-05-24 11:21:11 +02:00
renovate[bot]
59a07e79ea Update dependency @playwright/test to v1.34.2 2023-05-24 09:34:52 +02:00
Steve Larson
2ceecaa1cd Updated yarn lock
no refs
2023-05-23 14:52:51 -05:00
Daniel Lockyer
16fa1f5a53
Updated lockfile 2023-05-23 17:20:06 +02:00
renovate[bot]
2a985d4c6f Update storybook monorepo to v7.0.14 2023-05-23 13:01:05 +02:00
renovate[bot]
d28eef5f4f Update storybook monorepo to v7.0.13 2023-05-23 09:54:57 +02:00
renovate[bot]
5f1e232a20 Update dependency @playwright/test to v1.34.1 2023-05-23 09:54:33 +02:00
Steve Larson
2e0073f9ec Updated lexical editor dependencies
no refs
2023-05-22 09:07:29 -05:00
renovate[bot]
cbc4859bbf Update dependency i18next to v22.5.0 2023-05-22 13:51:24 +02:00
renovate[bot]
193c89ae66 Update sentry-javascript monorepo to v7.52.1 2023-05-22 13:51:09 +02:00
renovate[bot]
c9b2826c16 Update dependency @storybook/addon-styling to v1.0.8 2023-05-22 10:36:36 +02:00
renovate[bot]
74d7c52ddf Update dependency vite to v4.3.8 2023-05-22 09:16:27 +02:00
renovate[bot]
46c8863b7c Update dependency @playwright/test to v1.34.0 2023-05-22 08:53:05 +02:00
Daniel Lockyer
d7a523a7c2
Updated lockfile 2023-05-19 16:25:58 +02:00
renovate[bot]
a1dc3d4f33 Update dependency typescript to v5.0.4 2023-05-19 12:39:23 +02:00
renovate[bot]
b373c8911e Update storybook monorepo to v7.0.12 2023-05-19 12:04:46 +02:00
renovate[bot]
39453b678b Update dependency vitest to v0.31.1 2023-05-19 11:50:49 +02:00
Ronald
d7cf8f0a65 Updated kg dependencies
no issue
2023-05-17 15:58:51 +02:00
Ronald
72ba157987 Revert "Bumped kg-default-nodes"
This reverts commit ab5b6c7b84661f6ce5387ae4ec9b4962790b3f43.
2023-05-17 15:58:51 +02:00
Ronald
6bf6fde7e2 Bumped kg-default-nodes
no issue
2023-05-17 15:58:51 +02:00
Rishabh
3d6fb0d6b1 Added new package for admin-x settings
refs https://github.com/TryGhost/Team/issues/3151

- adds a new vite + typescript + storybook + TW package for setting up admin settings in react with base config that works with Ghost monorepo
- includes base components/design system for new settings UI
- adds eslint rule config to the package to match rest of Ghost codebase
- this is an experimental package as we figure out the best patterns for new admin packages in Ghost monorepo

Co-authored-by: Peter Zimon <zimo@ghost.org>
2023-05-16 12:23:24 +05:30
renovate[bot]
4ffdd27f0a Update dependency vite to v4.3.6 2023-05-15 20:15:31 +02:00
renovate[bot]
e66d335aef Update dependency semver to v7.5.1 2023-05-15 15:13:17 +02:00
renovate[bot]
f29f011919 Update dependency @types/sinon to v10.0.15 2023-05-15 15:12:50 +02:00
renovate[bot]
25dd51aa82 Update dependency cross-fetch to v3.1.6 2023-05-15 15:12:41 +02:00
Chris Raible
58ffd1cfeb
Bumped kg-default-nodes and kg-lexical-html-renderer (#16785)
no issue

- bumped kg-default-nodes to 0.0.41
- bumped kg-lexical-html-renderer to 0.1.37
2023-05-12 18:20:54 -07:00
renovate[bot]
aa85263cb2 Update dependency express-lazy-router to v1.0.5 2023-05-12 13:55:57 +02:00
renovate[bot]
1fbf28618c Update dependency lib0 to v0.2.74 2023-05-12 11:47:38 +02:00
renovate[bot]
36b26611a4 Update dependency @babel/eslint-parser to v7.21.8 2023-05-12 11:30:55 +02:00
renovate[bot]
4ca5817286 Update dependency express-jwt to v8 2023-05-12 11:14:05 +02:00
renovate[bot]
763b3c50fc Update dependency vite-plugin-svgr to v3 2023-05-12 11:11:56 +02:00
renovate[bot]
3920d217c0 Update dependency jsdom to v22 2023-05-11 14:40:08 +02:00
Fabien 'egg' O'Carroll
d3432399c7
Bumped knex-migrator & gscan to latest versions (#16770)
These versions use the latest version of @tryghost/errors, which uses
the correct import for @stdlib/utils-copy. This should hopefully stop
missing module errors when running locally.
2023-05-10 10:13:02 -04:00
Fabien "egg" O'Carroll
104f84f252 Added eslint rule for file naming convention
As discussed with the product team we want to enforce kebab-case file names for
all files, with the exception of files which export a single class, in which
case they should be PascalCase and reflect the class which they export.

This will help find classes faster, and should push better naming for them too.

Some files and packages have been excluded from this linting, specifically when
a library or framework depends on the naming of a file for the functionality
e.g. Ember, knex-migrator, adapter-manager
2023-05-09 12:34:34 -04:00
renovate[bot]
35d02fd3ec Update dependency vite-plugin-css-injected-by-js to v3.1.1 2023-05-09 12:51:52 +02:00
Sag
f560a334cc
Bumped Lexical packages (#16756)
no issue

- Bumped default config for koenig-lexical to ~0.2
2023-05-08 18:39:14 +02:00
Daniel Lockyer
799561aaec
Reduced Sharp concurrency to test alleviating memory fragmentation
refs 9d104c8511

- we've seen recurring instances where Ghost will hog memory after image
  uploads
- we use `jemalloc` to try and help this, but it still seems to happen
- according to the sharp thread referenced in my commit above, memory
  fragmentation can also be helped by reducing the concurrency within
  sharp
- this is a bit of an experiment and we can revert if it causes issues
2023-05-08 10:51:56 +02:00
renovate[bot]
6518d2ccae Update dependency i18next-parser to v8 2023-05-08 07:01:20 +02:00
renovate[bot]
6d78512a4b Update dependency vite to v4.3.5 2023-05-05 16:04:32 +02:00
Daniel Lockyer
cf41c3ad54
Removed final declaration of oembed-parser
refs 27e4523aec

- we no longer use `oembed-parser`, so we can remove it from
  package.json
- also pins the `@extractus/oembed-extractor` package and adds it into
  `@tryghost/oembed-service` where it was missing
2023-05-05 10:48:16 +02:00
renovate[bot]
0cdf555758 Update dependency vitest to v0.31.0 2023-05-05 09:48:36 +02:00
renovate[bot]
5d392bbe57 Update dependency lerna to v6.6.2 2023-05-05 07:36:31 +02:00
Chris Raible
27e4523aec
🐛 Improved error message for unauthorized YouTube embeds (#16374)
refs TryGhost/Ghost#16048

- When attempting to embed a Youtube video that has had embedding
disabled by its owner/author, Ghost displayed a generic error message
that didn't indicate the reason for the failed emebed.
- This change updated the error message when Youtube (or any provider)
returns 401: Unauthorized to indicate that the owner of the resource has
explicitly disabled embedding.
2023-05-04 16:04:58 -07:00
renovate[bot]
b407676b94 Update dependency vite to v4.3.4 2023-05-04 07:19:15 +02:00
Daniel Lockyer
53071dccd6
Updated lockfile 2023-05-03 21:40:28 +02:00
Fabien "egg" O'Carroll
b9565bc290 Migrated @tryghost/post-revisions to TypeScript!
This is an initial start to using TypeScript in our non-core Ghost packages.

- Adds a prepare script to build the project after installing deps
- Adds an initial tsconfig.json which is compatible with our node env
- Migrates all of the code to TypeScript, including tests
- Updates tests to use ts-node so that we don't need to compile the tests
- ts-node is installed at the top level because the env is weird with lerna and
  doesn't work otherwise
- Updates the yarn dev script to build the project with the --all and --revisions flag
2023-05-03 14:32:31 -04:00
Simon Backx
1b38361211 Updated @sentry/node to v7.50.0 and reenabled renovate again
fixes https://github.com/TryGhost/Team/issues/2385

The Sentry version has been locked to v7.11.1 for some time because Sentry still used a legacy Node feature, called domains. Due to a bug or change in in Noide 16+, those domains broke handling uncaught promise execptions. So Ghost crashed when a promise exception wasn't caught. But that shouldn't be the case because we have a global uncaught exception handler.

Luckily Sentry switched to AsyncLocalStorage in v7.48.0. This fixes the issue as demonstrated in c0cd62184c
2023-05-02 10:23:45 +02:00
renovate[bot]
e7cef15bdf Update dependency jsdom to v21.1.2 2023-05-01 18:22:36 +02:00
renovate[bot]
67abd6555b Update CSS preprocessors 2023-05-01 16:43:16 +02:00
renovate[bot]
eff4662af3 Update dependency @types/sinon to v10.0.14 2023-05-01 15:01:17 +02:00
renovate[bot]
8ca3f301ae Update dependency date-fns to v2.30.0 2023-05-01 15:00:19 +02:00
renovate[bot]
60d26c62e8 Update dependency vite to v4.3.3 2023-05-01 08:57:56 +02:00
renovate[bot]
f4cc04d235 Update dependency @playwright/test to v1.33.0 2023-05-01 08:57:43 +02:00
renovate[bot]
235b39ab7a Update sentry-javascript monorepo to v7.49.0 2023-04-26 10:30:25 +02:00
renovate[bot]
2a2c8efaea Update dependency vite to v4.3.2 2023-04-26 10:30:12 +02:00
renovate[bot]
bcc2e06063 Update dependency @vitejs/plugin-react to v4 2023-04-26 10:29:12 +02:00
renovate[bot]
52b7086d1d Update dependency semver to v7.5.0 2023-04-26 10:14:22 +02:00
renovate[bot]
48ebe66208 Update sentry-javascript monorepo to v7.48.0 2023-04-26 10:14:04 +02:00
renovate[bot]
95b4d48c39 Update dependency vite to v4.2.2 2023-04-26 10:13:40 +02:00
renovate[bot]
31ae31a13d Update dependency tailwindcss to v3.3.2 2023-04-26 06:36:40 +02:00
Naz
cddf786424
Added filtering of announcement bar content
refs https://github.com/TryGhost/Team/issues/3051

-  We need to show the announcement_content to specific audiences based on the announcement_visibility filter
2023-04-21 13:46:37 +02:00
Sag
06610e150a Bumped lexical packages
no issue
2023-04-20 10:54:16 +01:00
Elena Baidakova
9c59fbfb52 Bumped Lexical packages
no issue
2023-04-20 10:58:09 +04:00
Sag
932bfef27a
Bumped Lexical packages (#16661)
no issue
2023-04-18 13:42:05 +01:00
Elena Baidakova
b7f091f732 Updated lexical packages
no issue
2023-04-18 13:23:02 +04:00
Steve Larson
8a563910d3 updated lexical packages
no refs
2023-04-17 16:24:36 +01:00
Elena Baidakova
7f184d2451
Added support for filtering snippets to mobiledoc/lexical (#16636)
refs TryGhost/Team#2904


<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at b3f5423</samp>

This pull request adds support for multiple formats of snippet content,
especially the `lexical` format, to the Ghost CMS. It modifies the
snippets API, model, and test files to handle the format conversion,
filtering, and serialization of snippets.
2023-04-17 10:54:08 +04:00
Sag
1d19021606
Bumped Lexical packages (#16626)
no issue
2023-04-13 10:47:22 +02:00
Kevin Ansfield
b286faf011
Initial setup for Lexical multiplayer websockets service (#16611)
no issue

Rough prototype only, current limitations:
- **No persistence**. Docs are in-memory only, YJS state will be lost on server restart although it could be re-populated by clients if they reconnect without closing their local doc (needs testing/investigation)
- **No tie-in with saved lexical state**. Lexical state is updated in the post model via normal API requests from Admin which can mean the multiplayer doc and the saved lexical state become out of sync but there's no detection/indication of that state at present. Will also trigger the "someone else is editing" errors because multiplayer doesn't yet override the default post update collision detection
- **New posts don't start in multiplayer**. New posts don't have an ID and so can't have a respective YJS doc, after initial save we don't transition to multiplayer because the React component in Ember doesn't re-render on prop changes yet
- **No tests**. Experimental code just to get something working and help answer questions for what's next

Changes:
- added `lexicalMultiplayer` labs flag
- updated `<KoenigLexicalEditor>` to pass through the required `<KoenigComposer>` props for multiplayer when enabled
- added `lexical-multiplayer` service
  - `init()` called during boot, used to set up the `enable()` and `disable()` methods so the flag can be toggled without restarts
  - when enabled it adds `upgrade` request handling to the base Ghost server
    - returns 404 if the URL doesn't match `/ghost/api/admin/posts/multiplayer/*`
    - returns 401 if a valid session cookie is not present
    - if everything is good, hands off to code in `y-websocket.js` that handles YJS doc creation, awareness, keepalive, etc
    - uses doc names in the format `${post.id}/${docId}` where `docId` is `main` for the primary document and a GUID for any sub-documents like captions and nested editors in cards
- updated `SettingsBREADService` to check if the `labs` setting is changed, and enables/disables the `lexical-multiplayer` service as needed so the websockets server can be started and shutdown when toggling without requiring a restart
2023-04-12 20:24:02 +01:00
Jonathan Noack
dd5fd20cf9
Renamed Kiev to Kyiv in site timezone select (#16619)
closes https://github.com/TryGhost/Ghost/issues/16603

- Updates the timezone data used by Ghost to the latest version, which fixes the spelling of Kyiv in the timezone select.
2023-04-12 17:54:13 +02:00
Elena Baidakova
100b4880ee Bump Koenig packages
no issue
2023-04-11 18:08:30 +04:00
renovate[bot]
ee216038e9 Update dependency @tryghost/email-mock-receiver to v0.3.1 2023-04-11 11:47:08 +02:00
renovate[bot]
4b8f631563 Update dependency @playwright/test to v1.32.3 2023-04-11 11:14:38 +02:00
renovate[bot]
88e1f2c50f Update dependency semver to v7.4.0 2023-04-11 11:01:01 +02:00
Sag
ed28bba94d
Upgraded Lexical packages (#16600)
no issue
2023-04-10 10:39:15 +02:00
renovate[bot]
3b8eea2c01 Update dependency html-validate to v7.15.1 2023-04-10 10:25:09 +02:00
renovate[bot]
11aacc0e6b Update dependency copy-webpack-plugin to v11 2023-04-07 13:47:46 +02:00
renovate[bot]
07545541a8 Update @tryghost 2023-04-07 13:47:12 +02:00
renovate[bot]
9e888aeb15 Update dependency @babel/eslint-parser to v7.21.3 2023-04-07 13:43:07 +02:00
Naz
3f78e959b3
Bumped email-mock-receiver
refs https://github.com/TryGhost/Team/issues/2691

- This bump changes the "sentEmailCount" method to a more descriptive "assertSentEmailCount" and adds chaining to this method.
2023-04-06 22:13:17 +02:00
naz
70ae3efd5c
Update email mock receive (#16578)
refs TryGhost/Team#2691

- The bump adds possibility to make email's html/text snapshots with dynamic content. The breaking change here is with separate "matchPlaintextSnapshot" method extracted out of "matchMetadataSnapshot" to handle dynamic content in "text" part of the sent email.
2023-04-06 17:24:23 +02:00
renovate[bot]
95308573fd Update dependency cssnano to v6 2023-04-05 18:24:03 +02:00
renovate[bot]
21516bfe11 Update sentry-javascript monorepo to v7.47.0 2023-04-05 18:23:06 +02:00
Sanne de Vries
92663ea731
Fixed email width and dark mode images in email template (#16566)
Refs https://github.com/TryGhost/Team/issues/2845

---------

Co-authored-by: Fabien "egg" O'Carroll <fabien@allou.is>
Co-authored-by: Simon Backx <simon@ghost.org>
2023-04-05 15:53:51 +02:00
renovate[bot]
3d5da1b091 Update dependency webpack to v5.77.0 2023-04-05 15:16:30 +02:00
renovate[bot]
83373e1751 Update Test & linting packages 2023-04-05 15:16:08 +02:00
Sag
8f6c3c12e2
Upgraded Lexical packages (#16564)
no issue
2023-04-05 15:00:26 +02:00
renovate[bot]
254533ad92 Update dependency @playwright/test to v1.32.2 2023-04-05 14:49:19 +02:00
renovate[bot]
bcd9e2196b Update vitest monorepo to v0.29.8 2023-04-05 14:10:08 +02:00
Daniel Lockyer
19445c13f2
Updated lockfile 2023-04-05 13:47:14 +02:00
Daniel Lockyer
b64d32cc26 Removed heavy dependency within @tryghost/errors
- we previously used `@stdlib/utils` instead of the child package
  `@stdlib/copy`, which is a lot smaller and contains our only use of
  the parent
- this saves 140+MB of dependencies
2023-04-05 13:46:15 +02:00
renovate[bot]
e5084a23e6 Update dependency html-validate to v7.14.0 2023-04-05 13:33:05 +02:00
renovate[bot]
1a1286b150 Update metascraper to v5.34.2 2023-04-05 13:25:45 +02:00
renovate[bot]
aaf2ee96c0 Update dependency lerna to v6.6.1 2023-04-05 12:03:30 +02:00
renovate[bot]
101fd6f885 Update dependency terser to v5.16.8 2023-04-05 12:01:27 +02:00
renovate[bot]
5b7df1a7d0 Update dependency i18next to v22.4.14 2023-04-05 11:48:26 +02:00
renovate[bot]
24df14a3dc Update dependency tailwindcss to v3.3.1 2023-04-05 11:21:22 +02:00
renovate[bot]
871379d872 Update dependency concurrently to v8 2023-04-05 11:20:47 +02:00
renovate[bot]
c975e9af00 Update sentry-javascript monorepo to v7.46.0 2023-04-05 10:32:46 +02:00
Daniel Lockyer
7ec2656495 Added yarn resolution for @tryghost/errors
- we keep ending up with multiple versions of the depedency in our tree,
  and it's causing problems when comparing instances
- the workaround I'm implementing for now is to bump the package
  everywhere and set a resolution so we only have 1 shared instance
- hopefully we can come up with a better method down the line
2023-04-05 09:34:50 +02:00
Sanne de Vries
57fcfe76d8
Updated images in email template to be work with light/dark mode
refs https://github.com/TryGhost/Team/issues/2845

We needed to update the html out of the cards to include images for light
and dark mode, and then we've used CSS to show/hide them 

Co-authored-by: Fabien "egg" O'Carroll <fabien@allou.is>
2023-04-04 00:32:08 +07:00
Sag
3393d3910c
Upgraded Koenig packages
no issue
2023-04-03 11:33:43 +02:00
Sagar Gupta
0c8f75686b Fixed Public Preview Card in Lexical 2023-04-03 10:04:37 +02:00
Daniel Lockyer
97fc422835
Updated lockfile 2023-03-30 18:16:55 +02:00
Paul Davis
86027fdb6f
Add Migrate app (#16458)
Adds the UI for self-serve migrations
2023-03-30 15:40:06 +01:00
Fabien 'egg' O'Carroll
0f72816951
Newsletter email template customisation (#16523)
Refs https://github.com/TryGhost/Team/issues/2845

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-03-30 15:33:46 +02:00
Chris Raible
3236891b80
Fixed admin coverage reporting (#16512)
no issue

- Renovate merged in a breaking change to ember-cli-code-coverage which
broke our coverage reporting for the admin app
- This commit fixes the issue by pinning the version of
ember-cli-code-coverage to the last working version and telling renovate
to ignore it in the future
- It also adds html coverage reporting to make it easier to run locally
and see your coverage before pushing
2023-03-28 11:07:28 -07:00
Rishabh Garg
2e2b3c7c0f
Fixed LinkReplacer bug causing broken links on published post/page (#16514)
refs TryGhost/Team#2840

- moves the `entities.decode()` step to the `LinkReplacer` class so that
it's applied to all links, not just the ones that are replaced in the
email service
- adds a test case to `LinkReplacer` to ensure that the
`entities.decode()` step is applied to all links correctly, decoding any
URLs with HTML entities in them

---------

Co-authored-by: Chris Raible <chris@ghost.org>
2023-03-28 15:59:15 +05:30
Ronald Langeveld
fe31898dcd Bumped koenig lexical packages
no issue

- Bumped kg-default-nodes to make compatible with the latest cards
2023-03-28 15:47:46 +08:00
Chris Raible
64c9e66b56
🐛 Fixed broken link tracking in newsletters (#16473)
refs https://github.com/TryGhost/Team/issues/2805

When we render mobiledoc to HTML, it automatically escapes HTML entities in the process, so a button or directly pasted link with href="https://example.com?code=test" will be rendered as href="https://example.com?code&#x3Dtest" as the url is encoded in the rendered HTML. Our link tracking was using the encoded URL as the redirect URL in newsletters, causing certain links to break.

This change updates the link tracking to decode the URL with `entities.decode(url)` so we store the correct redirect URL in our DB and ensure link tracking redirects to the correct url from newsletters.

---------

Co-authored-by: Rishabh <zrishabhgarg@gmail.com>
2023-03-24 18:44:55 +05:30
Sagar Gupta
5bd558ddf1 Added Toggle Card (first version) 2023-03-24 12:42:58 +01:00
Daniel Lockyer
045e1ee33d Disabled got retries in testing environment
- by default, got retries failed requests, which is causing issues in
  tests because we've disabled the network with `nock`
- this is causing huge idle time because got pauses before retrying
- this change disables the retries if we're running tests, so things are
  more stable
2023-03-24 11:55:57 +01:00
renovate[bot]
eb1d63eac0
Update dependency @isaacs/ttlcache to v1.2.2 2023-03-23 20:20:25 +00:00
Daniel Lockyer
56b407f1f4
Added pre-push hook to run unit tests on changed packages
fixes https://github.com/TryGhost/Toolbox/issues/532

- we should protect against failures entering `main` which could be
  avoided by running a quick unit test beforehand
- this reintroduces Lerna as it supports parallelisation and `--since`,
  to run linting and unit tests on packages that have changed since
  upstream
2023-03-23 11:27:43 +01:00
Ronald Langeveld
e313423d2e Bumped packages
no issue
2023-03-23 17:23:12 +08:00
renovate[bot]
8f6533e1a3
Update dependency webpack to v5.76.3 2023-03-22 19:31:12 +00:00
Daniel Lockyer
6207766ce7
Migrated from nodemon to native Node --watch
fixes https://github.com/TryGhost/Toolbox/issues/493

- `nodemon` doesn't properly wait for graceful shutdown if there's a job
  running in Ghost when it tries to reload, so it ends up producing
  errors because two versions of Ghost are started
- Node 18 added a `--watch` flag, which reloads if any required file is
  changed
- switching from nodemon to this native feature should keep the
  core functionality the same but fix this edge case that disrupts the
  development flow
2023-03-21 15:57:41 +01:00
renovate[bot]
ca3ce032a4 Update sentry-javascript monorepo to v7.44.2 2023-03-21 15:10:15 +01:00
renovate[bot]
be96c9d5d0
Update dependency i18next to v22.4.13 2023-03-21 10:46:44 +00:00
renovate[bot]
48e486509c Update dependency vite to v4.2.1 2023-03-21 07:36:34 +01:00
renovate[bot]
41e956fd55 Update vitest monorepo to v0.29.7 2023-03-21 07:36:13 +01:00
renovate[bot]
1f2df81ed1 Update sentry-javascript monorepo to v7.44.1 2023-03-21 07:35:45 +01:00
renovate[bot]
e1fa8560d5 Update dependency fs-extra to v11.1.1 2023-03-21 07:35:30 +01:00
renovate[bot]
827d2abf55 Update dependency @testing-library/react to v12.1.5 2023-03-17 23:38:13 +00:00
renovate[bot]
680e3bf270 Update sentry-javascript monorepo to v7.43.0 2023-03-17 11:40:12 +01:00
Daniel Lockyer
945bae34cc
Updated Sodo-Search dependencies
- these were the easy ones to bump, the rest require bigger changes or
  more investigation
2023-03-17 11:30:02 +01:00
Daniel Lockyer
94201281e3
Updated lockfile 2023-03-17 10:32:28 +01:00
renovate[bot]
fb69af86e2
Update dependency i18next to v22.4.12 2023-03-17 07:22:44 +00:00
renovate[bot]
a6f6b11ddf Update dependency vite to v4.2.0 2023-03-16 16:41:24 +01:00
renovate[bot]
f8730267ed Update dependency vitest to v0.29.3 2023-03-16 16:34:27 +01:00
Daniel Lockyer
327fef0ad8 Migrated Portal from CRA to Vite
refs https://github.com/TryGhost/Ghost/issues/15502

- this commit migrates Portal from CRA to Vite, as it brings the
  package more inline with the direction we're going in terms of tooling
  for builds
- the bulk of the changes here are just config related to get things
  working with Vite, and then cleaning up all the CRA boilerplate
2023-03-16 16:25:55 +01:00
renovate[bot]
0ae2a79a77
Update dependency ember-template-lint to v5.7.1 2023-03-16 13:53:36 +00:00
renovate[bot]
1c9327ce33 Update dependency webpack to v5.76.2 2023-03-16 01:03:03 +00:00
renovate[bot]
4bb673ba8a
Update Test & linting packages 2023-03-15 21:52:02 +00:00
Daniel Lockyer
b8de978748
Updated lockfile 2023-03-15 17:33:22 +01:00
Kevin Ansfield
e2eba623dc
Added complex object URL transform support for lexical card datasets
refs https://github.com/TryGhost/Team/issues/2722

- bumped `@tryghost/url-utils` with additional lexical card dataset support
- see 2154b26dd2
2023-03-15 14:00:23 +00:00
renovate[bot]
a7207eb0dd Update dependency sqlite3 to v5.1.6 2023-03-15 07:51:08 +01:00
renovate[bot]
3c22203c71
Update @tryghost (#16406)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@tryghost/html-to-mobiledoc](https://togithub.com/TryGhost/SDK/tree/master#readme)
([source](https://togithub.com/TryGhost/SDK)) | [`2.0.6` ->
`2.0.7`](https://renovatebot.com/diffs/npm/@tryghost%2fhtml-to-mobiledoc/2.0.6/2.0.7)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fhtml-to-mobiledoc/2.0.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fhtml-to-mobiledoc/2.0.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fhtml-to-mobiledoc/2.0.7/compatibility-slim/2.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fhtml-to-mobiledoc/2.0.7/confidence-slim/2.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-card-factory](https://togithub.com/TryGhost/Koenig/tree/master#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`4.0.4` ->
`4.0.5`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-card-factory/4.0.4/4.0.5)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-card-factory/4.0.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-card-factory/4.0.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-card-factory/4.0.5/compatibility-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-card-factory/4.0.5/confidence-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-clean-basic-html](https://togithub.com/TryGhost/Koenig/tree/master#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`3.0.6` ->
`3.0.7`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-clean-basic-html/3.0.6/3.0.7)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-clean-basic-html/3.0.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-clean-basic-html/3.0.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-clean-basic-html/3.0.7/compatibility-slim/3.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-clean-basic-html/3.0.7/confidence-slim/3.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-default-cards](https://togithub.com/TryGhost/Koenig/tree/master#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`6.0.4` ->
`6.0.5`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-cards/6.0.4/6.0.5)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-cards/6.0.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-cards/6.0.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-cards/6.0.5/compatibility-slim/6.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-cards/6.0.5/confidence-slim/6.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-default-nodes](https://togithub.com/TryGhost/Koenig/tree/main#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`0.0.15` ->
`0.0.16`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-default-nodes/0.0.15/0.0.16)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-nodes/0.0.16/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-nodes/0.0.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-nodes/0.0.16/compatibility-slim/0.0.15)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-default-nodes/0.0.16/confidence-slim/0.0.15)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-lexical-html-renderer](https://togithub.com/TryGhost/Koenig/tree/main#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`0.1.11` ->
`0.1.12`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-lexical-html-renderer/0.1.11/0.1.12)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-lexical-html-renderer/0.1.12/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-lexical-html-renderer/0.1.12/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-lexical-html-renderer/0.1.12/compatibility-slim/0.1.11)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-lexical-html-renderer/0.1.12/confidence-slim/0.1.11)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-mobiledoc-html-renderer](https://togithub.com/TryGhost/Koenig/tree/master#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`6.0.4` ->
`6.0.5`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-mobiledoc-html-renderer/6.0.4/6.0.5)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-mobiledoc-html-renderer/6.0.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-mobiledoc-html-renderer/6.0.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-mobiledoc-html-renderer/6.0.5/compatibility-slim/6.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-mobiledoc-html-renderer/6.0.5/confidence-slim/6.0.4)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@tryghost/kg-parser-plugins](https://togithub.com/TryGhost/Koenig/tree/master#readme)
([source](https://togithub.com/TryGhost/Koenig)) | [`3.0.6` ->
`3.0.7`](https://renovatebot.com/diffs/npm/@tryghost%2fkg-parser-plugins/3.0.6/3.0.7)
|
[![age](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-parser-plugins/3.0.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-parser-plugins/3.0.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-parser-plugins/3.0.7/compatibility-slim/3.0.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tryghost%2fkg-parser-plugins/3.0.7/confidence-slim/3.0.6)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>TryGhost/SDK</summary>

###
[`v2.0.7`](ca389b95dd...924c77a60e)

[Compare
Source](ca389b95dd...924c77a60e)

</details>

<details>
<summary>TryGhost/Koenig</summary>

###
[`v4.0.5`](https://togithub.com/TryGhost/Koenig/compare/@tryghost/kg-card-factory@4.0.4...@tryghost/kg-card-factory@4.0.5)

[Compare
Source](https://togithub.com/TryGhost/Koenig/compare/@tryghost/kg-card-factory@4.0.4...@tryghost/kg-card-factory@4.0.5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-14 06:47:38 +00:00
renovate[bot]
221d1e616c Update dependency sqlite3 to v5.1.5 [SECURITY] 2023-03-14 07:09:09 +01:00
renovate[bot]
0780cc2dd1
Update dependency metascraper to v5.34.0 2023-03-13 21:36:01 +00:00
renovate[bot]
f6ed086735 Update sentry-javascript monorepo to v7.42.0 2023-03-13 14:57:18 +01:00
renovate[bot]
b1706decf8 Update dependency html-validate to v7.13.3 2023-03-13 12:49:57 +01:00
renovate[bot]
2223db5379
Update Test & linting packages 2023-03-13 02:36:20 +00:00
renovate[bot]
d622631087
Update dependency webpack to v5.76.1 2023-03-13 00:08:13 +00:00
renovate[bot]
b93b38a8e8 Update @tryghost 2023-03-10 09:52:02 +01:00
renovate[bot]
97830ac79a
Update dependency terser to v5.16.6 2023-03-09 23:47:55 +00:00
renovate[bot]
8a6d87353f
Update dependency metascraper to v5.33.9 2023-03-09 15:22:00 +00:00
renovate[bot]
0b13d542f8
Update dependency webpack to v5.76.0 2023-03-09 00:27:33 +00:00
renovate[bot]
ec869cfa0d
Update dependency mysql2 to v3.2.0 2023-03-07 23:33:30 +00:00