Commit Graph

15686 Commits

Author SHA1 Message Date
renovate[bot]
f58a7725d6 Update dependency luxon to v2.5.2 2023-01-06 11:59:24 +01:00
renovate[bot]
1c64b8a8fc Update dependency html-validate to v7.12.1 2023-01-06 11:58:57 +01:00
Sam Lord
36e7e79eec Improved Playwright test, selector for redemption count
no issue

Selector for redemption count was not ideal - this makes it more specific & clear.
2023-01-06 10:56:19 +00:00
Rishabh
30c9dfd68d Fixed failing playwright test to remove member labels
- the test was using incorrect test state that was copied over from adding label test
- also adds guard for empty newsletters in member filters as in some cases it might not exist as found by test
2023-01-06 16:17:34 +05:30
Ronald Langeveld
e52f29231f Added Playwright test - remove labels from members
ref https://github.com/TryGhost/Team/issues/2371

- check that a fitered list of members can have a label removed from
  them at once.
2023-01-06 14:36:13 +08:00
Patrick McKenzie
559ca9d866
🐛 Stopped creating redundant Stripe Customers for Members
fixes https://github.com/TryGhost/Ghost/issues/16057

Briefly, Ghost created two Customer objects via the Stripe API when an
existing subscriber would upgrade to a paid subscription, one in an API
call to create the Customer and then a second as a side effect of an API
call to create a Checkout session for the user. The fix is passing the
reference to the Customer object to the API call to create the Checkout
session; Stripe will no longer redundantly create a Customer object in
this case.

This largely impacts the owner's experience of the Stripe Dashboard; it
will correct their new Customer count (going forward) and make searches
for users by name or email address return one responsive object which
has the actual subscription in it versus returning two and forcing them
to look in each to e.g. refund a transaction or similar.
2023-01-06 11:44:56 +07:00
renovate[bot]
78384dd9eb
Update dependency ember-template-lint to v5.3.1 2023-01-06 00:21:56 +00:00
Ghost CI
adbf6427ae v5.27.0 2023-01-05 16:22:40 +00:00
Simon Backx
d34f07f408 🐛 Fixed admin loading member counts for authors and editors
no issue

When using admin as a user with author or editor permissions, admin tried to load the member counts in order to display them in the menu. But authors and editors are not allowed to see the members. So the request returned a 403.

It is not necessary to load the member counts for authors and editors, so we can just skip the request.
2023-01-05 16:37:01 +01:00
Simon Backx
cf5c64f96b
🐛 Fixed batches can have an empty "to" field (#16064)
fixes https://github.com/TryGhost/Team/issues/2246

This solution adds some retries when fetching the recipients for a
batch. For an unknown reason the recipients can be empty (while they
aren't in the database). This should fix the issue for now until we find
more information about the root cause.
2023-01-05 15:29:03 +01:00
Peter Zimon
bfe1915924 Theme error list design refinements
refs. https://github.com/TryGhost/Team/issues/2393

- style for theme error list was outdated
2023-01-05 13:19:34 +01:00
Djordje Vlaisavljevic
5b8a44772b Fixed settings menu header and tags overlapping
no refs
2023-01-05 12:08:03 +00:00
Peter Zimon
84cdf0c46c Added static version of theme errors notification
refs. https://github.com/TryGhost/Team/issues/2393

- a labs flag had to be created so we avoid working in branches
- permanent notification toast was added to make theme errors more discoverable
- static modal was needed to hold theme error details
2023-01-05 11:38:17 +01:00
Fabien "egg" O'Carroll
953f3856a8 Handled EmailBounceEvent with 605 error code
When Mailgun fails to deliver an email to an address because the
address has already bounced before, it gives us a permanent fail event
with a 605 error code rather than a 5xx one. Because we want to
"backfill" our suppressions data with previously bounced email
addresses, we want to handle this specific error code.

We may update this logic in the future based on new information from
Mailgun with respect to their 6xx error codes and the
meanings/underlying cause of theme.

This also moves the tests which check for whether or not emails are
suppressed into their own fail so that we do not pollute the event
storage tests, and adds more tests cases.

We also fix a leaky sinon stub which we were not resetting in the email
event storage tests
2023-01-05 17:11:37 +07:00
Fabien "egg" O'Carroll
2d9114450c Fixed email_recipients fixtures for tests
The email_recipient fixtures were using duplicate and mismatched email addresses
rather than having them correctly map to the Members, which is required for testing
email suppressions.
2023-01-05 17:11:06 +07:00
Peter Zimon
74fd5d4b04 Portal settings design bugfixes
no refs.

- Stripe Connect footer in the Portal settings sidebar was covering settings on small screens
- the border for Stripe Connect box was not visible in dark mode
- the "Save and Close" button background was not visible in dark mode in Portal settings
2023-01-04 18:04:01 +01:00
renovate[bot]
218136060e Update sentry-javascript monorepo to v7.29.0 2023-01-04 17:23:05 +01:00
renovate[bot]
e291c18371
Update dependency ember-modifier to v4 (#15990)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ember-modifier](https://togithub.com/ember-modifier/ember-modifier) |
[`3.2.7` ->
`4.0.0`](https://renovatebot.com/diffs/npm/ember-modifier/3.2.7/4.0.0) |
[![age](https://badges.renovateapi.com/packages/npm/ember-modifier/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/ember-modifier/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/ember-modifier/4.0.0/compatibility-slim/3.2.7)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/ember-modifier/4.0.0/confidence-slim/3.2.7)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ember-modifier/ember-modifier</summary>

###
[`v4.0.0`](https://togithub.com/ember-modifier/ember-modifier/blob/HEAD/CHANGELOG.md#v400-2022-12-13)

[Compare
Source](https://togithub.com/ember-modifier/ember-modifier/compare/v3.2.7...v4.0.0)

##### 🚀 Enhancement

-
[#&#8203;498](https://togithub.com/ember-modifier/ember-modifier/pull/498)
Update signature of constructor for class-based modifiers
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))
-
[#&#8203;327](https://togithub.com/ember-modifier/ember-modifier/pull/327)
auto-publish unstable packages to NPM
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### 🐛 Bug Fix

-
[#&#8203;372](https://togithub.com/ember-modifier/ember-modifier/pull/372)
Include `blueprints` folder in published tarball
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### 📝 Documentation

-
[#&#8203;504](https://togithub.com/ember-modifier/ember-modifier/pull/504)
docs: Fix typo in TypeScript class based example
([@&#8203;HeroicEric](https://togithub.com/HeroicEric))

##### 🏠 Internal

-
[#&#8203;539](https://togithub.com/ember-modifier/ember-modifier/pull/539)
Sync with latest v2 addon and cli-typescript blueprints
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))
-
[#&#8203;328](https://togithub.com/ember-modifier/ember-modifier/pull/328)
run `npx ember-cli-update --to=4.3.0` to align with blueprint
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### Committers: 2

-   Eric Kelly ([@&#8203;HeroicEric](https://togithub.com/HeroicEric))
- Sergey Astapov
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 15:13:15 +00:00
Simon Backx
30853bc213 Added 100% test coverage to EmailEventProcessor
refs https://github.com/TryGhost/Team/issues/2339
2023-01-04 16:07:19 +01:00
Peter Zimon
9d924efe92 Updated Stripe Connect buttons
no refs.

- Stripe Connect in Portal was not discoverable enough
- we used the old Stripe Connect buttons everywhere
2023-01-04 15:29:56 +01:00
Simon Backx
c31bc58210 Added 100% test coverage to EmailController
refs https://github.com/TryGhost/Team/issues/2339
2023-01-04 15:22:49 +01:00
Simon Backx
913ad18b71
Added DomainEvents.allSettled utility method (#16075)
no issue

With the increased usage of DomainEvents, it gets harder to build
reliable tests without having to resort to timeouts. This utility method
allows us to wait for all events to be processed before continuing with
the test.

This change should speed up tests and make them more reliable.

It only adds extra code when running tests and shouldn't impact
production.
2023-01-04 14:30:35 +01:00
Simon Backx
e2e9a56583 Added 100% test coverage to EmailService class
refs https://github.com/TryGhost/Team/issues/2339

Tests the EmailService class of the email-service package.
2023-01-04 14:25:29 +01:00
Rishabh
45ab2586b0 Fixed free trial messaging shown for invite-only sites in portal
refs https://github.com/TryGhost/Team/issues/2361

- bumps portal with fix for free trial messaging shown on invite-only sites
2023-01-04 17:15:25 +05:30
Rishabh
09237b2c90 Released Portal v2.23.0 2023-01-04 17:13:24 +05:30
Rishabh
f5aa07a095 🐛 Removed free trial message shown on portal for invite only sites
closes https://github.com/TryGhost/Team/issues/2361

If a free trial tier existed on site and its set to 'Invite only' in membership settings, the free trial copy still showed on portal.

- removes free trial copy from portal if site is invite only
- adds playwright test to make sure free trial copy is not shown for invite only sites
2023-01-04 17:11:55 +05:30
Daniel Lockyer
017f3e1257 Lowered threshold for link-tracking coverage
- for some reason, Node 18 detects a lower coverage than the configured
  threshold so this fails
- I've temporarily lowered the threshold until we can investigate why
2023-01-04 11:27:39 +01:00
Daniel Lockyer
1af31bab1a ℹ️ Added support for Node 18
refs https://github.com/TryGhost/Toolbox/issues/488

- Node 18 is now LTS so we're adding support for it
- this adds Node 18.12.1 (the latest security release) to our supported
  ranges and CI
2023-01-04 11:27:39 +01:00
Daniel Lockyer
aa08fc72e7 Updated Koenig packages
refs https://github.com/TryGhost/Toolbox/issues/488

- these packages add support for Node 18 and drop support for Node 12
2023-01-04 11:27:39 +01:00
Fabien 'egg' O'Carroll
50e99e013c
Added migrations to drop and recreate the suppressions table (#16070)
There are currently two issues with the suppressions table:
  - We have some incorrect rows
  - We have missing UNIQUE constraints

We want to completely wipe the tables and start fresh, as well as make
sure that the UNIQUE constraints are added, so we drop the table
completely, and then re-add it, which should result in an empty
suppressions table with all expected constraints.

We've also renamed the `email_address` column to `email` to match our
`users` & `members` tables
2023-01-04 17:26:57 +07:00
Simon Backx
819d0d884c
Improved email verification required checks (#16060)
fixes https://github.com/TryGhost/Team/issues/2366
refs https://ghost.slack.com/archives/C02G9E68C/p1670232405014209

Probem described in issue.

In the old MEGA flow:
- The `email_verification_required` check is now repeated inside the job

In the new email service flow:
- The `email_verification_required` is now checked (didn't happen
before)
- When generating the email batch recipients, we only include members
that were created before the email was created. That way it is
impossible to avoid limit checks by inserting new members between
creating an email and sending an email.
- We don't need to repeat the check inside the job because of the above
changes

Improved handling of large imports:
- When checking `email_verification_required`, we now also check if the
import threshold is reached (a new method is introduced in
vertificationTrigger specifically for this usage). If it is, we start
the verification progress. This is required for long running imports
that only check the verification threshold at the very end.
- This change increases the concurrency of fastq to 3 (refs
https://ghost.slack.com/archives/C02G9E68C/p1670232405014209). So when
running a long import, it is now possible to send emails without having
to wait for the import. Above change makes sure it is not possible to
get around the verification limits.

Refactoring:
- Removed the need to use `updateVerificationTrigger` by making
thresholds getters instead of fixed variables.
- Improved awaiting of members import job in regression test
2023-01-04 11:22:12 +01:00
renovate[bot]
c9221525bc Update dependency gscan to v4.35.1 2023-01-04 11:13:01 +01:00
Fabien 'egg' O'Carroll
e78612bb66
Fixed MailgunEmailSuppressionList adding non-5xx failures to the list
The MailgunEmailSuppression list was incorrectly adding emails
to the suppression list for permanent failure events which have
an error code outside of the 5xx range.
2023-01-04 17:03:52 +07:00
Kevin Ansfield
ea9c8c03fe
Update dependency ember-template-lint to v5.3.0 (#16062)
refs https://github.com/TryGhost/Ghost/pull/15550

Pulled out of the rolled up node+ember-js+ember-template rollup linter update PR as it required fairly extensive changes.

- bumped package
- renamed `no-down-event-binding` to `no-pointer-down-event-binding`
- disabled `no-pointer-down-event-binding` rule
- disabled `no-triple-curlies` rule
- ran `yarn lint:hbs --fix`
- updated integration tests to match Octane syntax
- fixed various one-off errors
- updated .lint-todo
2023-01-04 09:39:32 +00:00
Simon Backx
789e2c96c0
🐛 Fixed SingleUseTokens being cleared on boot (#15999)
fixes https://github.com/TryGhost/Team/issues/1996

**Issue**
Our Magic links are valid for 24 hours. After first usage, the token
lives for a further 10 minutes, so that in the case of email servers or
clients that "visit" links, the token can still be used.

The implementation of the 10 minute window uses setTimeout, meaning if
the process is interrupted, the 10 minute window is ignored completely,
and the token will continue to live for the remainder of it's 24 hour
validity period. To prevent that, the tokens are cleared on boot at the
moment.

**Solution**

To remove the boot clearing logic, we need to make sure the tokens are
only valid for 10 minutes after first use even during restarts.

This commit adds 3 new fields to the SingleUseToken model:
- updated_at: for storing the last time the token was changed/used). Not
really used atm.
- first_used_at: for storing the first time the token was used
- used_count: for storing the number of times the token has been used

Using these fields:
- A token can only be used 3 times
- A token is only valid for 10 minutes after first use, even if the
server restarts in between
- A token is only valid for 24 hours after creation (not changed)

We now also delete expired tokens in a separate job instead of on boot /
in a timeout.
2023-01-04 09:49:39 +01:00
renovate[bot]
497491fbef
Update metascraper to v5.33.3 2023-01-04 01:46:54 +00:00
renovate[bot]
640b4accd6
Update dependency knex-migrator to v5.1.0 2023-01-03 22:35:38 +00:00
Paul Davis
8db947cd24
Trim generated post slug length in Revue importer (#16065)
refs: 5f90baf6fe

- Ghost has a character limit on post slugs of 191 characters,
- Sometimes, the slug that is generated from the title in Revue content is longer than this, causing the import to fail. 
- This PR trims that generated post slug to 190 characters.
2023-01-03 20:15:32 +00:00
renovate[bot]
1c9ad00d6d
Update dependency bookshelf-relations to v2.5.1 2023-01-03 19:09:30 +00:00
renovate[bot]
854c90f324 Update dependency fastq to v1.15.0 2023-01-03 19:06:34 +00:00
renovate[bot]
f6db0640a6
Update dependency @ember/test-helpers to v2.9.3 (#16011)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ember/test-helpers](https://togithub.com/emberjs/ember-test-helpers)
| [`2.8.1` ->
`2.9.3`](https://renovatebot.com/diffs/npm/@ember%2ftest-helpers/2.8.1/2.9.3)
|
[![age](https://badges.renovateapi.com/packages/npm/@ember%2ftest-helpers/2.9.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@ember%2ftest-helpers/2.9.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@ember%2ftest-helpers/2.9.3/compatibility-slim/2.8.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@ember%2ftest-helpers/2.9.3/confidence-slim/2.8.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>emberjs/ember-test-helpers</summary>

###
[`v2.9.3`](https://togithub.com/emberjs/ember-test-helpers/releases/tag/v2.9.3):
Release 2.9.3

[Compare
Source](https://togithub.com/emberjs/ember-test-helpers/compare/v2.9.2...v2.9.3)

##### 🐛 Bug Fix

-
[#&#8203;1305](https://togithub.com/emberjs/ember-test-helpers/pull/1305)
\[backport] Avoid unnecessary dependencies on `@glimmer` types
([@&#8203;dfreeman](https://togithub.com/dfreeman))

##### Committers: 1

-   Dan Freeman ([@&#8203;dfreeman](https://togithub.com/dfreeman))

###
[`v2.9.2`](https://togithub.com/emberjs/ember-test-helpers/releases/tag/v2.9.2):
Release 2.9.2

[Compare
Source](https://togithub.com/emberjs/ember-test-helpers/compare/v2.9.1...v2.9.2)

##### 🐛 Bug Fix

-
[#&#8203;1302](https://togithub.com/emberjs/ember-test-helpers/pull/1302)
\[backport] Remove the index signature from `TestContext`
([@&#8203;chriskrycho](https://togithub.com/chriskrycho))
- Backporting
[#&#8203;1301](https://togithub.com/emberjs/ember-test-helpers/pull/1301)
Remove the index signature from `TestContext`
([@&#8203;dfreeman](https://togithub.com/dfreeman))
-
[#&#8203;1303](https://togithub.com/emberjs/ember-test-helpers/pull/1303)
`TestContext.resumeTest()` returns `void`, not `Promise<void>`
([@&#8203;chriskrycho](https://togithub.com/chriskrycho))

##### Committers: 1

- Chris Krycho ([@&#8203;chriskrycho](https://togithub.com/chriskrycho))
-   Dan Freeman ([@&#8203;dfreeman](https://togithub.com/dfreeman))

###
[`v2.9.1`](https://togithub.com/emberjs/ember-test-helpers/blob/HEAD/CHANGELOG.md#v291-2022-12-16)

[Compare
Source](https://togithub.com/emberjs/ember-test-helpers/compare/v2.9.0...v2.9.1)

***Note:** these were all back-ported from master since they could go
out on 2.9. This will be the last 2.9 release unless there are critical
bug fixes here!*

##### 🐛 Bug Fix

- Let ESLint have its way about docstring location
([`a8fac83`](https://togithub.com/emberjs/ember-test-helpers/commit/a8fac83))
- DOC: API: add render helper examples
([`f476a20`](https://togithub.com/emberjs/ember-test-helpers/commit/f476a20))
- Tweak TS style for indexing multiple types (for getElement)
([`f01ad9f`](https://togithub.com/emberjs/ember-test-helpers/commit/f01ad9f))
- Use export type for RenderingTestContext
([`2dc5077`](https://togithub.com/emberjs/ember-test-helpers/commit/2dc5077))
- Tweak TS style for indexing multiple types
([`3214483`](https://togithub.com/emberjs/ember-test-helpers/commit/3214483))
- Address PR feedback
([`5e87a54`](https://togithub.com/emberjs/ember-test-helpers/commit/5e87a54))
- DOC: API: add DOM query helper examples
([`83b7f5f`](https://togithub.com/emberjs/ember-test-helpers/commit/83b7f5f))
- Export type for Target
([`335019d`](https://togithub.com/emberjs/ember-test-helpers/commit/335019d))
- Upgrade expect-type and fix issues the new version reveals
([`bae5e33`](https://togithub.com/emberjs/ember-test-helpers/commit/bae5e33))
- Correctly handle special char keyCodes with Shift
([`d537923`](https://togithub.com/emberjs/ember-test-helpers/commit/d537923))
- Add tab type test
([`64f40d5`](https://togithub.com/emberjs/ember-test-helpers/commit/64f40d5))
- Generate documentation
([`939f29f`](https://togithub.com/emberjs/ember-test-helpers/commit/939f29f))
- Ensure types reflect optional-ness of tab options
([`95285cc`](https://togithub.com/emberjs/ember-test-helpers/commit/95285cc))
- Fix typesVersions config again
([`53fa899`](https://togithub.com/emberjs/ember-test-helpers/commit/53fa899))
- Clean up public-types after pack
([`b9dcbca`](https://togithub.com/emberjs/ember-test-helpers/commit/b9dcbca))

###
[`v2.9.0`](https://togithub.com/emberjs/ember-test-helpers/blob/HEAD/CHANGELOG.md#v290-2022-12-14)

[Compare
Source](https://togithub.com/emberjs/ember-test-helpers/compare/v2.8.1...v2.9.0)

##### 🚀 Enhancement

-
[#&#8203;1269](https://togithub.com/emberjs/ember-test-helpers/pull/1269)
Re-export hasEmberVersion (and its type) from
[@&#8203;ember/test-helpers](https://togithub.com/ember/test-helpers)
([@&#8203;gitKrystan](https://togithub.com/gitKrystan))
-
[#&#8203;1278](https://togithub.com/emberjs/ember-test-helpers/pull/1278)
perf: Remove excessive destroy call
([@&#8203;runspired](https://togithub.com/runspired))
-
[#&#8203;1234](https://togithub.com/emberjs/ember-test-helpers/pull/1234)
Introduce public TypeScript support
([@&#8203;chriskrycho](https://togithub.com/chriskrycho))

##### 🐛 Bug Fix

-
[#&#8203;1277](https://togithub.com/emberjs/ember-test-helpers/pull/1277)
Actually publish .d.ts
([@&#8203;gitKrystan](https://togithub.com/gitKrystan))
-
[#&#8203;1270](https://togithub.com/emberjs/ember-test-helpers/pull/1270)
Fix typesVersions path
([@&#8203;gitKrystan](https://togithub.com/gitKrystan))
-
[#&#8203;1233](https://togithub.com/emberjs/ember-test-helpers/pull/1233)
Add more keyCode mappings ([@&#8203;CvX](https://togithub.com/CvX))

##### 📝 Documentation

-
[#&#8203;1259](https://togithub.com/emberjs/ember-test-helpers/pull/1259)
DOCS: API: publish docs for tab
([@&#8203;geneukum](https://togithub.com/geneukum))

##### Committers: 5

- Chris Krycho ([@&#8203;chriskrycho](https://togithub.com/chriskrycho))
-   Chris Thoburn ([@&#8203;runspired](https://togithub.com/runspired))
-   Geordan Neukum ([@&#8203;geneukum](https://togithub.com/geneukum))
-   Jarek Radosz ([@&#8203;CvX](https://togithub.com/CvX))
- Krystan HuffMenne
([@&#8203;gitKrystan](https://togithub.com/gitKrystan))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNjYuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 18:04:35 +00:00
Kevin Ansfield
0b80a7f9eb
Fixed new tier creation browser tests (#16066)
refs https://github.com/TryGhost/Ghost/pull/16013

- ordering of tiers changed so newly added tiers are no longer always at the end of the list in Admin
2023-01-03 17:59:33 +00:00
Daniel Lockyer
99c775be23
ℹ️ Bumped minimum Node version to 14.18.0
refs https://github.com/TryGhost/Toolbox/issues/488

- this is needed so we can bump some dependencies
- given how old these versions are, users should probably update past
  this anyway
2023-01-03 18:54:39 +01:00
renovate[bot]
9e4b882889 Update dependency @sinonjs/fake-timers to v10.0.2 2023-01-03 18:47:15 +01:00
renovate[bot]
dcf8c55e9c Update dependency @types/nodemailer to v6.4.7 2023-01-03 18:46:57 +01:00
renovate[bot]
470cdbb681 Update dependency html-validate to v7.12.0 2023-01-03 18:46:27 +01:00
renovate[bot]
55b73b9049 Update dependency @playwright/test to v1.29.1 2023-01-03 18:46:13 +01:00
renovate[bot]
cd1cdd869f
Update dependency ember-in-viewport to v4.1.0 (#15795)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ember-in-viewport](https://togithub.com/dockyard/ember-in-viewport) |
[`4.0.2` ->
`4.1.0`](https://renovatebot.com/diffs/npm/ember-in-viewport/4.0.2/4.1.0)
|
[![age](https://badges.renovateapi.com/packages/npm/ember-in-viewport/4.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/ember-in-viewport/4.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/ember-in-viewport/4.1.0/compatibility-slim/4.0.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/ember-in-viewport/4.1.0/confidence-slim/4.0.2)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dockyard/ember-in-viewport</summary>

###
[`v4.1.0`](https://togithub.com/dockyard/ember-in-viewport/compare/v4.0.2...v4.1.0)

[Compare
Source](https://togithub.com/dockyard/ember-in-viewport/compare/v4.0.2...v4.1.0)

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzQuMTkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 17:23:51 +00:00
renovate[bot]
6f6f816077
Update dependency ember-css-transitions to v4.3.2 (#15846)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[ember-css-transitions](https://miguelcobain.github.io/ember-css-transitions)
([source](https://togithub.com/miguelcobain/ember-css-transitions)) |
[`4.2.0` ->
`4.3.2`](https://renovatebot.com/diffs/npm/ember-css-transitions/4.2.0/4.3.2)
|
[![age](https://badges.renovateapi.com/packages/npm/ember-css-transitions/4.3.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/ember-css-transitions/4.3.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/ember-css-transitions/4.3.2/compatibility-slim/4.2.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/ember-css-transitions/4.3.2/confidence-slim/4.2.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>miguelcobain/ember-css-transitions</summary>

###
[`v4.3.2`](https://togithub.com/miguelcobain/ember-css-transitions/blob/HEAD/CHANGELOG.md#v432-2022-11-18)

[Compare
Source](https://togithub.com/miguelcobain/ember-css-transitions/compare/v4.3.1...v4.3.2)

##### 🐛 Bug Fix

-
[#&#8203;117](https://togithub.com/miguelcobain/ember-css-transitions/pull/117)
Handle no ownConfig scenario (for real)
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### Committers: 1

- Sergey Astapov
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

###
[`v4.3.1`](https://togithub.com/miguelcobain/ember-css-transitions/blob/HEAD/CHANGELOG.md#v431-2022-11-18)

[Compare
Source](https://togithub.com/miguelcobain/ember-css-transitions/compare/v4.3.0...v4.3.1)

##### 🐛 Bug Fix

-
[#&#8203;116](https://togithub.com/miguelcobain/ember-css-transitions/pull/116)
Handle no ownConfig scenario
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### Committers: 1

- Sergey Astapov
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

###
[`v4.3.0`](https://togithub.com/miguelcobain/ember-css-transitions/blob/HEAD/CHANGELOG.md#v430-2022-11-18)

[Compare
Source](https://togithub.com/miguelcobain/ember-css-transitions/compare/v4.2.0...v4.3.0)

##### 🚀 Enhancement

-
[#&#8203;113](https://togithub.com/miguelcobain/ember-css-transitions/pull/113)
Add opt-in integration with
[@&#8203;ember/test-waiters](https://togithub.com/ember/test-waiters)
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))
-
[#&#8203;109](https://togithub.com/miguelcobain/ember-css-transitions/pull/109)
Update glint import path to template-registry
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### 📝 Documentation

-
[#&#8203;115](https://togithub.com/miguelcobain/ember-css-transitions/pull/115)
Add Glint support page to docs
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### 🏠 Internal

-
[#&#8203;114](https://togithub.com/miguelcobain/ember-css-transitions/pull/114)
Fix flaky tests
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))
-
[#&#8203;112](https://togithub.com/miguelcobain/ember-css-transitions/pull/112)
Rename addon folder to ember-css-transitions
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))
-
[#&#8203;111](https://togithub.com/miguelcobain/ember-css-transitions/pull/111)
update v2 addon setup
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

##### Committers: 1

- Sergey Astapov
([@&#8203;SergeAstapov](https://togithub.com/SergeAstapov))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNi40IiwidXBkYXRlZEluVmVyIjoiMzQuMjYuNCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 17:23:23 +00:00
renovate[bot]
5ff142bd49
Update dependency liquid-wormhole to v3 (#16003)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [liquid-wormhole](https://togithub.com/pzuraq/liquid-wormhole) |
[`2.1.5` ->
`3.0.0`](https://renovatebot.com/diffs/npm/liquid-wormhole/2.1.5/3.0.0)
|
[![age](https://badges.renovateapi.com/packages/npm/liquid-wormhole/3.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/liquid-wormhole/3.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/liquid-wormhole/3.0.0/compatibility-slim/2.1.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/liquid-wormhole/3.0.0/confidence-slim/2.1.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pzuraq/liquid-wormhole</summary>

###
[`v3.0.0`](https://togithub.com/pzuraq/liquid-wormhole/blob/HEAD/CHANGELOG.md#v300-2022-12-13)

[Compare
Source](https://togithub.com/pzuraq/liquid-wormhole/compare/v2.1.5...v3.0.0)

##### 💥 Breaking Change

- [#&#8203;75](https://togithub.com/pzuraq/liquid-wormhole/pull/75)
Ember >= 3.24, node >= 14
([@&#8203;rwwagner90](https://togithub.com/rwwagner90))
- [#&#8203;72](https://togithub.com/pzuraq/liquid-wormhole/pull/72)
Update liquid-fire, remove getowner polyfill
([@&#8203;rwwagner90](https://togithub.com/rwwagner90))
- [#&#8203;67](https://togithub.com/pzuraq/liquid-wormhole/pull/67) ci:
drop support for node 4.x and node 6.x
([@&#8203;alexdiliberto](https://togithub.com/alexdiliberto))

##### 🚀 Enhancement

- [#&#8203;74](https://togithub.com/pzuraq/liquid-wormhole/pull/74) Add
Embroider support
([@&#8203;rwwagner90](https://togithub.com/rwwagner90))
- [#&#8203;73](https://togithub.com/pzuraq/liquid-wormhole/pull/73)
Various Ember updates
([@&#8203;rwwagner90](https://togithub.com/rwwagner90))

##### Committers: 2

- Alex DiLiberto
([@&#8203;alexdiliberto](https://togithub.com/alexdiliberto))
- Robert Wagner ([@&#8203;rwwagner90](https://togithub.com/rwwagner90))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 17:21:58 +00:00
Simon Backx
803bb18b8d Improved unit test coverage for the output mappers
no issue

Increases the unit test coverage to a bit above 60% to increase margin
2023-01-03 15:58:31 +01:00
renovate[bot]
fe454d8a33
Update dependency @babel/plugin-proposal-decorators to v7.20.7 (#16043)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@babel/plugin-proposal-decorators](https://babel.dev/docs/en/next/babel-plugin-proposal-decorators)
([source](https://togithub.com/babel/babel)) | [`7.20.5` ->
`7.20.7`](https://renovatebot.com/diffs/npm/@babel%2fplugin-proposal-decorators/7.20.5/7.20.7)
|
[![age](https://badges.renovateapi.com/packages/npm/@babel%2fplugin-proposal-decorators/7.20.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@babel%2fplugin-proposal-decorators/7.20.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@babel%2fplugin-proposal-decorators/7.20.7/compatibility-slim/7.20.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@babel%2fplugin-proposal-decorators/7.20.7/confidence-slim/7.20.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel</summary>

###
[`v7.20.7`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7207-2022-12-22)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.20.5...v7.20.7)

##### 👓 Spec Compliance

- `babel-helper-member-expression-to-functions`,
`babel-helper-replace-supers`, `babel-plugin-proposal-class-properties`,
`babel-plugin-transform-classes`
- [#&#8203;15223](https://togithub.com/babel/babel/pull/15223) fix:
Deleting super property should throw
([@&#8203;SuperSodaSea](https://togithub.com/SuperSodaSea))
- `babel-helpers`, `babel-plugin-proposal-class-properties`,
`babel-plugin-transform-classes`, `babel-plugin-transform-object-super`
- [#&#8203;15241](https://togithub.com/babel/babel/pull/15241) fix:
Throw correct error types from sed ant class TDZ helpers
([@&#8203;SuperSodaSea](https://togithub.com/SuperSodaSea))

##### 🐛 Bug Fix

-   `babel-parser`, `babel-plugin-transform-typescript`
- [#&#8203;15209](https://togithub.com/babel/babel/pull/15209) fix:
Support auto accessors with TypeScript annotations
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-traverse`
- [#&#8203;15287](https://togithub.com/babel/babel/pull/15287) Fix
`.parentPath` after rename in `SwitchCase`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-plugin-transform-typescript`, `babel-traverse`
- [#&#8203;15284](https://togithub.com/babel/babel/pull/15284) fix: Ts
import type and func with duplicate name
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-plugin-transform-block-scoping`
- [#&#8203;15278](https://togithub.com/babel/babel/pull/15278) Fix tdz
analysis for reassigned captured for bindings
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-plugin-proposal-async-generator-functions`, `babel-preset-env`
- [#&#8203;15235](https://togithub.com/babel/babel/pull/15235) fix:
Transform `for await` with shadowed variables
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-generator`, `babel-plugin-proposal-optional-chaining`
- [#&#8203;15258](https://togithub.com/babel/babel/pull/15258) fix:
Correctly generate `(a ?? b) as T`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-plugin-transform-react-jsx`, `babel-types`
- [#&#8203;15233](https://togithub.com/babel/babel/pull/15233) fix: Emit
correct sourcemap ranges for `JSXText`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
- `babel-core`, `babel-helpers`,
`babel-plugin-transform-computed-properties`, `babel-runtime-corejs2`,
`babel-runtime-corejs3`, `babel-runtime`
- [#&#8203;15232](https://togithub.com/babel/babel/pull/15232) fix:
Computed properties should keep original definition order
([@&#8203;SuperSodaSea](https://togithub.com/SuperSodaSea))
- `babel-helper-member-expression-to-functions`,
`babel-helper-replace-supers`, `babel-plugin-proposal-class-properties`,
`babel-plugin-transform-classes`
- [#&#8203;15223](https://togithub.com/babel/babel/pull/15223) fix:
Deleting super property should throw
([@&#8203;SuperSodaSea](https://togithub.com/SuperSodaSea))
-   `babel-generator`
- [#&#8203;15216](https://togithub.com/babel/babel/pull/15216) fix:
Print newlines for leading Comments of `TSEnumMember`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

##### 💅 Polish

-   `babel-plugin-transform-block-scoping`, `babel-traverse`
- [#&#8203;15275](https://togithub.com/babel/babel/pull/15275) Improve
relative execution tracking in fn exprs
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))

##### 🏠 Internal

- `babel-helper-define-map`, `babel-plugin-transform-property-mutators`
- [#&#8203;15274](https://togithub.com/babel/babel/pull/15274) Inline &
simplify `@babel/helper-define-map`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-core`, `babel-plugin-proposal-class-properties`,
`babel-plugin-transform-block-scoping`,
`babel-plugin-transform-classes`,
`babel-plugin-transform-destructuring`,
`babel-plugin-transform-parameters`,
`babel-plugin-transform-regenerator`, `babel-plugin-transform-runtime`,
`babel-preset-env`, `babel-traverse`
- [#&#8203;15200](https://togithub.com/babel/babel/pull/15200) Rewrite
`transform-block-scoping` plugin
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))

##### 🏃‍♀️ Performance

-   `babel-helper-compilation-targets`
- [#&#8203;15228](https://togithub.com/babel/babel/pull/15228) perf:
Speed up `getTargets`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC42Ni4xIiwidXBkYXRlZEluVmVyIjoiMzQuNjYuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 14:45:34 +00:00
renovate[bot]
e264616808
Update dependency ember-resolver to v8.1.0 (#16035)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ember-resolver](https://togithub.com/ember-cli/ember-resolver) |
[`8.0.3` ->
`8.1.0`](https://renovatebot.com/diffs/npm/ember-resolver/8.0.3/8.1.0) |
[![age](https://badges.renovateapi.com/packages/npm/ember-resolver/8.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/ember-resolver/8.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/ember-resolver/8.1.0/compatibility-slim/8.0.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/ember-resolver/8.1.0/confidence-slim/8.0.3)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ember-cli/ember-resolver</summary>

###
[`v8.1.0`](https://togithub.com/ember-cli/ember-resolver/blob/HEAD/CHANGELOG.md#v810-2022-12-20)

[Compare
Source](https://togithub.com/ember-cli/ember-resolver/compare/v8.0.3...v8.1.0)

Back-ports built-in TypeScript support from 9.0.0 (see below) to
decouple that from the Ember 4.x upgrade.

##### 🚀 Enhancement

- [#&#8203;839](https://togithub.com/ember-cli/ember-resolver/pull/839)
Backport types to 8.x
([@&#8203;chriskrycho](https://togithub.com/chriskrycho))

##### Committers: 1

- Chris Krycho ([@&#8203;chriskrycho](https://togithub.com/chriskrycho))

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC42Ni4xIiwidXBkYXRlZEluVmVyIjoiMzQuNjYuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 14:44:38 +00:00
renovate[bot]
9955cdc3ba
Update dependency testem to v3.10.1 (#16034)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [testem](https://togithub.com/testem/testem) | [`3.10.0` ->
`3.10.1`](https://renovatebot.com/diffs/npm/testem/3.10.0/3.10.1) |
[![age](https://badges.renovateapi.com/packages/npm/testem/3.10.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/testem/3.10.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/testem/3.10.1/compatibility-slim/3.10.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/testem/3.10.1/confidence-slim/3.10.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>testem/testem</summary>

### [`v3.10.1`](https://togithub.com/testem/testem/releases/tag/v3.10.1)

[Compare
Source](https://togithub.com/testem/testem/compare/v3.10.0...v3.10.1)

#### What's Changed

- build(deps): bump socket.io from 4.5.3 to 4.5.4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/testem/testem/pull/1609](https://togithub.com/testem/testem/pull/1609)
- build(deps-dev): bump sinon from 14.0.2 to 15.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/testem/testem/pull/1611](https://togithub.com/testem/testem/pull/1611)
- build(deps-dev): bump socket.io-client from 4.5.3 to 4.5.4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/testem/testem/pull/1610](https://togithub.com/testem/testem/pull/1610)
- build(deps-dev): bump eslint from 8.28.0 to 8.30.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/testem/testem/pull/1616](https://togithub.com/testem/testem/pull/1616)
- build(deps-dev): bump sinon from 15.0.0 to 15.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/testem/testem/pull/1617](https://togithub.com/testem/testem/pull/1617)
- Scope testem assets with a prefix by
[@&#8203;stepankuzmin](https://togithub.com/stepankuzmin) in
[https://github.com/testem/testem/pull/1615](https://togithub.com/testem/testem/pull/1615)

#### New Contributors

- [@&#8203;stepankuzmin](https://togithub.com/stepankuzmin) made their
first contribution in
[https://github.com/testem/testem/pull/1615](https://togithub.com/testem/testem/pull/1615)

**Full Changelog**:
https://github.com/testem/testem/compare/v3.10.0...v3.10.1

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC42Ni4wIiwidXBkYXRlZEluVmVyIjoiMzQuNjYuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 14:44:07 +00:00
renovate[bot]
bde3dc8087
Update dependency ember-basic-dropdown to v6.0.2 (#15809)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ember-basic-dropdown](http://ember-basic-dropdown.com)
([source](https://togithub.com/cibernox/ember-basic-dropdown)) |
[`6.0.1` ->
`6.0.2`](https://renovatebot.com/diffs/npm/ember-basic-dropdown/6.0.1/6.0.2)
|
[![age](https://badges.renovateapi.com/packages/npm/ember-basic-dropdown/6.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/ember-basic-dropdown/6.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/ember-basic-dropdown/6.0.2/compatibility-slim/6.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/ember-basic-dropdown/6.0.2/confidence-slim/6.0.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cibernox/ember-basic-dropdown</summary>

###
[`v6.0.2`](https://togithub.com/cibernox/ember-basic-dropdown/blob/HEAD/CHANGELOG.md#&#8203;602)

[Compare
Source](https://togithub.com/cibernox/ember-basic-dropdown/compare/v6.0.1...d6395e07adfa13037617fd2b051623d2f9bfde58)

- Relax dependency on ember-style-modifier so version 1.0 is also
allowed

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yMS42IiwidXBkYXRlZEluVmVyIjoiMzQuMjEuNiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 14:39:21 +00:00
renovate[bot]
be31f8e9fe
Update dependency @embroider/macros to v1.10.0 (#15874)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@embroider/macros](https://togithub.com/embroider-build/embroider) |
[`1.9.0` ->
`1.10.0`](https://renovatebot.com/diffs/npm/@embroider%2fmacros/1.9.0/1.10.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@embroider%2fmacros/1.10.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@embroider%2fmacros/1.10.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@embroider%2fmacros/1.10.0/compatibility-slim/1.9.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@embroider%2fmacros/1.10.0/confidence-slim/1.9.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>embroider-build/embroider</summary>

###
[`v1.10.0`](https://togithub.com/embroider-build/embroider/blob/HEAD/CHANGELOG.md#embroidermacros-190---1100)

- BUGFIX: template macros could have pre-moved appRoot in their
packageCache
- ENHANCEMENT: expose simplified transforms API for use with
babel-plugin-ember-template-compilation

Previously, we used MacrosConfig.astTransforms() which gave you
transforms in
the reverse order they were expected to run, for compatibility with the
wacky
ordering in class ember-cli-htmlbars. Now we also offer
`MacrosConfig.transforms()` which provides them in a format compatible
directly with babel-plugin-ember-template-compilation 2.0, which uses
the more natural order and which supports
plugins-as-strings-to-be-loaded in addition to just plain functions.

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4zMC40IiwidXBkYXRlZEluVmVyIjoiMzQuMzAuNCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 14:38:47 +00:00
renovate[bot]
435d5da3ff Update sentry-javascript monorepo to v7.28.1 2023-01-03 14:27:06 +01:00
Kevin Ansfield
581f0b34b4
🐛 Fixed missing validation of offer amounts in the admin panel (#16022)
closes https://github.com/TryGhost/Team/issues/2380

- improved offer validation for `amount` field to cover all type/amount cases
- added validate-on-blur to the amount field to match our standard validation behaviour
- added re-validation of the amount field when the type is changed and the amount gets reset
- removed the internal parsing of a decimal trial days entry to an integer so the field value matches what is set internally and we let the user know that partial trial days are not supported

Non-user-facing refactors:
- renamed `_saveOfferProperty` to `_updateOfferProperty` to better reflect what it does
- fixed missing indentation for conditional blocks in the offer template
2023-01-03 09:23:11 +00:00
Elena Baidakova
235446b034
🐛 Fixed tiers order by monthly_price (#16013)
refs TryGhost/Team#2273
- According to documentation (https://ghost.org/docs/content-api/#order)
tiers should be ordered from lowest to highest monthly price.
2023-01-03 12:59:18 +04:00
Simon Backx
211de82a8d
Fixed random test failure due to member newsletter ordering (#16024)
fixes https://github.com/TryGhost/Team/issues/2365

The newsletters relation of a member was not sorted. This is fixed now,
so we have consistent results in the test snapshots.
2023-01-03 09:43:41 +01:00
renovate[bot]
c0b700147e Update dependency eslint to v8.31.0 2023-01-03 07:22:01 +00:00
renovate[bot]
af91df561c Update metascraper to v5.32.4 2023-01-03 04:07:06 +00:00
renovate[bot]
694e02d7ba Update dependency sanitize-html to v2.8.1 2023-01-03 00:17:13 +00:00
Daniel Lockyer
4867b7fb3d
Updated @tryghost/logging resolutions
refs 08b786af3b

- we recently bumped the packages but I forgot to update the resolutions
  to pin Ghost to a specific version of the package
2023-01-02 21:01:45 +01:00
Daniel Lockyer
08b786af3b Bumped TryGhost-owned dependencies and lockfile
- this was all getting terribly behind so I've done several things:
  - majority of `@tryghost/*` except Lexical packages
  - gscan + knex-migrator to remove old `@tryghost/errors` usage
  - bumped lockfile
2023-01-02 20:55:22 +01:00
Sam Lord
994e546787 Prevented posts meta table from breaking data generator script
refs: https://github.com/TryGhost/Toolbox/issues/453
2023-01-02 16:45:45 +00:00
Simon Backx
f568b35f26 Fixed 2023 snapshot tests
no issue

Updated the snapshot files for the email preview test snapshots that contain 2023 in the email footer.
2023-01-02 11:18:07 +01:00
Ghost CI
65252c361a v5.26.4 2022-12-30 16:00:45 +00:00
Ghost CI
85db1838d9 v5.26.3 2022-12-23 16:01:11 +00:00
Ghost CI
42f5743e86 v5.26.2 2022-12-20 12:15:51 +00:00
Hannah Wolfe
1b5aa390f1
🐛 Fixed meta is missing error with revue imports (#16033)
refs:
5f90baf6fe

- The check for hasIssuesCSV didn't normalize the filename first,
meaning the importer is super sensitive to zip structure
- This allows for zips that contain a directory, so that it will still
be processed as a revue import, not a Ghost import
2022-12-20 11:56:07 +00:00
Ghost CI
1f5a752b71 v5.26.1 2022-12-16 16:01:00 +00:00
Ghost CI
26be3b9ccd v5.26.0 2022-12-16 12:49:22 +00:00
Ghost CI
571874d2cc 🎨 Updated Casper to v5.4.4 2022-12-16 12:49:21 +00:00
Rishabh Garg
2eac41b1f4
🐛 Fixed invalid email getting saved for members (#16021)
refs https://github.com/TryGhost/Team/issues/2235

We found some cases which can cause a site to have member emails that have invalid characters like `member@example.com�`. This happened due to the `validator` version used by Ghost not able to catch some specific cases as invalid email, allowing members to be created with them either via Admin or Importer or direct signup. Portal UI already blocked these email as invalid. This change:

- updates `@tryghost/validator` to include a latest version of email validator that catches these invalid cases
- doesn't allow member creation with invalid email like above
- doesn't allow existing member emails to be edited to invalid
2022-12-16 16:47:52 +05:30
Simon Backx
6a266be239
🐛 Fixed archived offers return button not working (#16023)
fixes https://github.com/TryGhost/Team/issues/2374

When clicking 'Show active offers' in the archived offers view, it would
always return to an empty offers list, even when there are active
offers.
2022-12-16 11:32:05 +01:00
renovate[bot]
9ec6a7320a
Update dependency sinon to v15.0.1 2022-12-15 21:03:48 +00:00
Kevin Ansfield
4a6a2f8ded Added missing @tryghost/importer-revue
no issue

- publishing Ghost wasn't correctly bundling the required package due to a missing dependency in package.json
2022-12-15 21:00:43 +00:00
Hannah Wolfe
3ee0b813b6
Updated to use proper members importer for Revue (#16018)
refs:
5f90baf6fe

- The OG implementation of importing revue subscribers was very naive
- This sures it up to use our proper member importer, which makes sure
everything works perfectly:
  - adds an import label
  - ensures members are subscribed to newsletters

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2022-12-15 20:29:08 +00:00
Paul Davis
ecd2083745
Handle blockquotes & empty paragraphs (#16019)
refs: 5f90baf6fe

- Blockquotes without any wrapping tag get converted to Mobiledoc weirdly. Wrapping them in `<p>` tags helps solve that
- Also removes empty paragraph tags which cause unwanted large blank spaces in content
- Remove internal #revue from Revue content
2022-12-15 19:28:48 +00:00
Hannah Wolfe
5f90baf6fe
Added Revue Importer (#16012)
refs: https://www.getrevue.co/app/offboard

- Revue is stopping all paid subscriptions on 20th Dec, and shutting down on Jan 18th.
- This update allows Ghost to accept and handle the zip file Revue are providing as an export in Labs > Importer
- It will import posts (as best as we can with the data provided) and subscribers as free members
- At present it doesn't import paid subscribers, as we don't have that info, but you can disconnect Revue from your Stripe account to prevent all your subscriptions being cancelled & there's the option this can be fixed later
- There will be further updates to polish up this tooling - this is just a first pass to try to get something in people's hands

Co-authored-by: Paul Davis <PaulAdamDavis@users.noreply.github.com>
2022-12-15 17:22:54 +00:00
Simon Backx
0825a2d7f4
🐛 Fixed importing existing member resetting newsletters (#16017)
fixes https://github.com/TryGhost/Team/issues/2386

**Issue:**
- When trying to import a member that already exists, and has
'subscribed' set to 'true' in the CSV, the newsletters the member is
subscribed to are reset to the default newsletters.
- When ediging a member with the API and setting `subscribed` to true,
the same happens.

**Cause:**
A faulty check for the `status` property of a newsletter.

Fixed and added a new E2E test.
2022-12-15 17:45:11 +01:00
Hannah Wolfe
5fad27a3c0
Added html -> mobiledoc conversion to the importer (#16016)
- Now that the importer runs in a job, it seems sensble that we should
do this
- If posts are imported with HTML set, but not mobiledoc, we now convert html -> mobiledoc
- Note: This also converts the mobiledoc -> html so _may_ be lossy
- Without this, imports that only have HTML, not mobiledoc, would have
resulted in empty posts, so lossy > empty
2022-12-15 16:10:36 +00:00
Sodbileg Gansukh
74cb362f87
Added theme docs link to the design settings (#16014)
no refs

- this adds a theme documentation link to the design settings footer if there's an URL set in the package.json of the theme. An example of the package.json property: "docs": "https://example.com"
2022-12-15 20:06:08 +08:00
Ronald Langeveld
ce53c76fdf
Added newsletter subscription filtering to members (#16006)
closes https://github.com/TryGhost/Team/issues/2012

- Members can now be filtered based on the newsletters they are
subscribed to.
- Defaults to the existing newsletter filtering if user does not have
more than 1 newsletter.
2022-12-15 16:06:47 +07:00
Ghost CI
64e44444c1 v5.25.5 2022-12-14 17:21:38 +00:00
Ghost CI
5bafe3df3f 🎨 Updated Casper to v5.4.2 2022-12-14 17:21:38 +00:00
Paul Davis
0a40f1742d
Changed tag for imported content to be internal (#15934)
refs: 8ed5f9784d

- When importing content from a JSON file in Settings > Labs, a public tag
like `Import 2022-12-03 19:57` gets added to each newly imported post.
- This tag should not be public. It definitely serves a useful
purpose but has no useful function for readers of the site and should
not be shown to readers.
2022-12-14 16:51:51 +00:00
Simon Backx
94e85dc09e
Reduced webhook calls when updating last_seen_at for email opens (#16008)
refs https://ghost.slack.com/archives/C02G9E68C/p1670960248186789

This reverts a change that was made here:

f4fdb4fa6c (r93071549),
but it still moved the original code to a new location in the
LastSeenAtUpdater

It includes a new E2E test to make sure timezones are supported
correctly.

- By not using Bookshelf, we no longer fire webhook calls
- By not using the member repository, we don't fetch and update the
member model and the labels relation in a forUpdate transaction, which
caused deadlock issues on the labels/members_labels tables which were
hard to resolve. Until now I was unable to find the other conflicting
transaction that caused this deadlock. Moving to raw knex (instead of
Bookshelf) and only updating the last_updated_at column should remove
the deadlock issue.

This removed the test for the email service wrapper, since it started
failing for an unknown reason and the test didn't make much sense (was
added earlier only to bump test threshold).
2022-12-14 17:50:42 +01:00
Elena Baidakova
00c2b71502
🐛 Fixed slug saving in editor (#16007)
refs TryGhost/Team#2294
- If user enter the slug name and then leave the post page, we should
wait until the slug would be saved on backend. The problem can be
reproduced with slow internet connection.
2022-12-14 19:39:01 +04:00
Hannah Wolfe
270f288c48 Added a timeout to the get helper
- The get helper can sometimes take a long time, and in themes that have many get helpers, the request can take far too long to respond
- This adds a timeout to the get helper, so that the page render doesn't block forever
- This won't abort the request to the DB, but instead just means the page will render sooner, and without the get block
2022-12-14 15:35:07 +00:00
Kevin Ansfield
a69ffb94c1 Added playwright test for publishing posts for specific tiers
refs https://github.com/TryGhost/Team/issues/2371

- test publishes a post with access for a single tier then checks the front-end with no member, member on wrong tier, and member on right tier
2022-12-14 12:20:55 +00:00
Hannah Wolfe
abc7e64941 Added new unique tag to all mailgun requests
refs: https://github.com/TryGhost/Ghost/issues/15725

- our users are having difficulties getting onboarded with mailgun
- we're adding an explicit and unique tag to all requests, to help mailgun detect when mail is being sent from Ghost
2022-12-14 12:20:25 +00:00
Kevin Ansfield
8e7d6400b0 Updated .lint-todo file
refs c3487fea41
2022-12-14 12:09:33 +00:00
Kevin Ansfield
b402b1643e Prevented throwing errors unnecessarily in editor plus menu and link toolbar
closes sentry Admin-423

- there may be times when the mousemove event handler fires when the document is not in a ready state resulting in an attempt to get a document position that doesn't exist
- should fix `Could not find parent section from element node` errors
2022-12-14 11:57:54 +00:00
Kevin Ansfield
c3487fea41 Refactored <GhBenefitItem>
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated component to Glimmer
- swapped usage of `ValidationState` mixin for `{{validation-status}}` modifier
  - updated modifier to accept custom error/success classes
- removed unnecessary/unused code in the `gh-benefit-item.js` backing class
2022-12-14 11:57:54 +00:00
Rishabh
25c530293f Added playwright tests for forever and multiple month offers
- adds test that cover creating and signing up to multiple-month/forever offers
- checks that the offer information is shown to members during signup and in account detail
2022-12-14 17:13:20 +05:30
Rishabh
199d8644a5 Fixed offers playwright test for one-time discount
refs aa693039a3

- one-time offer discounts are no longer shown to member in Portal settings, as portal shows only the next payment info.
2022-12-14 16:27:01 +05:30
Rishabh
521b25fa84 Added suppression and offer UI changes to Portal
- bumps portal to latest to include changes for suppression and offer UI
2022-12-14 16:14:39 +05:30
Rishabh
45705e4bb2 Released Portal v2.22.0 2022-12-14 16:12:20 +05:30
Rishabh Garg
a09e86da05
Fixed email preview text with new stability flow (#15996)
closes https://github.com/TryGhost/Team/issues/2382

The preview text is getting set to subject line in the new email flow so it repeats multiple times in the inbox(subject+preview+title). This was because the new flow doesn't use the post serialisation that the old system did, causing excerpt to be empty in the email rendering.

Old system was using post serialisation here -
a721e4f2d7/ghost/core/core/server/services/mega/post-email-serializer.js (L136-L139).

This change adds explicit method to calculate the preview text for email in email renderer service using same logic as used in old system.

Co-authored-by: Simon Backx <git@simonbackx.com>
2022-12-14 15:54:26 +05:30
Simon Backx
47cd7a7095
🐛 Handled unknown Mailgun events (#15995)
refs https://ghost.slack.com/archives/C02G9E68C/p1670916538764019

- We receive events that don't have an emailId or providerId.
- We filter those events now and log them as an error
2022-12-14 11:17:45 +01:00
Rishabh
aa693039a3 🐛 Removed expired offers shown in portal account detail
closes https://github.com/TryGhost/Team/issues/2376#event-8026429598

- if an offer is expired/in past, we no longer show it in member account info against the price
- one-time offers are never showed in portal in member account detail, as the payment information shown to member in Portal points to charge at next payment
- if trial days are over for a subscription, portal doesn't show any offer data on member account detail
2022-12-14 15:27:49 +05:30
Simon Backx
237d4d53d4
Added catch to unhandled promises rejections (#15994)
refs https://github.com/TryGhost/Team/issues/2370

Reduces amount of unhandled promise rejections
2022-12-14 10:48:46 +01:00
Daniel Lockyer
919a8345a1
Added missing dev dependency
- this should be explicitly added to the package.json as we use it in
  the core package
2022-12-14 11:42:46 +07:00
Daniel Lockyer
6f4e663d74
Updated @tryghost dependencies (#16005)
- also includes `knex-migrator` with a simple `sqlite3` bump
2022-12-14 11:18:55 +07:00
renovate[bot]
7c3dc6f3ed Update sentry-javascript monorepo to v7.26.0 2022-12-14 08:07:58 +07:00
renovate[bot]
8977fe5ac9 Update dependency @types/express to v4.17.15 2022-12-14 07:33:05 +07:00
Daniel Lockyer
0482db4818
Merged v5.25.4 into main 2022-12-14 07:25:47 +07:00
Ghost CI
fa9f6007bf v5.25.4 2022-12-13 15:16:49 +00:00
Sodbileg Gansukh
6878b18341
Added Taste and Episode themes (#15991)
no refs

- added two new themes, Taste and Episode to the admin
- updated theme screenshots that weren't up-to-date with the latest changes added to the themes
- some theme screenshot files were JPGs and replaced them with PNGs for consistency
2022-12-13 23:03:21 +08:00
Simon Backx
b14e234576
🐛 Reverted Sentry to v7.11.1 to fix unhandled promise rejection crashes (#15998)
refs https://github.com/TryGhost/Team/issues/2370

Due to a possible bug in either `@sentry/node` (mainly the Express
middlewares and the usage of deprectated Domain) and Node v16+,
unhandled promise rejections are transformed into uncaught exceptions
and cause Ghost to crash in unexpected situations.

Reverting to `v7.11.1` fixes this (but definitely not ideal at all)
because errors are caught in the Express middleware.

Reproduction repo:
https://github.com/SimonBackx/sentry-node-unhandled-rejection-crash
2022-12-13 15:53:27 +01:00
Simon Backx
a721e4f2d7
🐛 Fixed 'Invalid status code: undefined' in members api (#15973)
fixes https://github.com/TryGhost/Team/issues/2377

When there is an error thrown that is not a Ghost error, there is no
status code in the error. Calling res.writeHead with an undefined status
code, throws an error and crashes Ghost.

This change fixes that and adds logging for those errors.
2022-12-13 12:32:05 +01:00
Simon Backx
520b19e313
Added try catch for errors in all domain event listeners (#15976)
refs https://github.com/TryGhost/Team/issues/2370

Reduces the amount of unhandled errors that could cause a crash in Ghost
2022-12-13 11:28:02 +01:00
Elena Baidakova
9579791185
Resubscribe member to default newsletters after removing from suppression list (#15974)
refs TryGhost/Team#2372
2022-12-13 13:31:50 +04:00
Elena Baidakova
1c74d3304a
Added url to help doc for disabled emails (#15993)
refs TryGhost/Team#2323
2022-12-13 12:57:51 +04:00
renovate[bot]
f94d8fdcc2 Update dependency fs-extra to v11 2022-12-13 10:59:55 +07:00
renovate[bot]
102f2f39c7 Update dependency sqlite3 to v5.1.4 2022-12-13 10:59:30 +07:00
renovate[bot]
a8610b524b Update sentry-javascript monorepo to v7.25.0 2022-12-13 10:59:06 +07:00
renovate[bot]
607ca90bca
Update dependency sanitize-html to v2.8.0 2022-12-12 20:20:22 +00:00
renovate[bot]
4275090cc0
Update metascraper to v5.32.3 2022-12-12 17:13:29 +00:00
renovate[bot]
13abcf6c9d
Update dependency mocha to v10.2.0 2022-12-12 13:20:22 +00:00
Elena Baidakova
7ef157b17f
Improved count of items in e2e tests (#15986)
refs TryGhost/Team#2371
- We need to wait selectors before count them
https://github.com/microsoft/playwright/issues/14278

These changes needed to make the results of tests more stable on the CI
2022-12-12 16:51:31 +04:00
Elena Baidakova
8d2418578d
🐛 Removed horizontal scroll for long author's name (#15985)
closes TryGhost/Team#2272
- Show all name's text due to poor support `text-overflow: ellipsis` in
email clients
2022-12-12 15:36:58 +04:00
Peter Zimon
bd92b3ac89 Added UI refinements
refs. https://github.com/TryGhost/Team/issues/2348

- spacing and typography was off on the receiving FAQ page
- longform popup size missed mobile sizes
2022-12-12 15:09:32 +05:30
Rishabh
ce45571dc0 Updated email faqs in portal to show sender email address
refs https://github.com/TryGhost/Team/issues/2348

- updates email faqs to show the sender email from newsletter data
2022-12-12 15:09:32 +05:30
Rishabh
14bdb58694 Added newsletter sender email to content API
refs https://github.com/TryGhost/Team/issues/2348

The suppressions FAQ on portal needs to show the newsletter's sender address, which wasn't exposed to the content API so far.
2022-12-12 15:09:32 +05:30
Rishabh Garg
d7fc3a5e48
Cleaned up old plan UI code in portal (#15805)
closes https://github.com/TryGhost/Team/issues/1889

Portal's UI, specially for Signup and Account Upgrade, has changed a lot as we went from single tier -> multiple prices -> multiple tiers. This change removes the old unused `PlansSection` and related components that are no longer in use anywhere in Portal UI since we transitioned to Products(tiers).

- removes unused `ChangeProductPlansSection` component
- removes unused `PlanSectionStyles` to cleanup unused styles
2022-12-12 14:54:03 +05:30
Rishabh
4e766e2584 Fixed broken playwright tests
refs https://github.com/TryGhost/Team/issues/2371

- playwright tests were broken due to state changes based on prev tests that were not accounted for
- in case of multiple newsletters, portal tests expected another step between stripe checkout for newsletter selection
- site settings test was disabling members, but not re-enabling it back
2022-12-12 14:50:34 +05:30
Elena Baidakova
8b92b49363
Added data test attributes (#15981)
refs TryGhost/Team#2371
2022-12-12 10:23:13 +04:00
Elena Baidakova
88b056dc86
Added Playwright member's actions tests (#15968)
refs TryGhost/Team#2371
- check that members can unsubscribe from newsletters by toggling
preferences in their account settings
- check that member can log out
2022-12-12 10:13:08 +04:00
Rishabh
aa706bc569 Removed one-time offer from being shown in portal
refs https://github.com/TryGhost/Team/issues/2376

When a discount offer for a first-payment is setup, when a member views their plan details in Portal, it still shows the discounted price, it shows the discounted offer instead of the actual price they will be charged next time, which is incorrect.
For one time payments, we'll not reflect the discount in portal as the member will not receive that discount going forward.
2022-12-12 11:32:47 +05:30
renovate[bot]
3550c629e4 Update dependency ember-auto-import to v2.5.0 2022-12-12 11:17:40 +07:00
renovate[bot]
1fc553e258 Update sentry-javascript monorepo to v7.24.2 2022-12-12 10:42:56 +07:00
renovate[bot]
76c096ae82 Update dependency postcss to v8.4.20 2022-12-12 10:42:35 +07:00
Ghost CI
8d7aa3079f v5.25.3 2022-12-09 16:01:15 +00:00
Rishabh
960250e99e Fixed email suppressed page portal tests
- tests were failing due to copy changes that made the test selectors fail to fetch the element
- for future, we should switch to using test ids here instead of text as they can easily change causing these failures
2022-12-09 19:40:10 +05:30
Rishabh Garg
109bce8096
Fixed portal comp upgrade playwright tests (#15977)
refs
f5aae1e2c5
refs
0f9ed54a6f

- changing playwright portal tests to work for single tier setup caused failure for comped upgrade tests as they were relying on button text that changed
2022-12-09 19:19:13 +05:30
Rishabh Garg
33458daae8
🐛 Fixed free trial applied alongside an offer in checkout (#15975)
refs https://github.com/TryGhost/Team/issues/2375

If a discount offer is associated with a tier that has a free trial enabled on full price / standard portal in membership settings, then the stripe checkout applied both the discount and free trial to the member, which is incorrect as we shouldn't be combining both.

- removes trial days from stripe checkout if a coupon is being applied, so only one of them is applied at a time
2022-12-09 18:47:05 +05:30
Peter Zimon
2e87ceae1f Portal copy refinements
refs. https://github.com/TryGhost/Team/issues/2348

- re-enable email button had outdated copy
2022-12-09 14:08:03 +01:00
Kevin Ansfield
9fd87f565d Migrated <GhValidationStatusContainer> to {{validation-status}} modifier
no issue

- moved logic from `<GhValidationStatusContainer>` to a new `validation-status` modifier
  - removes a usage of the `ValidationState` mixin
  - migrated uses of the component to a mixin
  - paves the way for full removal of the `ValidationState` mixin in later refactors (mixins are deprecated)
- migrated `<GhFormGroup>` to a glimmer component
  - swapped the extend of `GhValidationStatusContainer` to usage of the `validation-status` modifier with a template-only component
  - updated all `<GhFormGroup>` to use the standard `class=""` instead of `@classNames=""` and `@class=""`
  - allows `data-test-*` attributes to be added to uses of `<FormGroup>` to help when complex components are grouped as a form input
2022-12-09 12:38:35 +00:00
Peter Zimon
34d99c92e0 Updated email FAQ
refs. https://github.com/TryGhost/Team/issues/2348

- updated copy for not receiving emails FAQ. It's still WIP, from addresses need to be wired in
2022-12-09 13:28:06 +01:00
Simon Backx
9e6f5e93d8
🐛 Fixed email header images serving original image size (#15950)
fixes https://github.com/TryGhost/Team/issues/2368

- Removed the usage of the `isLocalContentImage` Koenig util for the
email header and feature image url generation.
- While we were trying to set the width to 1200px, we didn't have that
size hardcoded. So that url would redirect back to the original location
instead of serving a smaller image. So I added a new internal size to
the `imageOptimization` config.
- This is fixed in both the new and old email flow and includes some
extra tests for the new flow.
2022-12-09 11:17:22 +01:00
Peter Zimon
527d718b76
Added extra assertions to Offers tests (#15956)
refs. https://github.com/TryGhost/Team/issues/2371

- two extra assertion was needed for discount and free-trials to check
if the offers are listed in ‘Active’ offers and the URLs load portal
2022-12-09 08:56:41 +01:00
Naz
ffd07ea744
Added Playwright "Private site" test
refs https://github.com/TryGhost/Team/issues/2371

- Test enabling private site and checking access with a password
- The test flow is lacking a check for site access through password
due to a Playwirght bug. This should be cleaned up in the future
2022-12-09 14:01:19 +07:00
Peter Zimon
be84593684 Fixed offers archive test
refs. https://github.com/TryGhost/Team/issues/2371

- deleteAllMembers was an unnecessary step
- since there's a generated code appended to the name of the archived offer, it had to be shorter to avoid potential naming conflicts
2022-12-09 07:48:24 +01:00
Fabien "egg" O'Carroll
adae605555 Moved unsubscribing members behind feature flag
refs https://github.com/TryGhost/Team/issues/2367

We're not releasing this immediately so need to put it behind the flag
so that we continue to send emails to the correct members.
2022-12-09 13:24:25 +07:00
Ronald Langeveld
d62f09c588 Added filtered list labelling playwright test
ref https://github.com/TryGhost/Team/issues/2371

- Filters and then adds label to filtered members
2022-12-09 12:56:34 +07:00
Sanne de Vries
9b819698e8 Fixed title attributes on headings in editor toolbar
No ref
2022-12-09 10:10:34 +07:00
renovate[bot]
5407902577
Update dependency supertest to v6.3.3 2022-12-08 17:16:37 +00:00
Simon Backx
e7572fc111 Added Playwright test for disabled subscription access
refs https://github.com/TryGhost/Team/issues/2371

Portal should be disabled on the frontend, sending as a newsletter should no longer be an option when publishing
2022-12-08 17:58:03 +01:00
Djordje Vlaisavljevic
82aa9522dc Added playwright test for updating atier
refs TryGhost/Team#2371

- Tests that tier details can be updated
- Tests that the updates are reflected in Portal
2022-12-08 17:40:42 +01:00
Simon Backx
6af149120a Added Playwright test for invite only sites
refs https://github.com/TryGhost/Team/issues/2371

Tests if an invite only site disables sign up.
2022-12-08 17:27:30 +01:00
Rishabh
f5aae1e2c5 Updated playwright tests for portal member upgrade
refs https://github.com/TryGhost/Team/issues/2371

- updated setup to ensure single tier for testing single tier flows
- updated portal test to use utils and new data test ids
2022-12-08 21:09:19 +05:30
Simon Backx
08206f367f Removed publishing spec only test 2022-12-08 15:30:27 +01:00
Simon Backx
7c6e9c6ecf Added Playwright tests for scheduled post emails
refs https://github.com/TryGhost/Team/issues/2371

- Added some more utility methods to the Publishing spec
- Added tests for scheduled pusblish+send and send flows
2022-12-08 15:24:37 +01:00
Kevin Ansfield
f2e1d77a0f Fixed linter error 2022-12-08 14:02:27 +00:00
Simon Backx
80258cd396 Added Playwright tests for publishing post with email
refs https://github.com/TryGhost/Team/issues/2371

- Adds a test for publishing and sending
- Adds a test for email only sending
- Updated some util methods in the publishing spec to remove the dependency on the post bookmark (which is not present for email only posts)
2022-12-08 14:38:12 +01:00
Sam Lord
3449c49c10 Tidy up the mocking utility for Mailgun
no issue
Moved the mocking into the Playwright specific codebase, since this will only be used in browser based testing
2022-12-08 13:01:35 +00:00
Sam Lord
249802d62b Added mailgun mock to allow publishing workflow to run
no issue
2022-12-08 13:01:35 +00:00
Naz
4c6a86eca4 Added mocked Mailgun client to browser test env
refs https://github.com/TryGhost/Ghost/pull/15959

- To be able to test and intercept emails we need a mock in test environment - avoids making calls to the Mailgun API
2022-12-08 13:01:35 +00:00
Sodbileg Gansukh
3d6753a54a Added create comped member test
refs https://github.com/TryGhost/Team/issues/2371

A member can be granted a comp in admin, that account should be able to access paid content.
2022-12-08 20:59:12 +08:00
Fabien "egg" O'Carroll
0f9ed54a6f Tested upgrading to a paid subscription from comped
refs https://github.com/TryGhost/Team/issues/2371

Note that the "Choose" button is "Continue" when running this test
standalone so currently it needs to run with the full suite.
2022-12-08 19:54:56 +07:00
Kevin Ansfield
88c8bf7dbc Added compedPlan option to createMember test util
refs https://github.com/TryGhost/Team/issues/2371

Usage:

```
await createTier(page, {name: 'Silver', monthlyPrice: 5, yearlyPrice: 50});
await createMember(page, {email: 'silver@example.com', compedPlan: 'Silver'});
```
2022-12-08 12:17:31 +00:00
Kevin Ansfield
1f22edb47c Removed errant page.pause() 2022-12-08 12:09:54 +00:00
Kevin Ansfield
4eeaca7ab8 Extracted openPostSettingsMenu and setPostVisibility test utils
refs https://github.com/TryGhost/Team/issues/2371

- extracting the re-used actions to utils allows tests to be self-descriptive rather than relying on comments and keeps the selectors and related actions in one place to help refactoring if/when they change
2022-12-08 12:02:22 +00:00
James Morris
e44f10bc5d Updated Playwright test: Sign up for paid plan via portal - single tier
refs https://github.com/TryGhost/Team/issues/2371

- Includes new data-test-* attributes
- Includes better checking of paid tier from member
2022-12-08 11:54:32 +00:00
Kevin Ansfield
9d434b8105 Removed errant page.pause() 2022-12-08 11:27:47 +00:00
Peter Zimon
8e9245bb91 Added archive offers test
refs. https://github.com/TryGhost/Team/issues/2371

- Test for archived offers should be moved to ‘Archived’ view of the offer list in Admin, and the offer URL should redirect to the site's homepage for logged out visitors
2022-12-08 12:21:52 +01:00
Rishabh
d04048718c Updated portal with data test attributes
refs https://github.com/TryGhost/Team/issues/2371

- bumps portal to latest that includes data test attributes for playwright testing
2022-12-08 16:28:22 +05:30
Rishabh
a71f096905 Released Portal v2.21.0 2022-12-08 16:26:17 +05:30
Rishabh
b3db2d38f7 Added data test attributes for Portal
refs https://github.com/TryGhost/Team/issues/2371

- adds data attributes to portal action buttons/inputs/switches for playwright tests
2022-12-08 16:25:29 +05:30
Kevin Ansfield
df72182e2d
Further attempt to fix update-published-post test in CI (#15964)
refs https://github.com/TryGhost/Team/issues/2371

- bumped timeout between saving and refreshing to account for slower
speeds in CI
- increased specificity for the frontend text comparisons so the output
when failing is smaller and easier to parse
2022-12-08 10:36:33 +00:00
James Morris
991b60a342 Added the Playwright test: Sign up for paid plan via portal - single tier 2022-12-08 10:23:35 +00:00
Simon Backx
c78a04f54c Increased Sentry maxValueLength to 1000
refs https://ghost.slack.com/archives/C02G9E68C/p1670342388977959

Sentry truncates important information in error messages (e.g. errors with long MySQL queries). Increasing maxValueLength should give us more information for those errors.

Sentry documentation: https://docs.sentry.io/platforms/javascript/configuration/options/#max-value-length
2022-12-08 11:15:52 +01:00
Simon Backx
641364876c Added Playwright test to unschedule a post
refs https://github.com/TryGhost/Team/issues/2371

- Schedule and unschedule a post
- Also includes some extra status checks
2022-12-08 11:13:54 +01:00
Rishabh
ae3d85d2c4 Added playwright test for paid member switching plans
refs https://github.com/TryGhost/Team/issues/2371

- tests that a paid member can switch between monthly and yearly plans after logging in
2022-12-08 15:35:41 +05:30
Rishabh
bc9b8a22f0 Added test data attributes to Portal for playwright tests
refs https://github.com/TryGhost/Team/issues/2371

- adds `data-test-*` attributes to portal across pages to allow easily capturing buttons/switches for playwright tests
2022-12-08 15:35:41 +05:30
Kevin Ansfield
7371addbc5 Another attempt to fix update-published-post test in CI
refs https://github.com/TryGhost/Team/issues/2371

- the 100ms timeout was enough for local tests to pass but was still failing on CI
- bumped to 200ms and skipped the creation of a new paragraph to reduce what the editor is doing
2022-12-08 09:59:20 +00:00
Kevin Ansfield
8ddf1f0215 Fixed update-published-post Playwright test
refs https://github.com/TryGhost/Team/issues/2371

- added timeout between clicking the editor and starting to type otherwise some of the typing events could be missed causing a mismatch in actual vs expected output
2022-12-08 09:39:05 +00:00
Ronald Langeveld
3e62764a64 Added csv validation, members export Playwright test
ref https://github.com/TryGhost/Team/issues/2371

- updated Member exports with csv validation
- added member fixtures to be loaded into Ghost to ensure filtering
  works correctly when downloading / exporting members csv.
2022-12-08 16:33:27 +07:00
Simon Backx
c1fc0d8888 Added Playwright test to schedule a Page
refs https://github.com/TryGhost/Team/issues/2371

Schedule a page and check if it is only published at the scheduled time.
2022-12-08 10:25:30 +01:00
Simon Backx
0dbc10a41a Added Playwright test for publishing a page
refs https://github.com/TryGhost/Team/issues/2371

Publish a page and verify that the page is published.
2022-12-08 10:24:35 +01:00
Naz
739bda9bb8
Fixed publishing type selectors in playwright
refs https://github.com/TryGhost/Team/issues/2371

- The "data-test-*" selectors in playwright did not work with publishing channel selectors. This is a quick hack to enable working around it
2022-12-08 14:38:59 +07:00
Ronald Langeveld
9a99b81ea4 Added Playwright test for filtered members export
ref https://github.com/TryGhost/Team/issues/2371

- Added test for exporting a set of filtered members
2022-12-08 13:20:29 +07:00
Fabien "egg" O'Carroll
69e080e9a0 Removed filtering in mega
This is no longer necessary as we unsubscribe members from newsletters when
their email is suppressed.
2022-12-08 13:02:36 +07:00
Fabien "egg" O'Carroll
939e3ce96f Fixed suppression list handling of spam complaint events
refs https://github.com/TryGhost/Team/issues/2351

We were storing all suppressions with a reason of bounced, rather than
spam for spam complaint events.
2022-12-08 13:02:36 +07:00
Fabien "egg" O'Carroll
5749a17910 Cleaned up EmailEventStorage tests
This ensures that services aren't required before boot, so that they are
initialised in the correct order.
2022-12-08 13:02:36 +07:00
Fabien "egg" O'Carroll
9736d942e1 Unsubscribed Members from newsletters when their email is suppressed
refs https://github.com/TryGhost/Team/issues/2367

This ensures that a Member is not considered subscribed to any emails, so that
counts for newsletter recipients are correct. Eventually we will filter members
on their email suppression status but this is not implemented yet.
2022-12-08 13:02:36 +07:00
Ronald Langeveld
7567997dbf Added Playwright test for member exports
ref https://github.com/TryGhost/Team/issues/2371

- Tests whether a CSV can be exported with all members
2022-12-08 12:27:41 +07:00
Sanne de Vries
0ebb3cbefe Added Playwright "Post visibility" tests
Refs https://github.com/TryGhost/Team/issues/2371

- Tests whether the post access selection of public, members, or paid-members matches the expected post visibility on the frontend.
2022-12-08 11:26:44 +07:00
Kevin Ansfield
460b031969 Added additional post setting changes to e2e published post update test
refs https://github.com/TryGhost/Team/issues/2371

- tests both the post body and settings in the PSM take effect when saving
2022-12-07 18:18:48 +00:00
Rishabh
e24a67b882 Fixed member upgrade portal playwright test
refs b6db85a5d6

- portal upgrade test used duplicate email which caused the member creation to fail
- also updates the tier selection for checkout
2022-12-07 22:45:12 +05:30
Simon Backx
b615c9f7d2
Added post scheduling Playwright test and loosened time restrictions (#15960)
refs https://github.com/TryGhost/Team/issues/2371

- Adds a test that schedules a post 5 seconds in the future and waits
for it to be published
- Reduced the time restrictions for scheduling: 
    - The minimum time in the frontend is now 5 seconds in the future (came
from 5 minutes in the future)
    - The time picker now suggests 10 minutes in the future instead of the
minimum scheduling time (came from 5 minutes)
    - In the backend, a post will be allowed to be scheduled if it is at
least 2 minutes in the past (came from 2 minutes in the future)
    - The scheduler will publish a post if it is at least 5 minutes in the
past, and maximum 5 minutes in the future (came from 2 minutes)
2022-12-07 17:29:36 +01:00
Djordje Vlaisavljevic
2464d45b4a Added playwright test for creating additional tier
refs TryGhost/Team#2371

- Tests that an additional tier can be created and that it'll appear in portal settings unselected by default
2022-12-07 17:26:11 +01:00
Rishabh Garg
b6db85a5d6
Added playwright test for free member upgrade via portal (#15961)
refs https://github.com/TryGhost/Team/issues/2371

- tests that a free member can upgrade to a paid tier via stripe checkout and the payment details are reflected in portal and member detail page on admin
2022-12-07 21:41:55 +05:30
Fabien "egg" O'Carroll
80b766047e Added defaults for monthly and yearly price
refs https://github.com/TryGhost/Team/issues/2362

Rather than throwing when we encounter a Tier price of 0, we can instead default
to the standard yearly and monthly price.
2022-12-07 22:02:37 +07:00
Hannah Wolfe
205664f75f
Updated Playwright createTier util to be repeatable
- we have to close the premium tier list after creating a tier, else we can't create another one
2022-12-07 14:32:26 +00:00
Kevin Ansfield
3bd9e2ecfe
Added Playwright "Update published post" test (#15958)
refs https://github.com/TryGhost/Team/issues/2371

- tests modifying the content of a published post
- extracted publish flow into a `publishPost` function that returns a new browser page object with the newly created post loaded
2022-12-07 14:13:23 +00:00
Ronald Langeveld
5bd82bc6d7 Added Playwright test for Member Impersonation
ref https://github.com/TryGhost/Team/issues/2371

- tests whether an impersonation link gets generated as well as whether
  the link authenticates the user on a new page.
2022-12-07 19:26:23 +07:00