Commit Graph

17075 Commits

Author SHA1 Message Date
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
Peter Zimon
11d3b1850e Added "View tag" link to tag detail page
no refs.

- it was cumbersome to open the tag archive list from the tag detail screen without a direct link
2023-03-29 19:09:52 +02:00
Simon Backx
90a96978b0 Updated default color picker color to #999999
refs https://github.com/TryGhost/Team/issues/2830
2023-03-29 17:22:52 +02:00
Simon Backx
5a41717384 Improved color picker to show color wheel again
refs https://github.com/TryGhost/Team/issues/2830

After selecting a custom color, and deselecting it. It will show the color wheel again on the next hover.
2023-03-29 17:20:57 +02:00
Simon Backx
73d823ad6a Improved color picker
refs https://github.com/TryGhost/Team/issues/2830

Only update the order of the colors on mouseleave (+ after the animation). This also includes some minor changes to the CSS files to remove glitches in the animation. I temporarily removed the border of the colors because they keep taking up space when the colors are hidden. Ideally we want to move those borders to :before or :after, that will also be better for the animation.
2023-03-29 16:59:58 +02:00
Simon Backx
fbd46e7688 Added automatic switch between light/dark for heading color 'auto'
refs https://github.com/TryGhost/Team/issues/2830
2023-03-29 12:12:12 +02:00
Simon Backx
675e7ed7cc Implemented custom color selection for newsletter colors
refs https://github.com/TryGhost/Team/issues/2830
2023-03-29 12:03:45 +02:00
Rishabh Garg
dc811af070
Merged mentions UI and email lab flags (#16518)
closes https://github.com/TryGhost/Team/issues/2851

We had two separate flags to manage the Mentions beta, one for showing
UI and other for sending emails. This change combines them both under
the single `webmentions` flag that was previously only used to show the
UI.
2023-03-29 01:12:56 +05:30
Rishabh Garg
61afa94a4e
Fixed plaintext for mentions email report (#16517)
closes https://github.com/TryGhost/Team/issues/2754

Updates plaintext version for mentions email report to include all unique mentions in a nice list format.
2023-03-29 00:36:05 +05:30
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
Sanne de Vries
fe7d0620a5 Updated color swatches in email design settings
Refs https://github.com/TryGhost/Team/issues/2830
2023-03-28 18:50:39 +02:00
Simon Backx
986aa38903 Implemented basic color picker in newsletter settings
refs https://github.com/TryGhost/Team/issues/2830

Allows to change the colors, but not yet allows to select custom colors.
2023-03-28 14:24:04 +02:00
Ghost CI
4ca61837f4 Merged v5.40.2 into main 2023-03-28 13:20:27 +01:00
Ghost CI
370ec93736 v5.40.2 2023-03-28 13:20:23 +01:00
Simon Backx
d811440b54 Fixed batch sending snapshot date matching
no issue

The replacement didn't match dates with only one number.
2023-03-28 17:16:39 +05:30
Rishabh Garg
0fb7abae87 🐛 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 16:15:51 +05:30
Simon Backx
109cdeb492 Fixed exporting post metrics without email
no issue

Bookshelf by default returns an empty model when requesting .related('email') for a post without an email. So we need to be a bit smarter to know if a post has an email or not. This fixed an issue where we always showed 'published and emailed' instead of 'published only'.

Since this change also included some changes to test helpers, it also made some changes to the email service because coverage dropped below 100% as a result of fixing the .related method mocking. Ideally we want to move test test helpers to a seperate package in the future.
2023-03-28 12:41:32 +02:00
Sanne de Vries
4cebceb0d8 Added transitions to newsletter color pickers
Refs https://github.com/TryGhost/Team/issues/2830
2023-03-28 12:39:33 +02: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
Simon Backx
7366f726e5 Removed post access copy in post exporter
no issue
2023-03-28 12:08:00 +02:00
Simon Backx
1f39040649 Added support for exportign posts with email recipients to specific tiers
no issue

Support for tiers was missing when traslating the email recipients NQL filter to a string. This is fixed now. It also improved some copy.
2023-03-28 12:06:01 +02:00
Naz
2dd94d4300
Fixed self-serve api key type
refs https://github.com/TryGhost/Ghost/pull/16461

- The referenced migration had an incorrect 'type' assigned to the self-serve integration's api key. Should have been "admin" instead of "core"
2023-03-28 11:59:17 +02:00
Simon Backx
3ac2d72ea6 Renamed reacted_with_more/less_like_this to feedback_more/less_like_this in post export
no issue
2023-03-28 11:44:52 +02:00
Simon Backx
37397e88b6 Renamed paid_signups to paid_conversions in post metrics export
no issue
2023-03-28 11:43:37 +02:00
Simon Backx
147e0cc0d5 Renamed newsletter to newsletter_name in post metrics export
no issue
2023-03-28 11:42:30 +02:00
Simon Backx
59f94e552a
Added newsletter color columns (#16506)
fixes https://github.com/TryGhost/Team/issues/2825

Adds 3 new columns to the newsletters table to allow more customisation:
- background_color, default to 'light'
- border_color, nullable, null = no border
- title_color, nullable, null = auto
2023-03-28 11:38:43 +02:00
Daniel Lockyer
7a050f596f
Reverted "Removed Casper from being tracked by git"
This reverts commit 99df2a418d.
2023-03-28 11:26:17 +02:00
Daniel Lockyer
99df2a418d
Removed Casper from being tracked by git
refs https://ghost.slack.com/archives/C02G9E68C/p1658491521456569

- I've added the submodule to the gitignore and `.gitmodules` has been
  configured to ignore the submodule, but it's still included when you
  do `git add -A`
- I think this should fix it by removing the folder from being tracked
  by git
2023-03-28 11:15:29 +02:00
Elena Baidakova
f40c3ae01a
Added tenor config to lexical editor context (#16513)
refs TryGhost/Team#2764
2023-03-28 11:56:52 +04:00
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
ec966ac3c3
Added www.federalreserve.gov to the blockedReferrerDomains list (#16511)
refs TryGhost/Team#2742

- The federal reserve's website returns a 404 for any URLs that include
query params, so our member attribution/outbound link tagging was
breaking any links to the federal reserve's website
- This adds the federal reserve's website to the list of blocked domains
so that we don't append ?ref= to any links to the federal reserve's
website
2023-03-27 20:30:35 -07:00
Fabien "egg" O'Carroll
349f3b01eb Fixed snapshots for post stats export e2e-api test
The Content-Disposition header was not matching because we use the date in the
filename for the exported CSV file. I haven't created a new matcher here because
it's quite unique, and we don't want an `anyContentDisposition` matcher because
the filename is a part of the API.
2023-03-28 09:48:17 +07:00
Sanne de Vries
7928b53fbd Updated color settings UI in email newsletter
Refs https://github.com/TryGhost/Team/issues/2830
2023-03-27 16:00:24 +02:00
Sodbileg Gansukh
0e998c2a74 Fixed the footer of newsletter click breaking in certain width
refs https://github.com/TryGhost/Team/issues/2619

- the footer text "Sent a broken link? You can update it" of the newsletter clicks was breaking in certain browser width
- this fixes it by adding extra media queries to the already existing solution of hiding the normal text in small screen
2023-03-27 19:30:37 +08:00
Sanne de Vries
11656ea696 Added UI for changing newsletter colors to email settings
Refs https://github.com/TryGhost/Team/issues/2830
2023-03-27 13:15:51 +02:00
Sam Lord
a65dc2de61 Replaced environment variable with config option
no issue

This change moves the way that we enable developer experiments in the browser-based test suite from being an environment variable into the config file for that environment. Just a tidy-up, no functional change.
2023-03-27 11:04:47 +01:00
Sam Lord
14d4d2bf6b Set the log level for test environments to log errors
refs: https://github.com/TryGhost/Toolbox/issues/389

The number of error logs has been reduced massively. There are 4 remaining logs in the unit test suite, and 200~ in the e2e test suite. A lot of the e2e test suite error logs are relating to Stripe, but after that they're mostly individual error log lines caused by testing a failure case. These can be resolved by stubbing the error log and testing that it is called exactly 1 time.
2023-03-27 11:01:37 +01:00
Simon Backx
465c2ee8d5 Updated post export E2E test ordering
no issue

Ordering on title differs between MySQL and SQLite, so replaced it with published_at.
2023-03-27 11:22:33 +02:00
Simon Backx
2fedce8a37 Added E2E tests for post export endpoint
fixes https://github.com/TryGhost/Team/issues/2788
2023-03-27 11:11:49 +02:00
Simon Backx
868adf30fd Fixed batch sending snapshot date matching
no issue

The replacement didn't match dates with only one number.
2023-03-27 10:24:34 +02:00
Simon Backx
11abac9c58 Added 100% unit test coverage for PostsExporter
fixes https://github.com/TryGhost/Team/issues/2796
2023-03-27 10:17:03 +02:00
Ronald Langeveld
a057a4cb3d Added "file" fileType to lexical uploader
refs https://github.com/TryGhost/Team/issues/2634

Added suport for type "file" which refers to basically any non-specific
file type for use on the file card.
Bypasses validation when a file gets uploaded.
2023-03-27 10:33:55 +08:00
Ghost CI
234853aebf v5.40.1 2023-03-24 18:04:56 +00:00
Rishabh Garg
0c743d67af
🐛 Fixed member newsletter subscription not saving in Admin (#16490)
fixes https://github.com/TryGhost/Team/issues/2783 
refs cb05fae5a3

The root cause of the issue was the fact we no longer checked for lack of `newsletters` property on member data before checking its `subscribed` property which is now deprecated. This caused a cascading effect where `subscribed:false` property on a member overrides the value for `newsletters` data. The check was accidentally removed in a previous bug fix.

So for members that were not subscribed to any newsletters, saving a newsletter subscription failed as they had their `subscribed` set to `false`, and it was resetting the newsletter subscription to empty always.
2023-03-24 23:29:49 +05:30
Ghost CI
e096fbc8dd v5.40.0 2023-03-24 16:03:04 +00:00
Sanne de Vries
387dfa59c9
Fixed issue with email template in Outlook (#16486)
Refs https://github.com/TryGhost/Team/issues/2801

- It was not possible to click latest post links in Outlook due to <a>
tag wrapping around a table
- The post meta data wouldn't display properly when centered in Outlook

---------

Co-authored-by: Simon Backx <simon@ghost.org>
2023-03-24 14:54:16 +01:00
Paul Davis
751f7d5278
Added default email to send import reports to (#16485)
refs https://github.com/TryGhost/Team/issues/2790

- When a Self-Serve integration does content/members import it failed
because there was no "user" to get the email from - needed to send the
import report
- The fix defaults to the instance's owner email when an integration
does the request

Co-authored-by: Naz <hi@nazavo.com>
2023-03-24 13:33:24 +00: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
Sam Lord
8856822092 Prevent errors during the verification trigger tests
no issue

These tests were erroring because they subscribed to events but didn't have the handler injected.
2023-03-24 12:32:28 +00:00
Sagar Gupta
5bd558ddf1 Added Toggle Card (first version) 2023-03-24 12:42:58 +01:00
Simon Backx
d9c92816e0 Added dynamic text truncation in email latest posts
refs https://github.com/TryGhost/Team/issues/2675

Truncate text depending on mobile/desktop and feature image.
2023-03-24 12:15:16 +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
Naz
2231981880
Added e2e test checking integration access
refs https://github.com/TryGhost/Team/issues/2790

- The Self-Serve Integration should only be accessible to the Owner and Admin user roles otherwise we risk accidental indirect increase in role permissions - Self-Serve Integration has permissions which editors/contributors don't have.
2023-03-24 11:31:25 +01:00
Naz
fe4e9897fc
Added migration for Self-Serve Integration permissions
refs https://github.com/TryGhost/Team/issues/2790

- This migration adds permissions for Self-Serve Migration Integration to have access to Admin APIs:

POST /ghost/api/admin/db
POST /ghost/api/admin/db/media/inline
POST /ghost/api/admin/members/upload
GET  /ghost/api/admin/tags/:id
GET  /ghost/api/admin/tags/slug/:slug
2023-03-24 11:31:25 +01:00
Naz
0b107f5af5
Added migrations for Self-Serve Migration Integration and API key
refs https://github.com/TryGhost/Team/issues/2790
refs 3747df1bc8 (diff-396038cecd7a381616d00954ae18a655ae2a8af71ea65866bf09d2c7cc1b5235)

- This integration will be used to perform self-serve migrations.
- The integration will be limited to these Admin API endpoints:
POST /ghost/api/admin/db
POST /ghost/api/admin/db/media/inline
POST /ghost/api/admin/members/upload
GET   /ghost/api/admin/tags/:id
GET   /ghost/api/admin/tags/slug/:slug
2023-03-24 11:28:29 +01:00
Simon Backx
317b9aee20 Copied over preview labs change
no refs

Change should be applied for labs and no labs preview page.
2023-03-24 11:00:52 +01:00
Chris Raible
2a876ac7a8
🐛 Fixed UI bug when choosing email recipients (#16481)
- closes https://github.com/TryGhost/Team/issues/2786

- when trying to deselect all recipients, the UI would pass null as the filter to publish-options
- publish-options would then fallback to the default options, which is all recipients, and then the UI wouldn't update which made things even weirder
- we want to fallback to the default recipients when the recipientFilter is undefined (e.g. hasn't been set at all), but not when it is explicitly set to null (e.g. when the user has deselected all recipients)
2023-03-24 15:25:35 +05:30
Simon Backx
07b6cda3db Added subscription details to newsletters
fixes https://github.com/TryGhost/Team/issues/2674

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-03-24 10:54:45 +01:00
Simon Backx
104a81d8c3 Added latests posts to newsletters
fixes https://github.com/TryGhost/Team/issues/2675

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2023-03-24 10:54:45 +01:00
Sanne de Vries
cd7f4bdb09 Fixed sans-serif body font not displaying correctly in email preview
No ref
2023-03-24 10:53:37 +01:00
Simon Backx
21ded0b4b8 Corrected email link in subscription box
refs https://github.com/TryGhost/Team/issues/2674

The replacement didn't work inside an attribute, so I removed it to a link that doesn't do anything.
2023-03-24 10:23:51 +01:00
Simon Backx
814f7ac6fb Updated latest posts feature image resolution to 100x100
refs https://github.com/TryGhost/Team/issues/2675

Updated resolution to be square and 100x100 (200x200 actual to have retina).
2023-03-24 10:18:37 +01:00
Sanne de Vries
e2a1bd86cb Updated post metrics export button and copy
Refs https://github.com/TryGhost/Team/issues/2780
2023-03-24 10:00:57 +01:00
Simon Backx
a9791e95cc Fixed including current email in last 3 posts in newsletters
refs https://github.com/TryGhost/Team/issues/2675

The current post could be inclnuded in the last 3 posts if it was also published. This is now fixed and covered by a test.
2023-03-24 09:20:32 +01:00
Simon Backx
0107d2bb77 Fixed subscription status not showing correctly in emails
refs https://github.com/TryGhost/Team/issues/2674

- The segment detection doesn't work outside the main post content. So the data-gh-segment attribute didn't work. It is now replaced with just a simple email replacement that is empty for a free member.
- Fixed that a trialing member was shown as 'paid'. This is now replaced with 'trialing'.

This commit also includes E2E tests for a couple of member statusses.
2023-03-24 08:55:36 +01:00
renovate[bot]
eb1d63eac0
Update dependency @isaacs/ttlcache to v1.2.2 2023-03-23 20:20:25 +00:00
Sanne de Vries
788cdfe676 Updated typography for footer in email preview
Refs https://github.com/TryGhost/Team/issues/2738
2023-03-23 20:57:56 +01:00
Sanne de Vries
3f0ec1af3d Updated subscription box in email preview and email template
Refs https://github.com/TryGhost/Team/issues/2738

- With all footer additions and changes, the subscription box did not match the rest of the design and is therefore updated.
2023-03-23 19:39:58 +01:00
Daniel Lockyer
3623a652ba Disabled model auto-refresh when triggering a webhook
- we don't use the updated model here so we don't need to fetch the
  latest info after saving to the DB
2023-03-23 18:35:47 +01:00
Daniel Lockyer
45dcfa2032 Allowed autoRefresh option to edit model method
- this allows us to disable auto-refresh in Bookshelf if we don't need
  an updated model, which saves an extra SQL query
2023-03-23 18:35:47 +01:00
Aileen Nowak
37383fde90 Moved Milestone emails to GA
- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA Moved Milestone emails to GA

- Moves Milestone emails from public beta to GA
2023-03-23 17:35:23 +00:00
John O'Nolan
55741c8bdc
Add i18n context 2023-03-23 12:07:12 -04:00
Daniel Lockyer
db998e20ec Allowed version build info to be shown in Admin
refs https://ghost.slack.com/archives/C02G9E68C/p1679577089441659

- this allows the full Ghost version through the API so we can extract
  the build info from it and provide a link to GitHub
2023-03-23 16:31:43 +01:00
Daniel Lockyer
3432857f9a
Added locales/context.json to help with translating
refs https://ghost.slack.com/archives/CFH10N79S/p1679491616052209?thread_ts=1679411948.063929&cid=CFH10N79S

- this adds a small script to generate a `context.json` file, which
  contains all keys and allows people to provide context on the
  translation
2023-03-23 16:29:59 +01:00
Rishabh Garg
ef353db39a
Grouped mentions from same source in email report (#16470)
refs https://github.com/TryGhost/Team/issues/2754

Mentions from same source are already grouped together in Admin UI, with number of links for each source shown in the grouped mention. Similarly, this change updates the grouping of mentions from same source for email reports, removing any duplicate mention source from the report.
2023-03-23 18:18:03 +05:30
Sanne de Vries
0455672832 Updatet latest post section in email template
Refs https://github.com/TryGhost/Team/issues/2675
2023-03-23 13:16:48 +01:00
Ronald Langeveld
e313423d2e Bumped packages
no issue
2023-03-23 17:23:12 +08:00
Daniel Lockyer
2941154353
Added dynamic date matching to email sending snapshot
- we don't want to include the actual date here because it'll change
- this adds a regex to match the date and replace it with a standard
  "date" string, which won't change
2023-03-23 09:20:23 +01:00
Sanne de Vries
ffa22a8e34 Updated excerpt copy of latest posts in email preview
Closes https://github.com/TryGhost/Team/issues/2768
2023-03-23 08:59:47 +01:00
Daniel Lockyer
4332060f0f
Removed circular dependency definition
- `member-attribution` is not used within the code, only for type
  definitions, which are automatically imported anyway because we're in
  a monorepo
2023-03-23 08:58:59 +01:00
renovate[bot]
8f6533e1a3
Update dependency webpack to v5.76.3 2023-03-22 19:31:12 +00:00
Aileen Nowak
5136a9705d Improved Milestone email preview
no issue

- Render first content part instead of subject for preview text
2023-03-22 17:44:14 +00:00
Sam Lord
5065950401 Mocked mail to prevent errors in e2e test suite
refs: https://github.com/TryGhost/Toolbox/issues/389
2023-03-22 16:25:23 +00:00
Sam Lord
47d9b4a51d Fixed errors being logged by unit tests
refs: https://github.com/TryGhost/Toolbox/issues/389
2023-03-22 16:25:23 +00:00
Daniel Lockyer
880f8c2802
Added missing eslint --cache flag
- this dramatically speeds up linting by only linting what has changed
2023-03-22 17:06:30 +01:00
Simon Backx
860048a89d Fixed snapshots 2023-03-22 17:03:11 +01:00
Simon Backx
46f305efaf Fixed hiding name if empty in email subscription box
no issue

Moved some CSS around because I moved the wrong code in the previous commit.
2023-03-22 16:51:56 +01:00
Simon Backx
55c281debf Reverted removeStyleTags from email-renderer
no issue

Some things break in some email clients with this new setting. Disabled it for now and moved the required css style to hide the member name row to @media all.
2023-03-22 16:40:35 +01:00
Simon Backx
24c5a45057 Added post excerpts to the latest posts email
refs https://github.com/TryGhost/Team/issues/2769

Truncates if it is too long (also for the title).
2023-03-22 16:11:08 +01:00
Sam Lord
661de46ae0 Fixed the reply-to address for newsletters in data generator
no issue

This makes it so that newsletters can be manipulated in Ghost Admin, otherwise Ember errors
2023-03-22 14:56:51 +00:00
Simon Backx
4eebf6612a Added image dimensions to the latest posts mobile version in email
fixes https://github.com/TryGhost/Team/issues/2799

Separate image dimensions for mobile and normal images.
2023-03-22 15:54:27 +01:00
Simon Backx
480c1a7004 Removed name from subscription details if missing
refs https://github.com/TryGhost/Team/issues/2736

If the name is not known for a member, we'll hide the name row in the subscription details in an email. This method is supported in most email clients, and requires the support of `<style>` in `<head>`.
2023-03-22 15:32:07 +01:00
Sanne de Vries
47e343ec18 Updated latest posts UI in email template
Refs https://github.com/TryGhost/Team/issues/2801
2023-03-22 15:16:55 +01:00
Simon Backx
b7361e2f1f Fixed email service test coverage for limitImageWidth
refs 74f25faf61

Changes weren't covered by unit tests.
2023-03-22 14:17:01 +01:00
Simon Backx
74f25faf61 Added restricted aspect ratio to latest posts in email
refs https://github.com/TryGhost/Team/issues/2799

Restricts aspect ratio of post feature images to 120x96, and crop them if needed for both Unsplash as local images.
2023-03-22 14:02:24 +01:00
Sam Lord
3718d4acda Enable labs in playwright tests
no issue

Allows us to write tests for features which are still in development.
2023-03-22 11:16:49 +00:00
Simon Backx
5058dc9d6c Added real dates in newsletter preview subscription box
refs https://github.com/TryGhost/Team/issues/2737

Show today date as member creation date, and today + 1 year for the expiry date in the example.
2023-03-22 11:56:50 +01:00
Sanne de Vries
58a973a215 Fixed latest post images not displaying in newsletter preview
Refs https://github.com/TryGhost/Team/issues/2768
2023-03-22 11:54:47 +01:00
Simon Backx
f17b939dbe Added name placeholder in subscription details box
refs https://github.com/TryGhost/Team/issues/2736

When the member doesn't have a name, we'll show 'not provided' for now.
2023-03-22 11:53:11 +01:00
Simon Backx
bc0126c54e
Added subscription status text in newsletters (#16442)
fixes https://github.com/TryGhost/Team/issues/2736

Shows the actual subscription status (expires on DD MMM YYYY) in every
email when show subscription details is enabled.
2023-03-22 11:52:41 +01:00
Sanne de Vries
c28b4c61d2 Added latest posts UI to newsletter preview
Refs https://github.com/TryGhost/Team/issues/2768
2023-03-22 11:06:08 +01:00