Commit Graph

17075 Commits

Author SHA1 Message Date
Elena Baidakova
9380209670
Added announcementBar feature flag and announcement input demo (#16659)
refs TryGhost/Team#3008

---

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

This pull request adds a new experimental feature for displaying an
announcement bar at the top of the site. It introduces a new component
template and class for the announcement bar, a new feature flag and its
UI controls, and some CSS adjustments for the editor input and the
announcement bar.
2023-04-18 13:12:37 +04:00
Ronald Langeveld
b13677085d
Added html difference library (#16658)
no issue

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

This pull request adds a feature to show the HTML diff of the post
content changes in the post history modal. It uses the `node-htmldiff`
module to generate the diff and updates the `modal-post-history`
component and its template and style files.

---------

Co-authored-by: Fabien "egg" O'Carroll <fabien@allou.is>
2023-04-18 09:20:24 +01:00
Elena Baidakova
b3257cb7ea
Added minimal lexical editor input (#16657)
refs TryGhost/Team#3008

---

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

This change adds a new component `koenig-lexical-editor-input` that
renders a React component using the `@tryghost/koenig-lexical` package,
which provides a new editor for Ghost that supports rich text and
markdown editing. The component can be used to edit HTML content using
the Lexical editor, and syncs the HTML content with the `html` argument
and the `onChangeHtml` callback. The component also handles dynamic
import, loading, error, and dark mode scenarios.
2023-04-18 11:41:48 +04:00
Sanne de Vries
f8273b7f1f Removed ember component test
No ref
- This will be replaced by snapshot tests
2023-04-17 17:12:31 +01:00
Fabien "egg" O'Carroll
b41897a2b4 Fixed unit tests 2023-04-17 16:52:51 +01:00
Fabien "egg" O'Carroll
ff082c1934 Fixed revision creation for new posts
We had incorrectly ported the existing functionality and started adding 2
revisions for each new post. This fixes the logic to only add 1.
2023-04-17 16:49:17 +01:00
Sanne de Vries
c2f14ccd82 Added post history modal layout
No ref
2023-04-17 16:41:00 +01:00
Steve Larson
aec1455c56 fixed bookmark card requests
no refs
2023-04-17 16:31:42 +01:00
Steve Larson
8a563910d3 updated lexical packages
no refs
2023-04-17 16:24:36 +01:00
Fabien "egg" O'Carroll
a507072eb8 Updated PostRevisions to accept html string
- We also fix the name of the feature flag
- We also correctly await the result of revision generation
- We pass the HTML string so we can potentially do an easier word count diff
2023-04-17 16:16:08 +01:00
Chris Raible
79a95268b6
Added Post History modal to the editor behind postHistory flag (#16651)
no issue

- added modal-post-history component and wired it up to the
lexical-editor

### <samp>🤖 Generated by Copilot at b726dd5</samp>

> _`Post history` is the key to the past_
> _Unveil the changes in a modal so vast_
> _But beware of the doom that lurks in the edits_
> _The lexical-editor is a portal to the abyss_
2023-04-17 15:25:52 +01:00
Fabien "egg" O'Carroll
e151b55461 Fixed name of @tryghost/post-revisions 2023-04-17 14:59:13 +01:00
Fabien "egg" O'Carroll
454dc7a876 Added @tryghost/post-revisions to package.json
This is necessary for our build tool to pick up and bundle the package.
2023-04-17 14:56:12 +01:00
Fabien "egg" O'Carroll
7d7e19449a Used new PostRevisions service for revision generation
This is behind the postHistory flag so that we leave alone the very import
revision generation code. The new package attempts to replicate the existing
strategy but gives us room to easily change it in future
2023-04-17 14:47:27 +01:00
Fabien "egg" O'Carroll
a62fe42933 Implemented initial PostRevisions class
This aims to implement the current strategy of revision generation so that we
can switch to it and start tweaking it whilst the flag is enabled
2023-04-17 14:47:27 +01:00
Elena Baidakova
2236d2ef24
Wired lexical snippets to Ghost (#16647)
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 2ba5e2a</samp>

This pull request adds the lexical editor feature to the Ghost admin
app, which allows users to create and edit snippets in a natural
language format. It modifies the `snippet` model, adapter, and
controller, and the `lexical-editor` template and component to support
the new feature.
2023-04-17 17:39:04 +04:00
Sanne de Vries
deb613fcf9 Added trigger in editor for post history modal
No ref
2023-04-17 13:54:57 +01:00
Chris Raible
4c893e5a63
Added post_revisions to posts endpoint as an include option (#16648)
no issue

- with this change, you can access a post's lexical revisions via the
api (e.g. `/posts/:id/?include=post_revisions`)

> _We are the post revisions, we won't be erased_
> _We rise from the ashes of the mobiledoc waste_
> _We join the API response, we claim our rightful place_
> _We are the post revisions, we show the truth of your face_
2023-04-17 13:46:27 +01:00
Fabien "egg" O'Carroll
f3a572a9d1 Fixed unit test coverage
For some reason blank files would fail unit test coverage
2023-04-17 11:23:52 +01:00
Fabien "egg" O'Carroll
12d0c3bf64 Added post-revisions package
This package will be used to contain the logic for determining when a
revisions should be generated for a post. It will be used by the Post
model during saving and will not handle the storage of revisions
2023-04-17 11:14:57 +01:00
Michael Barrett
8dff121f73
Added postHistory feature flag (#16645)
no issue

Added flag to enable / disable post history from within the editor
2023-04-17 11:08:47 +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
Ghost CI
5d43101f40 v5.44.0 2023-04-14 16:00:41 +01:00
Elena Baidakova
3235f22da6
Updated Ghost to handle Lexical snippets (#16630)
refs TryGhost/Team#2904
2023-04-14 16:08:48 +04:00
Sanne de Vries
b76f93ea5a Fixed copy for changing page access modal
Refs https://github.com/TryGhost/Team/issues/2677
2023-04-14 11:32:09 +01:00
Simon Backx
d98f29c6aa Added cache invalidation to posts and pages bulk apis
refs https://github.com/TryGhost/Team/issues/2677
2023-04-14 12:25:24 +02:00
Simon Backx
854f616f70
Added bulk edit pages API and admin UI (#16633)
refs https://github.com/TryGhost/Team/issues/2677

- This extends the bulk editing UI to pages.
- New endpoints for editing pages in bulk
- Support for type in bulk edit UI
- Fixed empty messages for lists
- Minor bugfixes (e.g. save button when adding tags became red because
task didn't return true)

---

This pull request adds support for bulk editing and deleting of pages in
the admin UI and the API. It refactors the context menu component and
the list templates to handle different types of content (posts or pages)
dynamically. It also updates the selection list utility and the no posts
box component to work with the new feature. It modifies the `posts.js`
and `pages.js` API files and the corresponding input and output
serializers and routes.
2023-04-14 12:16:15 +02:00
Elena Baidakova
eaf6e3c7e5
Added lexical column to snippets table (#16632)
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 04a6b06</samp>

This pull request adds a new `lexical` column to the `snippets` table to
store lexical information for snippets. It includes a migration script,
a schema update, and a schema hash update.
2023-04-14 13:18:41 +04:00
Simon Backx
062a716fbc Added clear selection when right clicking non selected item
refs https://github.com/TryGhost/Team/issues/2677
2023-04-14 11:12:30 +02:00
Simon Backx
20d2722f04 Updated context menu to swap position if outside window
refs https://github.com/TryGhost/Team/issues/2677

When opening a context menu close to the border of the window, the menu went outside the window. This PR updates the position mirror horizontally or vertically if the menu would go outside the window.
2023-04-14 11:04:11 +02:00
Simon Backx
352d7ee5e2 Updated copy when adding a single tag to posts
refs https://github.com/TryGhost/Team/issues/2677
2023-04-14 10:41:49 +02:00
Simon Backx
a36e89dfcc Filter email only posts
no issue

Adds a new filter to filter on email only posts in the admin UI.
2023-04-14 10:38:16 +02:00
Simon Backx
cce324724a Updated shift post selection to use first shift position
refs https://github.com/TryGhost/Team/issues/2677

- When shift clicking on the first item, it no longer will select from top to that item. It will now just select that item.
- Updates event listeners to use mousedown to prevent text selection glitch
2023-04-14 10:19:40 +02:00
Simon Backx
d0cd82cc6f Fixed cancel button clearing post selection
fixes https://github.com/TryGhost/Team/issues/3004
2023-04-14 10:05:48 +02:00
Sanne de Vries
7a6670a993 Removed featured/unfeatured toast and updated copy
Refs https://github.com/TryGhost/Team/issues/2923
2023-04-14 08:56:58 +01:00
Simon Backx
70316c6b15 Removed tpl dependency from admin
refs https://github.com/TryGhost/Team/issues/2677

The dependency caused errors in Safari, probably due to incompatible JS features that need to be polyfilled. Removed it for now and replaced it with a simple method instead.
2023-04-14 09:54:35 +02:00
Simon Backx
f8d0b56c2c Fixed CMD+TAB not firing keyup in post multi selection
refs https://github.com/TryGhost/Team/issues/2677

When doing CMD+TAB, then CMD+TAB+shift, the CMD key got released but both the keyup and blur events weren't called (also focus not).

To fix this, on the next click we'll check the meta, shift and ctrl keys so we can restore the situation.
2023-04-14 09:46:00 +02:00
Daniel Lockyer
1403849efe
Fixed i18n tests in CI
- bit of a mess but we run `test:unit` in CI and this needed to run
  `yarn translate` so i18next-parser can fail if the translations need
  updating (ie. fail tests)
2023-04-14 08:39:51 +01:00
Daniel Lockyer
4a032e23b2
Fixed indentation on Slovenian translations
- we should be using 4 spaces over 2 spaces here
2023-04-14 08:27:57 +01:00
Daniel Lockyer
75553b6bef
Updated Sinhalese encoding
- some characters needed to be re-encoded
2023-04-14 08:16:03 +01:00
Daniel Lockyer
cebad9ae0c
Added support for new locales
- Danish and Chinese as per recent pull requests
2023-04-14 08:14:10 +01:00
martinverbic
d11801d0d4
Updated Slovenian locale (#16621)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-14 08:05:48 +01:00
Christian Schou
1285e4480b
Added Danish translation (#16627)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-14 08:02:02 +01:00
Kasun Chanuka Fernando
427337633b
Added Sinhalese locale (#16595)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-14 07:47:10 +01:00
Alexandre "Lekler" Rodrigues
fd705ccee2
Updated pt-br translations (#16622)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-14 07:44:19 +01:00
AreChen
ada0f34d81
Added Chinese locale (#16623)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-14 07:42:01 +01:00
Sanne de Vries
bf200561ff Updated post list bulk action modals
Refs https://github.com/TryGhost/Team/issues/2923
2023-04-13 17:05:07 +01:00
Simon Backx
c8d715167a Hid post access context menu action when members are disabled
refs https://github.com/TryGhost/Team/issues/2922
2023-04-13 17:54:01 +02:00
Simon Backx
c4dd980421 Fixed transaction usage in bulk tag adding
refs https://github.com/TryGhost/Team/issues/2922
2023-04-13 17:47:00 +02:00
Simon Backx
0cf41171b8 Added error message when trying to add zero tags in bulk action
refs https://github.com/TryGhost/Team/issues/2922
2023-04-13 17:44:26 +02:00
Simon Backx
788aa34c8b Added support for creating new tags when bulk editing posts
refs https://github.com/TryGhost/Team/issues/2922
2023-04-13 17:05:42 +02:00
Simon Backx
76fae2a724 Fixed unpublishing sent posts was allowed
refs https://github.com/TryGhost/Team/issues/2677
2023-04-13 16:20:58 +02:00
Fabien 'egg' O'Carroll
82393fa99d
Added bulk tag addition to post context menu
refs https://github.com/TryGhost/Team/issues/2922

Add multiple tags to multiple posts at once.

---------

Co-authored-by: Simon Backx <simon@ghost.org>
2023-04-13 16:17:36 +02:00
Sanne de Vries
07785c8ed9 Updated featured status in post list
Refs https://github.com/TryGhost/Team/issues/2923
2023-04-13 14:59:59 +01:00
Simon Backx
0796dba3c1 Fixed linting issues context menu
no issue
2023-04-13 15:09:17 +02:00
Simon Backx
223e4af63c Fixed default context menu state
no issue

Still used removed variable.
2023-04-13 15:06:49 +02:00
Fabien 'egg' O'Carroll
27976381f8
Updated GhContextMenu to handle freezing the SelectionList (#16624)
refs https://github.com/TryGhost/Team/issues/2677

Fixed a bug that the current selection is deselected when clicking inside a modal when performing a context menu action.

Refactored the context menu component and its usage in the posts list to
improve the user experience and code quality. Introduced a `state`
property and a `setState` method to the `gh-context-menu` component to
handle different scenarios. Used the `gh-context-menu` component in the
`posts-list/context-menu` component to simplify the modal and loading
logic. Added a `#frozen` property and methods to the `selection-list`
utility to prevent the selection of posts from changing while the
context menu is active.

---------

Co-authored-by: Simon Backx <simon@ghost.org>
2023-04-13 15:04:06 +02:00
Simon Backx
ad65f6e242 Added toasts to bulk post actions
fixes https://github.com/TryGhost/Team/issues/2996

Toast messages added + the tpl dependency has been added to admin.
2023-04-13 14:49:52 +02:00
Simon Backx
2f2171c18b Released Portal v2.29.3 2023-04-13 13:42:09 +02:00
Sanne de Vries
d37f958f41 Updated signup terms positioning on Portal offer page
Refs https://github.com/TryGhost/Ghost/issues/16625
2023-04-13 11:06:55 +01:00
Kevin Ansfield
d7af4be7e5
Fixed invalid websocket address on https sites
no issue

- there was an errant space after the `wss:` protocol used when building the websockets URL for multiplayer that caused errors when trying to connect
2023-04-13 10:16:30 +01:00
Sag
1d19021606
Bumped Lexical packages (#16626)
no issue
2023-04-13 10:47:22 +02:00
Simon Backx
75a25d1f70 Added signup terms to offer page
refs https://github.com/TryGhost/Ghost/issues/16625

The signup terms were not visible when signing up via an offer. This adds the checkbox and validation to the offer page.
2023-04-13 10:32:34 +02:00
Simon Backx
e3105bdde4 Improved shift selection when deselecting items
refs https://github.com/TryGhost/Team/issues/2677

When deselecting all items, and then using shift, it still tries to shift between the previous selection. This fixes that issue.
2023-04-13 10:22:09 +02:00
Daniel Lockyer
c6220aad67
Released Portal v2.29.2 2023-04-12 21:21:30 +01:00
Sanne de Vries
7dee5d215d Fixed signup terms displaying behind button in Portal free signup
Refs https://github.com/TryGhost/Team/issues/2878
2023-04-12 21:13:34 +01: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
Sanne de Vries
fadf90c61e Updated post list context menu
Refs https://github.com/TryGhost/Team/issues/2923
2023-04-12 17:18:01 +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
Simon Backx
25d53f15b8 Improved default post access for bulk modal
refs https://github.com/TryGhost/Team/issues/2677

- Use post access level by default when doing single selection
- Use default access level from settings when selecting multiple posts
2023-04-12 16:38:53 +02:00
Simon Backx
8bdd23e1cc Improved bulk delete and unpublish modals copy
refs https://github.com/TryGhost/Team/issues/2677
2023-04-12 15:53:17 +02:00
Simon Backx
2df049b079 Improved feature/unfeature choice in post context menu
refs https://github.com/TryGhost/Team/issues/2677
2023-04-12 15:37:53 +02:00
Simon Backx
9eb886d26d Added unpublish bulk action to posts
fixes https://github.com/TryGhost/Team/issues/2994
2023-04-12 15:28:09 +02:00
Simon Backx
d4e9c23f84 Fixed select not happening inside transaction for bulk post actions
no issue

This potentially caused Knex timeout connection pool errors.
2023-04-12 12:48:17 +02:00
Ghost CI
eafbb2856c v5.43.0 2023-04-12 11:38:08 +01:00
Ghost CI
63c5a47c02 🎨 Updated Casper to v5.4.9 2023-04-12 11:38:08 +01:00
Simon Backx
0f2cf8e4c5 Released Portal v2.29.1 2023-04-12 12:11:42 +02:00
Simon Backx
fc05604d27 Added signup terms to Portal
fixes https://github.com/TryGhost/Team/issues/2680

Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-04-12 12:08:59 +02:00
Simon Backx
ab1ca90779
Implemented bulk editing post access (#16617)
fixes https://github.com/TryGhost/Team/issues/2924

This change adds a new bulk edit action for posts to update their
visibility. It also implements a modal to change the post access level
for multiple posts at once using this new API.

It also fixes a pattern that was used when modifying the Ember models in
memory. They previously were marked as dirty, this is fixed now. So when
going to the editor after modifying posts, you won't get a confirmation
dialog any longer.
2023-04-12 11:58:46 +02:00
Simon Backx
a097f0e973 Fixed deleting email recipient failures before recipients
fixes https://github.com/TryGhost/Team/issues/2993

For the bulk destroy action of posts.
2023-04-12 11:55:18 +02:00
Simon Backx
ae863674ba
Added error message to Portal SignupPage below buttons (#16609)
fixes https://github.com/TryGhost/Team/issues/2980

This change adds an error message below the submit buttons on the signup page (if there are multiple tiers), when one or multiple fields have an error. That way, the error message is visible and not out of view.

---------

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-04-12 11:12:14 +02:00
Sanne de Vries
2325a359bb Fixed failing test due to CSS change
No ref
2023-04-12 08:45:56 +01:00
Sanne de Vries
bbcc7de31c Updated copy for portal signup notice
Refs https://github.com/TryGhost/Team/issues/2897
2023-04-12 08:28:02 +01:00
Ghost CI
8571011e7d Merged v5.42.3 into main 2023-04-12 04:38:27 +01:00
Ghost CI
e185ed8b68 v5.42.3 2023-04-12 04:38:23 +01:00
Chris Raible
0b0e3f8e85
Added error handling for email analytics unsubscribe event (#16613)
refs TryGhost/Team#2974

- currently the unsubscribeFromNewsletters event is failing with 'member
not found' in elastic
- this change catches the error and logs it, which should allow the rest
of the event(s) to be processed
2023-04-11 13:13:34 -07:00
Simon Backx
24b4a50b24 Bumped Portal to v2.29
no issue

Start using the latest released version.
2023-04-11 17:54:09 +02:00
Simon Backx
b820853b52 Released Portal v2.29.0 2023-04-11 17:53:12 +02:00
Simon Backx
c3c2427992 Fixed gh-count-down-html-characters helper to support null values
no issue

The default null value for the sigup terms caused an error. This fixes that issue.
2023-04-11 17:49:37 +02:00
Paul Davis
b149ed79ae Change self-service domain 2023-04-11 16:16:48 +01:00
Simon Backx
66b353ed97
Added bulk destroy posts api (#16587)
fixes https://github.com/TryGhost/Team/issues/2921

Adds the bulk destroy API for posts, and implemented it in the admin UI.
2023-04-11 16:37:42 +02:00
Simon Backx
1ce4e4c522 Updated post context menu to take permissions into account
fixes https://github.com/TryGhost/Team/issues/2938

- Multi selection is disabled for contributors and authors (no actions available)
- Delete action is only available for admins and owners
2023-04-11 16:33:39 +02:00
Elena Baidakova
100b4880ee Bump Koenig packages
no issue
2023-04-11 18:08:30 +04:00
Simon Backx
e938c2d5cc Fixed clearing posts selection when navigating
fixes https://github.com/TryGhost/Team/issues/2983

When navigating, the posts selection will get cleared. This also fixes a bug with CMD+a that had an old event listener that was not cleared correctly, breakign CMD+A after navigation.
2023-04-11 15:53:01 +02:00
Simon Backx
114a6eb953 Fixed CMD+F and multiple post selection
fixes https://github.com/TryGhost/Team/issues/2939

When using CMD+F, the multiple selection list still thinks CMD is pressed because the keyup event is not fired. This is fixed by clearing the pressed keys when the window is blurred.
2023-04-11 15:37:12 +02: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
Sanne de Vries
79947d2f45 Updated signup terms input field in Portal settings
Refs https://github.com/TryGhost/Team/issues/2897
2023-04-11 10:38:45 +02:00
Fabien 'egg' O'Carroll
d4fe7217d6
Removed feature action from context menu for email-only posts (#16606)
These posts make no sense to be featured, so we are removing the option
from the context menu when there is only a single email-only post under
selection.

We still allow featuring these posts in the PSM and when they are
part of a larger selection, but fixing all places for this is out of
scope atm.
2023-04-11 13:25:49 +07:00
Chris Raible
7a800ec06e
Fixed flaky test: posts API export can export with order (#16605)
closes Tryghost/Team#2975

- The test was failing because the order of the posts was not guaranteed
- The posts receive a published_at timestamp = new Date() when they are
created, unless a published_at date is passed in
- ~1/3 times the tests would run, the ordering would change and this
test would fail
- This commit fixes the test by passing in a published_at date to ensure
the order is always the same
2023-04-10 18:40:03 -07:00
Thibault Malfoy
b9014a47f8
Updated French translations to reflect feedback (#16593)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-10 16:47:32 +02:00
Daniel Lockyer
a97335f7f4
Removed translations for "Powered by Ghost"
refs https://github.com/TryGhost/Team/issues/2795
refs https://ghost.slack.com/archives/CFH10N79S/p1681131575137019?thread_ts=1680206445.643819&cid=CFH10N79S

- we want to keep this in English so this commit removes the
  translation wrapper and associated translations
2023-04-10 15:13:49 +02:00
Daniel Lockyer
7435b18c85
Added support for new locales
refs https://github.com/TryGhost/Team/issues/2795

- PRs for these locales were merged this morning so we need this to
  enable the languages
2023-04-10 14:05:33 +02:00
Daniel Lockyer
3a0768cfda
Reformatted locale files
- perhaps we need better config to enforce this from the get-go
2023-04-10 14:04:51 +02:00
Sanne de Vries
9b1dd2a4ab Updated featured-post indicator and post selection styles
Refs https://github.com/TryGhost/Team/issues/2923
2023-04-10 13:53:04 +02:00
martinverbic
d866993ce2
Added Slovenian locale (#16594)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-10 13:52:43 +02:00
Ugurcan Yildirim
e446e31a9e
Added Turkish locale (#16596)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-10 13:52:10 +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
Jordan Ostreff
f5f58994f7
Added Bulgarian translations (#16590)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-10 10:24:35 +02:00
Chris Raible
71aca468b3
Fixed flaky test: Can generate a mentions report (#16592)
refs TryGhost/Team#2844

- assertion was comparing a constant `now` with a `new Date()` that was
made on the next line — by passing now in as the end date to
`getMentionReport`, the end date should always equal the constant
- intent of the test is just to make sure a mentions report can
generate, so we can just use the variable now instead of creating new
Date() objects
2023-04-07 19:03:22 -07:00
Chris Raible
04e6b9763c
Added retries to a flaky batch sending test (#16591)
refs TryGhost/Team#2949
2023-04-07 17:44:11 -07:00
Simon Backx
bec71d7840 Added maximum signup terms count in HTML
refs https://github.com/TryGhost/Team/issues/2680

- Includes a new helper that is able to count HTML characters
- Prevent saving portal settings when maximum length is exceeded
2023-04-07 17:15:15 +02:00
Ghost CI
1c46e3d456 v5.42.2 2023-04-07 16:00:37 +01:00
Naz
cdc8cb2d16 Added email snapshot test to member suite
refs https://github.com/TryGhost/Team/issues/2691
refs 53fd78cc86

- One more example using emailMockReceiver instead of outdated mockManager's assertions.
2023-04-07 16:12:51 +02:00
Naz
f77aa03e91
Added missing snapshots for version tests
refs 7552873072

- These snapshot were missing with original refed commit.
2023-04-07 15:31:18 +02:00
Naz
53fd78cc86
Added email snapshot tests to newsletter suites
https://github.com/TryGhost/Team/issues/2691

- This change is meant to serve as an example for testing outbound emails. It uses emailMockReceiver and it's html/test/metadata snapshotting features.
- The wider goal is to move away from using "mockManager.assert.sentEmail" that only tested some of the outgoing email contents to more wide range testing through "emailMockReceiver"
- For more on best practices using emailMockReceiver check out codex section on "email testing" - https://ghost.notion.site/End-to-end-Testing-6a2ef073b1754b18aff42e24a632a007#cf33c7f0-fba6-4951-bf50-09080374719c
2023-04-07 14:34:57 +02:00
Naz
f264c1d1f8
Removed unnecessary mockMail call
no issue

- This test has nothing to do with outgoing emails, so no need to mock mail
2023-04-07 14:34:57 +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
Simon Backx
cf4e6f80c5 Released Portal v2.28.1 2023-04-07 13:44:25 +02:00
renovate[bot]
9e888aeb15 Update dependency @babel/eslint-parser to v7.21.3 2023-04-07 13:43:07 +02:00
Adam Hunter
ef264e2263
Fixed typo in variable name for GeolocationService (#16574) 2023-04-07 13:23:15 +02:00
Sanne de Vries
c48ca09ff2 Moved signup terms above plan selection for non-free plans in Portal
Refs https://github.com/TryGhost/Team/issues/2878
- The free-only version of Portal will show the signup terms just above the signup button, whereas the non-free Portal version will show the signup terms above the plan selection
- The signup terms settings have been moved to the "Signup options" section
2023-04-07 11:53:59 +02:00
Simon Backx
f4d75388fd
Added post bulk edit api (#16576)
fixes https://github.com/TryGhost/Team/issues/2919

This pull request implements a new feature that allows bulk editing of
posts by a filter. It adds a new `bulkEdit` endpoint to the posts API
and new `PostsService` methods to handle the bulk actions.

The posts list component is duplicated, so we can keep working in a
copied version without affecting the old version without a flag. It
temporarily adds a star icon to indicate featured posts in the posts
list.
2023-04-07 11:48:14 +02:00
Simon Backx
ed1ae60bec
Fixed pasting links in koenig basic html input (#16584)
refs https://github.com/TryGhost/Team/issues/2680

When selecting a portion of text in KoenigBasicHtmlInput (caption input
for images, newsletter footer text input, new signup notice), and then
pasting a link, some funky things happen:
- Part of the text disappears
- The wrong part of the text is linked

The cause of this is that `KoenigBasicHtmlInput` deletes the selected
text range when pasting, even when pasting a link. so moving that part
below the code that detected a valid link, fixes the issue.

This also adds an option to not close an old style modal when pressing
the enter key (e.g. pressing enter when entering a link causes the modal
to close).
2023-04-07 11:19:37 +02:00
Thibault Malfoy
726246b80e
Fixed a few typos in the French translation (#16546)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-07 11:16:30 +02:00
Chris Raible
d49241dd29
Fixing error in browser test (#16583) 2023-04-07 01:11:37 -07:00
Ghost CI
7b6805580c Merged v5.42.1 into main 2023-04-07 08:51:06 +01:00
Ghost CI
89cf224a2a v5.42.1 2023-04-07 08:51:02 +01:00
Daniel Lockyer
378dd913aa
🔒 Fixed path traversal issue in theme files
refs https://github.com/TryGhost/Team/issues/2843

- Using encoded path traversal characters in URL's path allowed to fetch
  any file within active theme's folder, which is disallowed
- credits to: fuomag9 https://kiwi.fuo.fi/@fuomag9
2023-04-07 09:45:59 +02:00
Fabien "egg" O'Carroll
c99016fd2f Limited post export size to 1000 posts
refs https://github.com/TryGhost/Team/issues/2936

We want to make sure that downloads complete in a reasonable number of
time, and the simplest way to do that is to cap the size of the file.
2023-04-07 14:44:28 +07:00
Fabien "egg" O'Carroll
a890f0b707 Updated the posts export button to be a GhTaskButton
refs https://github.com/TryGhost/Team/issues/2935

This allows us to track the state with a loading spinner and a
success/error message on completion. This is expecially important for
larger sites where the download can take a long time, and users are
unsure if something is happening.
2023-04-07 14:44:28 +07:00
Fabien "egg" O'Carroll
3dac3cb4e2 Added fetchAndDownloadFile method to utils service
The existing approach didn't expose when the download was complete.

By fetching the file upfront and downloading from a blob we can better
estimate when the download is complete because we load the file in
memory, and then download from there.

The promise resolves after the file is in memory, so the delay between
the promise resolving and the file actually being downloaded is a lot
shorter, and based on the size of the file.
2023-04-07 14:44:28 +07:00
Chris Raible
563793c7ed
Added retries for all known flaky tests (#16582)
refs TryGhost/Team#2833

- for mocha tests, we can add `this.retries(1)` to any flaky tests
- for playwright tests, we can add `test.describe.configure({ retries:
1})` to any `describe` block
- not a long-term solution, but it should help mitigate issues with flaky
tests in short term
2023-04-07 00:37:01 -07:00
Fabien "egg" O'Carroll
4225377436 Fixed links in Portal signup terms
Because we load Portal in an iFrame the anchor tags do nto work
correctly. We've intercepted all clicks on them and manually opened
the URL in a new window instead.
2023-04-07 14:26:35 +07:00
Ronald Langeveld
413693800c Improved Afrikaans locales
no issue

- Made improvements to the translation strings.
- Turns out I need to read & write in my mothertongue more often. :)
- Thanks for helping with the contribution Dad, @ Emil Langeveld.
2023-04-07 14:19:55 +08:00
Chris Raible
af1ff7902e
Fixed member import with created_at in the future (#16580)
closes TryGhost/Team#2793

- if a member is imported with a created_at in the future, the member
will not appear in the members list in admin
- this commit updates created_at to the current date if it is in the
future upon import
2023-04-06 23:01:23 -07:00
naz
7552873072
Added email content snapshots to API versioning tests (#16577)
refs https://github.com/TryGhost/Team/issues/2691
refs
939f25a987

- Resurrected refed commit that was adding tests for versioning API,
this time it's using dynamic replacements to match dynamic content of
the email using matchHTMLSnapshot / matchPlaintextSnapshot with dynamic
content replacements.
2023-04-06 22:42:11 +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
Daniel Lockyer
f61ea1f1a2
Bumped Portal to 2.28
- this bumps the version to 2.28 in Ghost so we can use the latest and
  greatest
2023-04-06 20:20:27 +02:00
Daniel Lockyer
434f25502e
Fixed Portal yarn ship command
- not sure why there was `yarn publish` here because it asks you to
  choose the package version again
2023-04-06 20:18:53 +02:00
Daniel Lockyer
aa404ecad5
Released Portal v2.28.0 2023-04-06 20:16:06 +02:00
Daniel Lockyer
f3000e40b8
Added missing translation
refs https://github.com/TryGhost/Team/issues/2795

- not sure where this disappeared to
2023-04-06 19:51:31 +02:00
Daniel Lockyer
722d22db1c
Fixed broken word in Dutch translations
refs https://github.com/TryGhost/Team/issues/2795

- `spam folder` should be two separate words in English but this was
  mistakenly changed
2023-04-06 19:51:21 +02:00
Daniel Lockyer
3f783fc892
Fixed newline issue
- somehow this snook in
2023-04-06 19:46:27 +02:00
Daniel Lockyer
a9ad931c9f
Updated list of supported locales
refs https://github.com/TryGhost/Team/issues/2795

- stemming from recent PR merges
2023-04-06 19:43:10 +02:00
Cuong Tran
e52dc1afb1
Added Vietnamese translations (#16548)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-06 19:37:15 +02:00
David Stanley
e25cfd98a9
Added Brazilian Portuguese translations (#16557)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-06 19:35:55 +02:00
Markus Härnvi
39c0867cbc
Added Swedish translations (#16551)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-06 19:34:28 +02:00
Jesús
79cacabb4e
Added Catalan locale (#16571)
refs https://github.com/TryGhost/Team/issues/2795
2023-04-06 19:33:43 +02:00
yannickdoteu
98797b4d1a
Added Esperanto locale (#16541)
refs https://github.com/TryGhost/Team/issues/2795

Co-authored-by: yannickdoteu <see@gitlab.com>
2023-04-06 19:32:31 +02:00
marcoborghesi
b7f8a3e861 Added Italian locale for Portal 2023-04-06 19:30:17 +02:00
Sanne de Vries
6ed9a96bdb Fixed Portal checkbox error hover state
Refs https://github.com/TryGhost/Team/issues/2878
2023-04-06 19:04:02 +02:00
Sanne de Vries
024d43478a Fixed text not displaying when checkbox is disabled
Refs https://github.com/TryGhost/Team/issues/2878
2023-04-06 18:56:32 +02:00
Sanne de Vries
5dc0e92dc2 Replaced default checkbox with custom checkbox in Portal
Refs https://github.com/TryGhost/Team/issues/2878
- The default checkbox component is limited in terms of styling. This commit replaces the default checkbox with a custom checkbox component in Portal, which turns red when a signup attempt is made without checking the box.
2023-04-06 18:37:42 +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
Sanne de Vries
9eb4aedf3a Styled signup notice in Portal
Refs https://github.com/TryGhost/Team/issues/2878
2023-04-06 14:05:19 +02:00
Fabien "egg" O'Carroll
c2a6bbfefa Implemented signup terms and checkbox
refs https://github.com/TryGhost/Team/issues/2878

We've updated the signup page to display the signup terms and checkbox when
they've been set, as well as denying the signup from occuring if the checkbox
is required and not checked.

We've had to add a random value for the `key` property of the checkbox because
otherwise it isn't rendered correctly, unsure why that is at the moment.
Without the random key, the checkbox is never visually checked, even though the
internal state of both the component and the virtual DOM do say it should be
checked, it seems some kind of equality checker is broken.
2023-04-06 17:23:54 +07:00
Fabien "egg" O'Carroll
ab8304fa5c Refactored signup handling
We had two implementations for the same signup logic, which meant that we would
have to update two places when modifying the logic. This consolidates the logic
into a single method so that when we add the terms and checkbox feature we can
make the checks in a single place.
2023-04-06 17:23:54 +07:00
Sanne de Vries
bdaa992ced Updated signup notice setting in Portal settings
Refs https://github.com/TryGhost/Team/issues/2897
2023-04-06 10:57:13 +02:00
Simon Backx
ba8f082d41
Added awaiting jobs and events by default to all tests (#16505)
no issue

This change waits for domain events and jobs before continuing with the
next test. This prevents issues where background tasks in tests are
executed when the next test is running and the configurations have
changed, causing random error logs and test failures.

It also includes a change in Stripe mocking in one E2E test to make use
of the new StripeMocker instead of custom mocking in each test (also to
reduce error logs).
2023-04-06 09:05:16 +02:00
Chris Raible
16c625a630
Added retries to flaky email test (#16556)
refs TryGhost/Team#2891

- test was flaking frequently enough that we had to remove it — not a perfect fix but figure it's better to enable retries than to completely remove the test
- ran CI 5 times (x 4 environments) and it passed 5 times in a row
2023-04-05 22:01:59 -07: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
Simon Backx
8c046740f0 Added support for selecting posts
refs https://github.com/TryGhost/Team/issues/2906

Adds a way to select posts using CMD, shift and CMD+A. And adds a placeholder context menu.

Behind the making it rain feature flag.
2023-04-05 18:00:08 +02:00
Ghost CI
aa5272ffb9 v5.42.0 2023-04-05 16:49:46 +01:00
Sanne de Vries
47750f3d23 Fixed email styles leaking from labs flag
Refs https://github.com/TryGhost/Team/issues/2845
2023-04-05 16:27:53 +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
Simon Backx
ec40484983
Reverted " Added email design customization" (#16570) 2023-04-05 15:28:20 +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
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
Simon Backx
ca00a3d682 Fixed duplicate images in Outlook for dark/light mode
refs https://github.com/TryGhost/Team/issues/2671

The inline style display: none; isn't applied to the images in Outlook for some reason. This change manually removes the images in the backend.
2023-04-05 12:58:11 +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
Simon Backx
4639514a3b Added email design customization
fixes https://github.com/TryGhost/Team/issues/2671

Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-04-05 11:13:48 +02:00
renovate[bot]
c975e9af00 Update sentry-javascript monorepo to v7.46.0 2023-04-05 10:32:46 +02:00
Simon Backx
0b26f09e88 Fixed exporting email only posts
refs https://github.com/TryGhost/Team/issues/2678

Default post filter was used because we didn't pass a filter.
2023-04-05 10:14:11 +02:00
Simon Backx
108ccd7fb6 Updated newsletter background preset color to lightgrey
no issue
2023-04-05 10:00:47 +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
Rishabh Garg
bb21dc47f0
Updated member snapshot for comments tests
refs TryGhost/Team#2888
2023-04-05 00:25:31 +05:30
Rishabh
76ed31464b Fixed snapshots for frontend frontend member data APIs
refs https://github.com/TryGhost/Team/issues/2888
2023-04-05 00:01:55 +05:30
Rishabh
d29d541326 Updated firstpromoter integration in portal
refs https://github.com/TryGhost/Team/issues/2888

Bumps portal to include changes for referral tracking in FirstPromoter integration for old members.
2023-04-04 23:58:29 +05:30
Rishabh
6f956fc80f Released Portal v2.27.0 2023-04-04 23:54:17 +05:30
Rishabh
ace4d17b3e Updated unit tests for frontend member data 2023-04-04 23:51:45 +05:30
Rishabh
56eb7a822f Fixed FirstPromoter integration to ignore old referrals
closes https://github.com/TryGhost/Team/issues/2888

Due to lack of member's created at date, we previously called the FirstPromoter tracking function for all logged-in members irrespective of when they signed up. This caused issues in few cases where members who were already signed up were getting falsely attributed as referrals if they had clicked on a referral link previously.

This change uses the member's created at date which is now available on frontend for logged-in members, and ignored the FirstPromoter tracking script if member had signed up more than 24 hours ago.
2023-04-04 23:46:12 +05:30
Chris Raible
e95c531e8b
🐛 Fixed member signup emails being sent with escaped subject line (#16544)
closes TryGhost/Team#2895

- this was caused by the subject line being passed through the i18n
translator, which was escaping the content
- passing in `interpolation: {escapeValue: false}` when retrieving the
value prevents the content from being escaped
- modified a test to ensure the subject line is not escaped
2023-04-04 10:12:28 -07:00
Simon Backx
d0042b550a
Fixed redirecting back to account home after sign in in Portal (#16487)
refs https://github.com/TryGhost/Team/issues/2674

When going to /#/portal/account when not signed in, you are redirected
to the login page. But once signed in, you aren't redirected back to the
account page. This fixes this issue by adding an extra and optional
redirect parameter when requesting a magic token via email.

This new parameter allows to override the default behaviour of using the
Referer HTTP header, which doesn't include the hash/fragment part of the
URL.

The referrer is already restricted to only allow redirects to the site,
not external URLs.
2023-04-04 18:07:37 +02:00
Simon Backx
3885cab977 Reduced color picker delay 2023-04-04 18:05:16 +02:00
Fabien "egg" O'Carroll
41e8c20d88 Deleted flakey test
refs https://github.com/TryGhost/Team/issues/2891

This test is failing more and more frequently and is being removed with the
intention of reinstating it once it has been fixed
2023-04-04 20:16:44 +07:00
Sanne de Vries
cb8032911c Fixed spacing issue in email preview
No ref
2023-04-04 13:44:34 +02:00
Sanne de Vries
ae2622af6c Updated email preview in Newsletter settings
Closes https://github.com/TryGhost/Team/issues/2830
2023-04-04 13:40:06 +02:00
Aileen Nowak
45b5c50c45 Fixed typo in german translation for portal
no issue
2023-04-04 11:05:50 +01:00
Simon Backx
7bc79ddb4e Added basic UI to update portal signup term settings
refs https://github.com/TryGhost/Team/issues/2897

Hidden behind a feature flag. UI probably needs to be improved, but this is a good start.
2023-04-04 10:10:06 +02:00
Simon Backx
e13f052af8
Added Portal signup terms settings and migration (#16545)
fixes https://github.com/TryGhost/Team/issues/2885 
fixes https://github.com/TryGhost/Team/issues/2896 
fixes https://github.com/TryGhost/Team/issues/2877

This change adds the new portal_signup_terms_html setting and
portal_signup_checkbox_required setting and the corresponding migration.
2023-04-04 10:04:12 +02:00
Chris Raible
6b8f5fe7aa
🐛 Fixed UI bug when selecting specific recipients by label (#16543)
closes TryGhost/Team#2859

- when removing all selected labels/newsletters, the UI would uncheck
the Specific People checkbox and hide the label/newsletter selection
- this change forces the Specific People checkbox to be checked even if
no labels/newsletters are selected
- test enhanced to cover this specific edge case
2023-04-03 14:45:58 -07: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
Simon Backx
a811d1173f Updated post export analytics copy
no issue
2023-04-03 15:50:26 +02:00
Simon Backx
d06e3dca60 Added id column to post analytics export
refs https://github.com/TryGhost/Team/issues/2678

Also fixes snapshots
2023-04-03 14:50:43 +02:00
Simon Backx
136bf80168 Added post analytics export
fixes https://github.com/TryGhost/Team/issues/2678

- Includes a new filename for the export (post-analytics instead of posts)

Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-04-03 14:39:11 +02:00
Simon Backx
aee909b054 Improved newsletter color picker in admin
refs https://github.com/TryGhost/Team/issues/2830

- Colors stay in the same order
- Auto color changes faster because direct usage of preset colors and no longer uses ordered colors
2023-04-03 14:18:50 +02:00
Simon Backx
bef310cb2a Readded failing test
no issue

Test was failing and removed temporarily.
2023-04-03 11:35:40 +02:00
Sag
3393d3910c
Upgraded Koenig packages
no issue
2023-04-03 11:33:43 +02:00
Simon Backx
33237c4df7 Added newsletter auto border color and dynamic color picker
fixes https://github.com/TryGhost/Team/issues/2879
fixes https://github.com/TryGhost/Team/issues/2880

- Replaced black border color with 'auto' based on background color.
- When a color is 'auto', the color that are visible in the UI (color pciker) will be dynamic based on the background color.
2023-04-03 11:27:57 +02:00
Sanne de Vries
d11fca906c Updated Dutch translations
No ref
2023-04-03 10:20:12 +02:00
Sanne de Vries
b8a8b7fd19 Updated newsletter footer section headings to use titleColor
Refs https://github.com/TryGhost/Team/issues/2830
2023-04-03 10:17:51 +02:00
Sagar Gupta
0c8f75686b Fixed Public Preview Card in Lexical 2023-04-03 10:04:37 +02:00
Fabien 'egg' O'Carroll
a978f9f6b9
Moved posts export to analytics settings page (#16539)
refs https://github.com/TryGhost/Team/issues/2869
2023-04-03 13:35:56 +07:00
pavel
301a21106c
🎨 Improved scrollbar appearance in dark mode (#16535)
fixes #16444
2023-04-02 11:00:38 -04:00
John O'Nolan
5b1bf3ae0d
Added support for Polish and Spanish translations 2023-04-02 10:47:40 -04:00
Rodrigo Ponce de León
d98cb4803c
Added Spanish locale for Portal (#16536) 2023-04-02 10:46:44 -04:00
Anarion
ef820eaaed
Added Polish locale for Portal (#16533) 2023-04-02 10:46:24 -04:00
John O'Nolan
1ce416ad00
Added support for Czech translations 2023-04-02 10:42:22 -04:00
Tomáš Baránek
3792b1a175
Added Czech translations (#16534) 2023-04-02 10:40:47 -04:00
Sanne de Vries
f568d29119 Updated Dutch translations
No ref
2023-04-01 16:01:56 +02:00
Ghost CI
8140a7b227 v5.41.0 2023-03-31 17:00:56 +01:00
Ghost CI
77347a0adc 🎨 Updated Casper to v5.4.8 2023-03-31 17:00:56 +01:00
Daniel Lockyer
040c015796
Bumped Portal to v2.26.0
- contains i18n translations
2023-03-30 18:34:16 +02:00
Daniel Lockyer
456675dab7
Released Portal v2.26.0 2023-03-30 18:25:26 +02:00
Daniel Lockyer
d58ff309d0
Removed test.json translations
- these weren't really doing much and would become a nuisance to
  newcomers
2023-03-30 18:20:39 +02:00
Daniel Lockyer
849027e255
Fixed strange whitespace character 2023-03-30 18:19:31 +02:00
Sanne de Vries
f21917697d Reverted UI changes to post metrics export button in post list
Refs https://github.com/TryGhost/Team/issues/2780
- This functionality is being moved to Settings > Analytics
2023-03-30 18:16:07 +02:00
Daniel Lockyer
a1815cd6d6 Updated copy for locale input 2023-03-30 18:15:57 +02:00
Daniel Lockyer
5cd67f83ea Added i18n labs flag
- this adds the labs flag and scaffolding to wire it into Ghost + Portal
2023-03-30 18:15:57 +02:00
Sam Lord
1d7572fed5 Data generator: Fixed the URL formatting for newsletter clicks
no issue
2023-03-30 16:49:19 +01:00
Sanne de Vries
e5fc4bd6ba Updated email width in admin preview
Refs https://github.com/TryGhost/Team/issues/2846
2023-03-30 17:38:01 +02:00
Sanne de Vries
8eefaee591 Implemented newsletter customisation in admin preview
Refs https://github.com/TryGhost/Team/issues/2846
2023-03-30 17:34:01 +02:00
Paul Davis
86027fdb6f
Add Migrate app (#16458)
Adds the UI for self-serve migrations
2023-03-30 15:40:06 +01:00
John O'Nolan
9c2075d138
Need extra context for translating strings? Open this file! 2023-03-30 10:28:25 -04:00
Simon Backx
8a44e49c05
Added Dutch locale to Portal (#16459)
refs https://github.com/TryGhost/Team/issues/2795

Dutch translations for portal.json.
2023-03-30 10:02:25 -04:00
Ronald Langeveld
cbe97ad792
Added Afrikaans locale to Portal (#16464)
refs https://github.com/TryGhost/Team/issues/2795

WIP - getting some additional eyes on it 👨🏼‍🏫.

---------

Co-authored-by: John O'Nolan <john@ghost.org>
2023-03-30 10:01:29 -04:00
Sodbileg Gansukh
83795edcad
Added Mongolian locale to Portal (#16465)
no issues

Co-authored-by: John O'Nolan <john@ghost.org>
2023-03-30 09:59:18 -04:00
Aileen Booker
3f23fefaf5
Added German locale for Portal (#16469)
refs https://github.com/TryGhost/Team/issues/2795

- Used informal form ('du')

Happy for feedback!!!
2023-03-30 09:58:01 -04:00
Peter Zimon
79bb55a737
Added Hungarian locale for Portal (#16488)
Hungarian translation for email contents and Portal.
2023-03-30 09:57:09 -04: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
Sanne de Vries
4ffb8509b9 Moved inline koenig styles to styles-old.hbs
Refs https://github.com/TryGhost/Team/issues/2845
- In order to have more control over koenig card styling, we're moving some of the inline styles from the koenig repo over to the dedicated email style files.
2023-03-30 12:14:44 +02:00
Sanne de Vries
429840606d Added post analytics export UI to Settings > Analytics
Refs https://github.com/TryGhost/Team/issues/2780
2023-03-30 08:35:03 +02:00
Fabien 'egg' O'Carroll
c9752c773a
Added newsletter customisation data to the preview template (#16527)
refs https://github.com/TryGhost/Team/issues/2846

In order to render the preview correctly and use the new design settings
we need to expose them to the template. Unfortuantely we've had to
duplicate all of the code from the backend here, long term we should try
and pull the newsletter email rendering into a component that can be
shared between the server & client.
2023-03-30 13:18:39 +07:00
Fabien "egg" O'Carroll
f4c14410c4 Used feature flag to switch between old and new email design
refs https://github.com/TryGhost/Team/issues/2845

We've copied over the existing styles and html to new files and added a feature
flag based switch to choose which to render. We've also had to remove the
caching of the render function so that the switch can be dynamic and not
require a restart.
2023-03-30 12:21:58 +07:00
Fabien "egg" O'Carroll
f23b869499 Added newsletter design customisation data to template
refs https://github.com/TryGhost/Team/issues/2845

Ideally the calculation of these values would be handled by a Newsletter entity
but we don't have one yet, we can look to fix this if we have time. For now
we're calculating them in separate methods to make it easier to extract in
future.
2023-03-30 12:21:58 +07:00
Peter Zimon
ac1b013c80 Cleaned up commented code
refs. 11d3b1850e

- some commented code were accidentally left in the commit above
2023-03-29 19:13:26 +02:00