Commit Graph

3848 Commits

Author SHA1 Message Date
Naz
e5172facd6 🐛 Fixed false positive fatal error for {{tiers}}
closes https://github.com/TryGhost/Ghost/issues/14452

- When {{tiers}} helper was used with parameters in a Ghost theme, for example statement like this:  `{{tiers prefix="Access with:"}}`, the theme did not pass the gscan check and threw a false positive fatal error. {{tiers}} is fully valid and documented helper that should work in current version of Ghost
2022-04-11 17:19:47 +08:00
Renovate Bot
16437965f9 Update dependency grunt to v1.5.0 2022-04-11 06:40:53 +01:00
Renovate Bot
5e07160251 Update dependency nconf to v0.11.4 2022-04-11 06:40:21 +01:00
Renovate Bot
176a9679da
Update dependency eslint to v8.13.0 2022-04-08 23:55:41 +00:00
Renovate Bot
3a9d5392a2
Update metascraper to v5.29.1 2022-04-08 16:54:50 +00:00
Daniel Lockyer
9b835f5823 v4.43.0 2022-04-08 16:00:32 +01:00
Daniel Lockyer
a26056d796
Updated all @tryghost packages
- these packages have only had small dependency or non-code updates so
  they can all be merged together
2022-04-08 13:48:31 +01:00
Naz
4959dd83b8 Added 406 errors when Accept-Version header is missmatched
refs https://github.com/TryGhost/Toolbox/issues/280

- This change covers two use cases:
  -  The accept-version > current version + the request cannot be served: ERROR CASE 1
    - The accept-version < current version + the request cannot be served: ERROR CASE 2
- Along with 406 status there's additional information about the probable cause and action to be taken by the Ghost site owner or an integration talking to the Ghost API.
- These errors is designed to allow introducing breaking API changes gradually and have meaningful information when the requests cannot be server any longer
2022-04-08 20:41:54 +12:00
Renovate Bot
31b308d475
Update dependency @sentry/node to v6.19.6 2022-04-07 14:24:40 +00:00
Fabien "egg" O'Carroll
7b0fbe955c Updated subscription handling to lock db rows
refs https://github.com/TryGhost/Team/issues/1248
refs https://github.com/TryGhost/Team/issues/1302
refs https://github.com/TryGhost/Ghost/pull/14433

This fixes multiple problems we've had with handling stripe webhooks where
linking the same subscription concurrently was not locking the database row, we
would have the same operation attempted multiple times, in the case of creating
subscriptions this causes unique constraint errors, and in the case of creating
cancellation events, it was causing multiple cancellation events to be created.
2022-04-07 15:20:08 +01:00
Rishabh Garg
90e7887007
Added default newsletter subscription for new members (#14431)
refs https://github.com/TryGhost/Team/issues/1469

Currently, all new members get auto subscribed to the default newsletter. This change adds same behavior with multiple newsletters by auto subscribing all available newsletters on site for new members(If flag is enabled). 
Note: In future, this will also take into consideration the `subscribe_on_signup` flag for a newsletter to filter which newsletters should a member be auto-subscribed.

- adds newsletters service for working with newsletter data
- bumps `@tryghost/members-api` package which handles default subscription
- adds new test fixture/data for newsletters
2022-04-07 08:30:00 +05:30
Renovate Bot
7b01bd0209
Update dependency semver to v7.3.6 2022-04-06 19:42:18 +00:00
Renovate Bot
7926ce56b4 Update metascraper to v5.29.0 2022-04-06 19:41:08 +00:00
Renovate Bot
3d40952632
Update dependency @sentry/node to v6.19.4 2022-04-05 20:49:48 +00:00
Renovate Bot
861d1d1d5f Update dependency knex-migrator to v4.2.6 2022-04-05 21:48:39 +01:00
Rishabh
cc7c51e140 Handled newsletter data for member api
refs https://github.com/TryGhost/Team/issues/1469

- Added newsletter data handling to member BREAD service
- Allowed updating newsletter data for a member
2022-04-05 22:23:39 +05:30
Rishabh
437d6830aa Added newsletter object to members admin api schema
refs https://github.com/TryGhost/Team/issues/1469
2022-04-05 22:23:39 +05:30
Naz
33ad7c2740 Cleaned up output errors during tests
refs 2fa3985d42

- Running tests with error logging set to "error" lever, produced a massive amounts of errors related to failed Stripe keys. Making it hard to look through the output.
- When Ghost is running in teste environment by default it is configured with an invalid Stripe key that looks like `sk_test***`. In this case the Members migrations runs creating requiest to Stripe, which fail.
2022-04-05 18:17:47 +08:00
renovate[bot]
ee0b24f154
Update dependency @tryghost/mw-error-handler to v0.1.8 (#14423)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-05 10:19:57 +01:00
renovate[bot]
777863f728
Update dependency @tryghost/errors to v1.2.8 (#14418)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-05 09:50:21 +01:00
Renovate Bot
d41d4699a8 Update dependency knex to v1.0.5 2022-04-05 04:49:10 +00:00
Renovate Bot
8ee67c3d91
Update dependency body-parser to v1.20.0 2022-04-04 13:19:42 +00:00
Daniel Lockyer
08701aa7a8
Merged v4.42.1 into main
v4.42.1
2022-04-04 10:40:50 +01:00
Daniel Lockyer
28bc0530d6 v4.42.1 2022-04-04 10:39:50 +01:00
Renovate Bot
a2ad2a668e Update dependency cssnano to v5.1.7 2022-04-04 08:10:47 +01:00
Renovate Bot
8eb903e2b9 Update dependency @playwright/test to v1.20.2 2022-04-04 08:10:39 +01:00
Daniel Lockyer
2fdf8fd4b6 v4.42.0 2022-04-01 16:00:41 +01:00
Daniel Lockyer
ef54e4d8b3
Updated all internal packages
- these packages have had minor dependency bumps but we've been force to
  publish them because of Lerna
- this commit updates all pending TryGhost packages ahead of release
2022-04-01 14:57:04 +01:00
Renovate Bot
5129313e31 Update dependency cssnano to v5.1.6 2022-04-01 14:52:08 +01:00
Daniel Lockyer
69b6ba7a68
Fixed symlinked themes missing from list
refs 9f695dc254

- see the referenced commit for context but this resolves symlinked
  themes missing from the list due to a bug in my refactor of
  `@tryghost/package-json`
- the original bump wasn't released yet so this doesn't need to be an emoji
  commit
2022-04-01 14:17:41 +01:00
Naz
7449490a54 Bumped gscan error levels for future version of themes
refs https://github.com/TryGhost/Toolbox/issues/241

 - The changes bring new fatal errors that will become visible with Ghost v5. These are errors with codes: GS001-DEPR-ESC and GS001-DEPR-CURR-SYM.
 - There should be no visible change during theme activation for existing Ghsot version
2022-04-01 18:22:08 +08:00
renovate[bot]
62b5a85830
Update dependency @tryghost/kg-mobiledoc-html-renderer to v5.3.5 (#14400)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 10:43:02 +01:00
renovate[bot]
47c44eb1c1
Update dependency @tryghost/kg-default-atoms to v3.1.2 (#14397)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 10:42:51 +01:00
renovate[bot]
bb52012758
Update dependency @tryghost/kg-markdown-html-renderer to v5.1.5 (#14399)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 09:25:35 +01:00
renovate[bot]
5aa8fbb122
Update dependency @tryghost/kg-card-factory to v3.1.3 (#14396)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 09:24:53 +01:00
renovate[bot]
d1c0b87d5b
Fixed unquoted src and href attributes in product cards leading to missing __GHOST_URL__ transforms (#14398)
closes https://github.com/TryGhost/Ghost/issues/14344

- Update dependency @tryghost/kg-default-cards to v5.16.2
- contains fix for unquoted `src` and `href` attributes in product cards that are not handled by our URL transform functions

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-01 09:23:40 +01:00
Hannah Wolfe
c222d1f64e
Added expectEmptyBody assertions to e2e framework
- Updated express-test to latest version with new expectEmptyBody assertion
- Updated all the tests that used matchBodySnapshot for an empty body to use expectEmptyBody instead
- Updated all the snapshots that were affected manually, and verified running the tests works as expected
2022-03-31 18:56:05 +01:00
Naz
bf7d141407 🐛 Fixed __GHOST_URL__ tranformations in video cards
refs https://github.com/TryGhost/Ghost/issues/14344

- The video card containing thumbnail images did not pick up url tranformations (aka __GHOSt_URL__) needed to keep urls compatible across Ghost instancess.
- There's also a similar problem with product cards that will get a separate fix
2022-03-31 19:33:26 +08:00
Naz
a6535cf0ab 🐛 Fixed broken links in some of theme errors
refs https://github.com/TryGhost/gscan/issues/178

 - When a theme with errors or warnings was uploaded the details of the error sometimes contained a broken link leading to a 404. For example, a warning that was visible when use of {{currency_symbol}} was linking to an unexisting page.
 - Along with the version bump there are some performance optimizations and new fatal errors for Ghost's v5 theme checks
2022-03-31 18:46:11 +08:00
Renovate Bot
ef5d2b27ae
Update dependency node-jose to v2.1.1 2022-03-30 21:57:56 +00:00
Renovate Bot
b5d8c0c375
Update dependency metascraper-logo-favicon to v5.28.5 2022-03-30 10:35:01 +00:00
Daniel Lockyer
86680cb207 Updated knex dependency
refs https://github.com/TryGhost/Toolbox/issues/213

- our `knex` dependency has been out of date for a while so my aim was
  to bring it up to date
- this required also switching `sqlite3` to `@vscode/sqlite3` because
  knex switched the default sqlite driver
- this commit also bumps knex-migrator and switches to a mock-knex fork
  until Knex 1.0 support has been merged
- also updates an error message to handle a new code in SQLite
2022-03-30 08:47:57 +01:00
Renovate Bot
374defc9d6
Update dependency @sentry/node to v6.19.3 2022-03-30 03:05:17 +00:00
Naz
de4044884b Added {{products}} deprecation warning
refs https://github.com/TryGhost/Toolbox/issues/226
refs https://github.com/TryGhost/gscan/issues/179

- The bump added multiple new theme deprecation warning and removed one outdated notice.
- Added a theme warning for use of {{products}}, {{@product}}, and {{@products}} helpers
- Removed an outdated notice for use of {{id}} helper
2022-03-29 14:32:15 +08:00
Renovate Bot
8492f65578 Update dependency @tryghost/zip to v1.1.22 2022-03-28 18:38:42 +01:00
Renovate Bot
5d79f86460 Update dependency @tryghost/database-info to v0.3.0 2022-03-28 18:38:31 +01:00
Renovate Bot
2ca452f4b0 Update dependency @tryghost/image-transform to v1.0.29 2022-03-28 16:28:18 +01:00
Renovate Bot
9089abcc5c Update dependency @tryghost/package-json to v1.0.17 2022-03-28 16:27:54 +01:00
Renovate Bot
8b0676d9ff
Update metascraper 2022-03-28 00:57:30 +00:00
Renovate Bot
73322e218d
Update dependency eslint to v8.12.0 2022-03-25 23:38:56 +00:00
Daniel Lockyer
dd174bf3f5 v4.41.3 2022-03-25 16:00:32 +00:00
Renovate Bot
6340fbf408
Update dependency metascraper-logo-favicon to v5.27.2 2022-03-24 23:46:14 +00:00
Renovate Bot
b19878144e
Update metascraper to v5.27.1 2022-03-24 19:54:42 +00:00
Renovate Bot
a6edd37721 Update dependency cookie-session to v2 2022-03-24 12:56:56 +00:00
Renovate Bot
1c22710a43 Update dependency @tryghost/members-events-service to v0.3.2 2022-03-24 12:28:15 +00:00
Renovate Bot
4eb2ebb1a9 Update dependency @tryghost/member-events to v0.4.1 2022-03-24 12:27:07 +00:00
Renovate Bot
708d26a1a4 Update dependency @tryghost/members-ssr to v1.0.23 2022-03-24 12:26:24 +00:00
Renovate Bot
9f69bcbca9 Update dependency grunt-shell to v4 2022-03-24 12:14:29 +00:00
Daniel Lockyer
173a81dab6 Updated internal packages v2
- these packages are owned by us but these bumps don't contain
  any code changes - usually just dependency bumps
- this commit bumps all those packages
2022-03-24 12:03:12 +00:00
Daniel Lockyer
d5d0bcb3f5
Updated internal packages
- these packages are owned by us but these bumps don't contain any code
  changes - usually just dependency bumps
- this commit bumps all those packages
2022-03-24 10:14:27 +00:00
Renovate Bot
d5942943a5 Update dependency @tryghost/validator to v0.1.17 2022-03-24 08:51:10 +00:00
Renovate Bot
bfbc829c09 Update dependency @playwright/test to v1.20.1 2022-03-24 07:54:46 +00:00
Naz
7d03194e55 Added detection of "ghost-api" use in theme config
refs https://github.com/TryGhost/Toolbox/issues/241

- The `engines.ghost-api` property has been deprecated and the support for it will be dropped in Ghost v5 due to versionless nature of the Content API.
- When uploading a new theme or activating existing one that uses ghost-api in it's config a warning will be shown to the user
2022-03-24 15:27:40 +13:00
Renovate Bot
fb41cfa335
Update dependency @sentry/node to v6.19.2 2022-03-23 20:26:41 +00:00
Rishabh
6978892c57 Merged v4.41.2 into main
v4.41.2
2022-03-23 21:08:06 +05:30
Daniel Lockyer
974fb050cf v4.41.2 2022-03-23 15:06:02 +00:00
Thibaut Patel
0ddd10fad0 🐛 Fixed two issues with offers
refs https://github.com/TryGhost/Team/issues/1437

- The discount was no longer showing up on the account page when the member had an active discount.
- The redemption counter on the offers page was not incrementing.
- The root cause was that messages sent on the internal bus were not reaching the internal bus listener, due to the unexpected duplication of the internal bus.
2022-03-23 19:40:44 +05:30
Thibaut Patel
bc05998662 🐛 Fixed two issues with offers
refs https://github.com/TryGhost/Team/issues/1437

- The discount was no longer showing up on the account page when the member had an active discount.
- The redemption counter on the offers page was not incrementing.
- The root cause was that messages sent on the internal bus were not reaching the internal bus listener, due to the unexpected duplication of the internal bus.
2022-03-23 11:53:16 +01:00
Rishabh
4acdd0de7c Merged v4.41.1 into main
v4.41.1
2022-03-23 14:10:20 +05:30
Daniel Lockyer
60af28269c v4.41.1 2022-03-23 08:24:59 +00:00
Sam Lord
de3a45a805
Fixed theme error handler (#14363)
no issue

Prevents errors from being uploaded to Sentry when a 404 happens in Ghost Admin. At the moment, 404s in Ghost Admin create an ENOENT error in express' static library. Our generic 404 handler at the end will only intercept requests that don't have any errors in the context, so a simple middleware can strip out 404 errors just before we add in our own.

The Ghost-specific error that we attach to requests does not get uploaded to Sentry :)
2022-03-22 15:32:55 +00:00
Naz
f3f4501552 Added aliases to update test snapshots
closes https://github.com/TryGhost/Toolbox/issues/248

- When using the framework it was laways confusing to remember which variable would trigger the snapshot updates. Having aliases to most common "typos" makes the DX way better.
- List of updated variables triggering all snapshot updates:

SNAPSHOT_UPDATE
UPDATE_SNAPSHOT
SNAPSHOTS_UPDATE
UPDATE_SNAPSHOTS

- Additionally this bump automatically fixes missing trailing slashes in URLs used in tests
2022-03-22 17:47:14 +08:00
Naz
3c9531452c Reverted "Added detection of "ghost-api" use in theme config"
This reverts commit 4c19f38c74.
2022-03-22 16:18:17 +08:00
Renovate Bot
a10c89ff94 Update dependency cssnano to v5.1.5 2022-03-22 07:41:14 +00:00
Naz
4c19f38c74 Added detection of "ghost-api" use in theme config
refs https://github.com/TryGhost/Toolbox/issues/241

- The `engines.ghost-api` property has been deprecated and the support for it will be dropped in Ghost v5 due to versionless nature of the Content API.
- When uploading a new theme or activating existing one that uses ghost-api in it's config a warning will be shown to the user
2022-03-22 14:05:34 +08:00
Renovate Bot
955f1e8a2e
Update dependency @sentry/node to v6.19.1 2022-03-21 21:04:26 +00:00
Daniel Lockyer
abfc6a17b8 v4.41.0 2022-03-21 11:38:12 +00:00
Renovate Bot
30f73b73fe Update dependency papaparse to v5.3.2 2022-03-21 09:51:56 +00:00
Renovate Bot
d34c8f77df Update dependency @playwright/test to v1.20.0 2022-03-21 09:16:50 +00:00
Renovate Bot
47741e5b58 Update CSS preprocessors 2022-03-21 08:36:33 +00:00
Daniel Lockyer
70788b86a0 v4.40.0 2022-03-18 16:00:40 +00:00
Simon Backx
d9f103ddac
Updated @tryghost/members-api to 5.4.0 (#14338) 2022-03-18 16:52:56 +01:00
Thibaut Patel
b4ea309893
Added the MemberCancelEvent model to MembersApi (#14313)
refs https://github.com/TryGhost/Team/issues/1302

- Added the `MemberCancelEvent` model to MembersApi
- Triggered when a subscription is canceled by an admin or by the member
- Updated shared dependencies

Co-authored-by: Simon Backx <simon@ghost.org>
2022-03-18 14:25:35 +01:00
Renovate Bot
f20b31dbe9
Update dependency knex-migrator to v4.2.3 2022-03-17 22:52:36 +00:00
Hannah Wolfe
2cc2d114f4
Revert "Added global setup to reset DB before test run"
This reverts commit d50fb7c922.
2022-03-16 21:10:49 +00:00
Hannah Wolfe
d50fb7c922
Added global setup to reset DB before test run
- We've been seeing weird errors with tables not existing when running tests locally
- This appears to happen after an error causes the tests to abort
- This change includes two fixes:
1. we triggers a full DB reset just before the entire test suite runs
 - this is done by wrapping the override file for tests that use a db, and supplying a mochaGlobalSetup hook
2. catch errors when attempting to do a fast truncation-based reset & init, and do a full reset & init instead

- These two changes should ensure the DB is always in the state we expect when running a new test suite
2022-03-16 20:56:17 +00:00
Matt Hanley
e630967c7a Merged v4.39.1 into main
v4.39.1
2022-03-16 14:55:32 +00:00
Daniel Lockyer
4d3815e9f0 v4.39.1 2022-03-16 14:47:02 +00:00
Rishabh
ee87c7f995 Added description and type property for tiers admin api schema
Tiers admin api schema was missing description and type properties. `type` is stripped as we only allow editing `paid` tiers at the moment and it's not allowed to change the type of a tier via API.
2022-03-15 19:02:44 +05:30
Renovate Bot
40bdc3a275
Update metascraper to v5.26.0 2022-03-14 04:03:46 +00:00
Renovate Bot
2136bb632f
Update dependency bson-objectid to v2.0.3 2022-03-14 01:38:03 +00:00
Renovate Bot
3f645e8e26
Update Test & linting packages 2022-03-11 23:34:53 +00:00
Thibaut Patel
49d393c88f Added the product name to member subscriptions
refs https://github.com/TryGhost/Team/issues/1141 da6a43bfcf

- Adds the `member.subscriptions.price.product.name` property to the member read endpoint
2022-03-11 17:36:47 +01:00
Daniel Lockyer
3db963c540 v4.39.0 2022-03-11 16:00:28 +00:00
Renovate Bot
51245c4483 Update dependency cssnano to v5.1.2 2022-03-11 14:16:39 +00:00
Sam Lord
1025be91d8 Improved error display in Sentry for theme responses
refs: https://github.com/TryGhost/Team/issues/1369

Change already made for JSON responses in @tryghost/mw-error-handler, but this change also fixes the order of operations for displaying theme errors.
2022-03-11 10:59:03 +00:00
Renovate Bot
4b540ecb01 Update dependency @tryghost/validator to v0.1.15 2022-03-10 12:30:45 +00:00
Fabien "egg" O'Carroll
d8295da817 Renamed Stripe Products from "Default Product"
refs https://github.com/TryGhost/Team/issues/1289

Due to a bug in site setup some Tiers were named "Default Product" and
so the corresponding Stripe Product was also named this. This adds a
Stripe migration to rename any Stripe Products from "Default Product" to
the site title.
2022-03-10 11:35:03 +00:00
Renovate Bot
3bcb442811 Update dependency @tryghost/request to v0.1.17 2022-03-10 09:23:47 +00:00
Renovate Bot
002dbf428d Update dependency @tryghost/errors to v1.2.4 2022-03-10 09:23:35 +00:00
Renovate Bot
2c2bb13e2a Update dependency @tryghost/express-test to v0.6.1 2022-03-10 09:23:13 +00:00
Renovate Bot
169fa83781
Update dependency probe-image-size to v7.2.3 2022-03-09 20:44:38 +00:00
Renovate Bot
1825f408a5 Update dependency @tryghost/nodemailer to v0.3.14 2022-03-09 20:35:39 +00:00
Renovate Bot
5687fb9213 Update dependency probe-image-size to v7 2022-03-09 20:27:38 +00:00
Kevin Ansfield
51e04c75ad
Added "contains" operator support to ?filter= query params (#14286)
refs https://github.com/TryGhost/Team/issues/1408

- switched from `@nexes/nql` to `@tryghost/nql` and bumped `@tryghost/bookshelf-plugins` to get access to the latest NQL version across the app
- adds "contains" operator support
  - `:~'string'` - contains
  - `:-~'string'` - does not contain
  - `:~^'string'` - starts with
  - `:-~^'string'` - does not start with
  - `:~$'string'` - ends with
  - `:-~$'string'` - does not end with
- enables `'` escaping in strings, eg `'O\'Nolan'`
2022-03-09 13:02:17 +00:00
Daniel Lockyer
6a25a0e0dd
Merged v4.38.1 into main
v4.38.1
2022-03-09 09:02:46 +00:00
Daniel Lockyer
11d028935f v4.38.1 2022-03-09 09:00:00 +00:00
Renovate Bot
773045cd5c Update dependency @tryghost/url-utils to v2.0.8 2022-03-09 07:43:15 +00:00
Renovate Bot
f08750e722 Update dependency cssnano to v5.1.1 2022-03-09 07:42:08 +00:00
Renovate Bot
cb42b0432f
Update dependency @sentry/node to v6.18.2 2022-03-08 14:53:17 +00:00
Renovate Bot
bca0e4ba05
Update dependency bookshelf-relations to v2.4.0 2022-03-07 20:53:10 +00:00
renovate[bot]
cbef892dc6
Fixed default value for Tier visibility (#14274)
refs https://github.com/TryGhost/Team/issues/1387

This fixes the Tier visibility property in the members-api so we do not
attempt to set it to a boolean.
2022-03-07 15:30:13 +00:00
Renovate Bot
e1920eba0c Update dependency @tryghost/color-utils to v0.1.10 2022-03-07 15:27:10 +00:00
Renovate Bot
8b32f2cf9c Update dependency @tryghost/helpers to v1.1.59 2022-03-07 15:27:00 +00:00
Fabien 'egg' O'Carroll
fa1165de6a
Support tier visibility editing Allowed Tiers Admin API to set visibility
refs https://github.com/TryGhost/Team/issues/1387

This will allow us to move from the portal_products and portal_plans
settings to using the visibility property on tiers to determine whether
or not a tier should be visible in Portal.

This also fixes a bug with the Tiers Admin API read method permissions.
2022-03-07 14:46:42 +00:00
Daniel Lockyer
a7074592c8 Configured CI to only calculate coverage for recommended Node version
- we seem to be getting some odd numbers when running c8 on Node 12, and
  it's causing our CI checks to fail
- even when we're adding tests, the coverage value goes down
- this is disrupting the team from shipping, so we need to change that
- this commit alters the setup to run unit tests w/ c8 for Node 16 unit
  tests, and without c8 for other versions
- `yarn test:unit` is kept the same for everyday use
2022-03-07 13:45:33 +00:00
Renovate Bot
390e1cac50 Update dependency postcss to v8.4.8 2022-03-07 11:18:03 +00:00
Daniel Lockyer
d47651b029 v4.38.0 2022-03-04 16:00:27 +00:00
Daniel Lockyer
34a8307217 Updated all @tryghost dependencies
- I recently went across every repo and made sure our c8 config was
  correct, but this resulted in us having to publish patch versions of a
  bunch of packages
- given these don't contain any code changes, we can just bump them all
  at once
2022-03-03 14:52:48 +01:00
renovate[bot]
5fbfdf011e
Update dependency @tryghost/members-stripe-service to v0.8.4 (#14235)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 12:18:21 +02:00
renovate[bot]
079d9ad825
Update dependency @tryghost/members-offers to v0.10.8 (#14233)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 11:51:43 +02:00
Daniel Lockyer
bf6f607f42 Switched to mysql2 library
refs https://github.com/TryGhost/Toolbox/issues/174

- this commit switches Ghost from using the `mysql` library to the
  `mysql2` one
- we've done this for several reasons:
  - `mysql2` is more actively maintained
  - `mysql2` natively supports the default auth plugin on MySQL 8
  - `mysql2` is fasterrrr
- there have been various other commits refactoring the groundwork for
  this commit but this commit should be short and sweet:
  - alias `mysql` to `mysql2` client so we maintain backwards
    compatibility with all configs who use `"client": "mysql"`
  - enabled `decimalNumbers` so we maintain the same functionality as
    `mysql`
  - replaced the dependencies and updated `knex-migrator`
  - hardcoded the newer authentication plugin in MySQL 8 CI. Before
    switching to `mysql2`, this would break because it didn't support
    this
2022-03-03 09:59:37 +01:00
renovate[bot]
700065372f
Update dependency @tryghost/members-importer to v0.5.3 (#14232)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 16:31:48 +02:00
Daniel Lockyer
d0e71524ca Switched to util for retrieving DB info in migrations
refs https://github.com/TryGhost/Toolbox/issues/174

- right now, our migrations manually check the client of the knex
  instance to see whether we're running on MySQL or SQLite
- that's been working fine, but the problem is that we're due to switch
  to the mysql2 driver soon, so all these checks will be faulty
- i've altered the functionality of `@tryghost/database-info` to accept
  a knex instance, and it'll return if the DB is MySQL or SQLite in some
  helper functions
- this commit bumps the package and switches to that format
- originally I used a shared instance of the class within
  `@tryghost/database-info` but there's a chance that the knex instance
  inside migrations actually comes from knex-migrator, and not Ghost, so
  that wouldn't work
2022-03-02 15:05:55 +01:00
Thibaut Patel
527ef79955 Added the last_seen_at update on member page view
refs https://github.com/TryGhost/Team/issues/1306

- This adds a `MemberPageViewEvent` event when a page is viewed by a member (post/page/tag/author/...)
- Integrates the `LastSeenAtUpdater` service that listens to the `MemberPageViewEvent` events to update `member.last_seen_at`
- Follows the latest testing recommendation (end to end test + testing for side-effects)
2022-03-02 13:58:26 +01:00
Thibaut Patel
73a049c942 Added the last_seen_at update on email open
refs https://github.com/TryGhost/Team/issues/1306

- Updates once every day (in the publication timezone)
- Also updates when the value is `NULL`
- This is implemented as a SQL query as the code is on the job and doesn't have visibility to the members code
2022-03-02 13:58:26 +01:00
renovate[bot]
fbb23f4e66
Update dependency @tryghost/members-ssr to v1.0.22 (#14234)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 11:33:49 +02:00
renovate[bot]
457623dc8c
Update dependency @tryghost/members-api to v5.0.4 (#14231)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 11:33:30 +02:00
Renovate Bot
11ce137571 Update dependency cssnano to v5.1.0 2022-03-02 08:06:14 +01:00
Renovate Bot
a17ef130f9 Update dependency @tryghost/validator to v0.1.14 2022-03-01 08:32:27 +01:00
Renovate Bot
54f8f46194 Update dependency @tryghost/root-utils to v0.3.11 2022-03-01 08:32:13 +01:00
Renovate Bot
8e48991e7d Update dependency @playwright/test to v1.19.2 2022-03-01 08:31:33 +01:00
Renovate Bot
b803aa1d8c Update dependency postcss to v8.4.7 2022-03-01 08:31:21 +01:00
Renovate Bot
121e76b0d5
Update dependency @sentry/node to v6.18.1 2022-02-28 17:54:56 +00:00
Renovate Bot
f9fccc43a2 Update dependency eslint to v8.10.0 2022-02-28 12:28:44 +00:00
Daniel Lockyer
6025cb8502 v4.37.0 2022-02-25 16:00:27 +00:00
Renovate Bot
d5400a5538
Update dependency @sentry/node to v6.18.0 2022-02-24 17:35:57 +00:00
Hannah Wolfe
3bd8e01495 Pinned coverage to current levels to prevent drops
- Updating our config to have `--check-coverage` enforces that the coverage meets a certain level.
- The default is 95 I believe, but our coverage is lower.
- I've set the levels to our current levels, so any drop below these numbers will cause the build to fail.
- I've also set the reporters to be text, html and cobertura so we always have a mini report, the full HTML files to navigate and cobertura for CI
- Cleaned up CI so we don't use the cov:unit command as we're now using codecov
- This also means we can remove the cov:unit command which was weird to use because it uses the last test run, which can be confusing
2022-02-24 09:56:06 +00:00
Renovate Bot
6d648487fc
Update dependency luxon to v2.3.1 2022-02-23 20:51:21 +00:00
Fabien 'egg' O'Carroll
694721cbea
Added /tiers API to Admin API (#14200)
refs https://github.com/TryGhost/Team/issues/1313

Rather than removing the /products API we're adding a /tiers API as
a first step towards renaming "products" to "tiers". The initial idea was
to alias the URL's but out API framework doesn't easily allow for this so
we've duplicated it instead.
2022-02-23 17:00:18 +02:00
Renovate Bot
3c3ead8648
Update dependency fs-extra to v10.0.1 2022-02-22 19:57:01 +00:00
Renovate Bot
af1d1abd1d Update dependency @tryghost/logging to v2.0.4 2022-02-22 12:24:23 +01:00
Renovate Bot
688c353030 Update dependency @tryghost/nodemailer to v0.3.13 2022-02-22 12:20:40 +01:00
Renovate Bot
a0d248d18e Update dependency @tryghost/debug to v0.1.13 2022-02-22 12:20:27 +01:00
Renovate Bot
0ca6318f20 Update dependency @tryghost/errors to v1.2.3 2022-02-22 12:20:16 +01:00
Renovate Bot
d88770cc32 Update dependency @tryghost/tpl to v0.1.12 2022-02-22 12:19:20 +01:00
Renovate Bot
0e7eb4acd9 Update dependency @tryghost/version to v0.1.11 2022-02-22 12:17:30 +01:00
Kevin Ansfield
00195b5bc4 Merged v4.36.3 into main 2022-02-22 10:28:55 +00:00
Daniel Lockyer
8b8144a3b8 v4.36.3 2022-02-22 10:25:09 +00:00
Naz
fd0a3e80ae Removed @tryghost/jest-snapshot dependency
refs https://github.com/TryGhost/Toolbox/issues/215

- Ghost tests had difficulty running sometimes when the versions for jest-snapshot package did not match in Ghost and @tryghost/express-test
- This is the error that was showing up: `IncorrectUsageError: Unable to run snapshot tests, current test was not configured`
- The reason why snapshot tests were misconfigured was multiple instances of SnapshotManager, which broke the singleton pattern
- Having jest-snapshot embeded within express-test makes sure the versions stay the same across the clients
- The version bump also introduces passing "queryParams" parameter into the Agent constructor - enables configuring query parameters that would appear in each agent's request. Example usecase - Content API authentication parameter "key" would be nice to "remember" and add to every request URL
2022-02-22 09:41:58 +07:00
Renovate Bot
63762afc49
Update dependency express-jwt to v6.1.1 2022-02-21 17:23:30 +00:00
Renovate Bot
b19bb35aca Update dependency mocha to v9.2.1 2022-02-21 12:53:22 +00:00
Hannah Wolfe
5bf12939e4
Updated eslint-plugin-ghost & fixed resulting failures
- I recently added a bunch of strict rules to our eslint plugin around returns: ca9af37866
- These mostly are issues that occur whilst writing code, that you spot and fix as you're developing, but they're annoying to notice/find and eslint can be used to flag them quickly
- There are of course, edge cases where you don't need to return from array fns, but this rule also suggests better patterns might be available
- For our excert helper and new assertEvent helper, I've updated the code to use simpler patterns that are easier to read, so as to avoid the warnings
- For our old API I've simply disabled the rule as we're about to delete this code
2022-02-21 12:30:12 +00:00
Daniel Lockyer
0ccbfea8fc v4.36.2 2022-02-18 16:00:29 +00:00
Renovate Bot
34fbed10bd Update dependency @tryghost/validator to v0.1.13 2022-02-18 14:33:31 +01:00
Renovate Bot
72fe844396 Update dependency @tryghost/nodemailer to v0.3.12 2022-02-18 14:28:29 +01:00
Renovate Bot
0a84bae1b8 Update dependency @tryghost/errors to v1.2.2 2022-02-18 14:13:57 +01:00
Naz
32884fa412 🐛 Fixed StripeAPI disconnection
refs https://github.com/TryGhost/Toolbox/issues/214

- After calling `DELETE /settings/stripe/connect/` Admin API endpoint, stripe did not fully disconnect causing other Member API endpoints to behave as if Stripe was still configured
2022-02-18 16:30:50 +07:00
Renovate Bot
c8105ea08f Update dependency @tryghost/html-to-mobiledoc to v1.8.5 2022-02-18 09:23:55 +01:00
Renovate Bot
39ab0baa82 Update dependency @tryghost/magic-link to v1.0.19 2022-02-18 09:21:38 +01:00
Renovate Bot
15572127fa Update dependency @tryghost/request to v0.1.15 2022-02-18 09:15:04 +01:00
Renovate Bot
2e7885f3a9 Update dependency @tryghost/bookshelf-plugins to v0.3.9 2022-02-18 09:14:51 +01:00
renovate[bot]
b807f12c44
Update dependency @tryghost/members-importer to v0.5.2 (#14169)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 18:18:02 +02:00
renovate[bot]
6a5e7f6ccb
Update dependency @tryghost/members-ssr to v1.0.21 (#14170)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 15:38:08 +02:00
renovate[bot]
fc0d679fa2
Update dependency @tryghost/members-api to v5.0.2 (#14168)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 15:37:42 +02:00
Fabien 'egg' O'Carroll
daa39bf4fe
🐛 Fixed error handling webhooks for unknown member (#14155)
https://github.com/TryGhost/Team/issues/1374

When we receive a web hook to update payment details for a customer
which is not associated with a Member, instead of proceeding and erroring
we now return early and respond to Stripe with a 200. A test has been 
added to ensure this
2022-02-17 14:51:40 +02:00
Renovate Bot
d2081059de Update dependency @playwright/test to v1.19.1 2022-02-17 12:32:55 +01:00
Daniel Lockyer
1a0362f3db Added demo E2E browser test
refs https://github.com/TryGhost/Toolbox/issues/207

- we want to start writing some E2E tests that involve automated
  pointing and clicking around the frontend of Ghost to test that
  members of Ghost sites can still do what we expect
- we've decided to look in to Playwright for this - it looks __really__
  nice
- this is a VERY basic first test - it'll check for a 200 on the
  homepage of whatever we provide as the TEST_URL env variable, or
  default to a (manually-run) Ghost instance on port 2368
- also adds a `yarn test:browser` command to run the tests using the
  Playwright CLI, and a sample GitHub Action workflow which we can
  manually run with a site URL
- there's a lot more to add here in terms of test framework but this
  gets us started
2022-02-17 12:16:58 +01:00
Renovate Bot
9b4d61ef2e
Update dependency express to v4.17.3 2022-02-17 04:02:30 +00:00
Naz
f0bda014ab Fixed misconfigured SnapshotManager in e2e tests
refs https://github.com/TryGhost/Toolbox/issues/210

- After updating to the newest `@tryghost/express-test`, it's dependency `@tryghost/jest-snapshot` was missmatched with the one used in Ghost itself. This caused multiple instances of SnapshotManager class in the system, which is meant to be a singleton!
- The issue was causing following error to appear: "IncorrectUsageError: Unable to run snapshot tests, current test was not configured"
2022-02-17 11:01:15 +07:00
Naz
d79dab94f5 Changed test-framework assertion execution order
refs https://github.com/TryGhost/Toolbox/issues/210

- Having assertions executed in the declaration order using superagent has lead to many frustrating developer experiences. For example when status code assertion fails there was usually no additional context to investigate the failure further. In this situation having a "response body" assertion executed usually would give many more clues on the actual problem at hand.
- The order of the assertions has been changed from the order in which they were declared to the following one based on assertion type:
1. `exect`
2. `expectHeader`
3. `expectStatus`

- For more on this topic check the documentation: cfd6e88fe2/packages/express-test (assertion-execution-order)
2022-02-17 11:01:15 +07:00
Daniel Lockyer
08eaed152b Added yarn test:ci command
refs https://github.com/TryGhost/Toolbox/issues/208

- we currently run all test commands separately in CI and this can make
  it harder to replicate any issues we see in CI because we have to
  manually go and copy the order of the tests
- it's also nicer if there's just one command that runs so we can make
  changes globally to CI
- this commit adds a test:ci yarn command which will run the tests in
  order of speed/importance, with the -b AKA fail-fast flag so we
  don't have to wait for all tests to run before finding out about
  issues
- this also cleans up running unit tests in the DB matrix
2022-02-16 19:22:20 +01:00
Renovate Bot
6537ed1485
Update dependency @sentry/node to v6.17.9 2022-02-16 15:26:45 +00:00
Matt Hanley
4b47d376ec Merged v4.36.1 into main
v4.36.1
2022-02-16 15:25:03 +00:00
Daniel Lockyer
ffd66d5c57 v4.36.1 2022-02-16 15:23:42 +00:00
Kevin Ansfield
9debf27e62 🐛 Fixed "Invalid mobiledoc structure" errors the could occur when saving posts with header cards
refs https://github.com/TryGhost/Team/issues/1377

- bumped all packages that have a dependency on `@tryghost/kg-utils` to fix a bug in the `slugify()` utility that was throwing errors when the header or subheader was left blank in a header card
2022-02-16 15:16:10 +00:00
Kevin Ansfield
de644a25d4 🐛 Fixed "Invalid mobiledoc structure" errors the could occur when saving posts with header cards
refs https://github.com/TryGhost/Team/issues/1377

- bumped all packages that have a dependency on `@tryghost/kg-utils` to fix a bug in the `slugify()` utility that was throwing errors when the header or subheader was left blank in a header card
2022-02-16 14:44:33 +00:00
Renovate Bot
4ebbe90f17
Update dependency body-parser to v1.19.2 2022-02-16 05:19:22 +00:00
Renovate Bot
2b241b4e6a
Update dependency @sentry/node to v6.17.8 2022-02-15 16:28:10 +00:00
Daniel Lockyer
b2e04cce4b Bumped all Members packages
- we've just fixed up the use of `@tryghost/errors` and bumped some
  dependencies in all of our packages in Members
- this commit bumps all of those packages in Ghost so we can stay
  up-to-date
2022-02-15 13:58:55 +01:00
Naz
09bf5804ad Fixed e2e-framework to correctly compare headers
refs https://github.com/TryGhost/Toolbox/issues/209
refs https://github.com/TryGhost/Toolbox/issues/210

- Fixed request header processing by the e2e-framework where it failed to lowercase incoming header keys. This bug made it harder to test code paths which involve header checking, e.g. following code: `req.headers['stripe-signature']` would not get a correct value if the header was specified as Stripe-Signature
- Additional output to the status code assertions was added - this allows to have more context when an invalid response code comes back in a test.
2022-02-15 18:38:45 +07:00
Fabien "egg" O'Carroll
f88b6bd02f 🐛 Fixed Stripe checkout session urls being invalid
refs https://github.com/TryGhost/Team/issues/1322

Since the Members service is no longer started when Stripe is
reconfigured the url config used for checkout sessions was not updated.

This moves all of the default Stripe urls into the Stripe service, where
they will be updated as/when Stripe is connected/disconnected.
2022-02-15 12:50:07 +02:00
Renovate Bot
be5677cbd1
Update dependency eslint to v8.9.0 2022-02-14 02:20:41 +00:00
Renovate Bot
07ffe8fd94
Update dependency @sentry/node to v6.17.7 2022-02-11 18:01:11 +00:00
Daniel Lockyer
cc466edd8f v4.36.0 2022-02-11 16:00:27 +00:00
Renovate Bot
3681e1d86d Update dependency @tryghost/metrics to v1.0.5 2022-02-10 08:01:29 +01:00
Hannah Wolfe
c885dac30a
Removed chai + misc auth test cleanup
refs: https://github.com/TryGhost/Toolbox/issues/158

- We only use chai in a handful of places now, and it seems totally unnecessary
- Use assert instead
- Made other minor changes with a view to this being a reference aka "perfect" test suite
2022-02-09 21:14:31 +00:00
Fabien "egg" O'Carroll
21c43f3b10 🐛 Fixed 500 errors when cancelling subscriptions
no-issue

If Stripe subscriptions have manually been modified to contain more than
one price, then cancellation would fail, as Ghost/Members relies on
subscriptions only containing one price. This adds some handling so that
we do not error when cancelling.
2022-02-09 11:37:49 +02:00
Fabien 'egg' O'Carroll
88786f768b
Added validation for Tier prices
refs https://github.com/TryGhost/Team/issues/1319
refs https://github.com/TryGhost/Team/issues/521

This updates the members-api to explicitly validate Tier prices rather
than deferring to Stripe and using whichever errors they throw.
2022-02-09 11:04:58 +02:00
Renovate Bot
b1c2b923ce
Update dependency @sentry/node to v6.17.6 2022-02-08 20:37:28 +00:00
Hannah Wolfe
069c344495
Switched new e2e-framework to use our own snapshot lib (#14137)
refs TryGhost/Toolbox#158
refs TryGhost/Toolbox#129 (comment)

We now have @tryghost/jest-snapshot - a suite of utilities for using snapshots with mocha, should, etc
The @tryghost/express-test lib also uses it to provide chained snapshot assertions

This library was created because all the existing implementations I could find, including the in use @ethanresnick/chai-jest-snapshot
didn't properly support property matching. @ethanresnick/chai-jest-snapshot supposedly supported it, but the implementation was incorrect
and frequently lead to false test passes.

This library also has (after some back and forth) path resolution so that snapshots can live in a local __snapshots__ folder
2022-02-08 14:33:19 +00:00
Renovate Bot
0822a5b7a1 Update dependency @tryghost/request to v0.1.14 2022-02-08 11:08:48 +01:00
Renovate Bot
91b5c09f5e Update dependency @sentry/node to v6.17.5 2022-02-08 07:43:00 +00:00
Renovate Bot
1852521fca Update dependency cssnano to v5.0.17 2022-02-07 20:00:45 +01:00
Kevin Ansfield
f410893f3e 🐛 Fixed header cards not being linkable with #header-title
refs https://github.com/TryGhost/Team/issues/1316

Updates header card renderer so the `<h2>` and `<h3>` elements have slugified titles set on their `id` attributes to allow in-page and external #header-title anchor links.

- bumps `@tryghost/kg-default-cards` including the header card id fix
- bumps other `@tryghost/kg-*` packages that were released simultaneously - contains dependency updates and switch to `slugify()` from `@tryghost/kg-utils`
2022-02-07 18:52:18 +00:00
Hannah Wolfe
efdae70cbc
Updated members regression tests to use e2e framework (#14130)
- This is an example refactor to the new framework
 - This does not yet include snapshot testing (coming SOON)
2022-02-07 17:15:55 +00:00
Renovate Bot
2a1201ab30 Update Test & linting packages 2022-02-07 13:16:05 +01:00
Renovate Bot
361a7fe27d Update dependency @tryghost/bookshelf-plugins to v0.3.8 2022-02-07 09:10:41 +01:00
Renovate Bot
4c6257c09a Update dependency expect to v27.5.0 2022-02-07 09:08:50 +01:00
Hannah Wolfe
c9ca388a9f
Added new express-test framework to our ref tests (#14117) 2022-02-06 16:18:12 +00:00