Commit Graph

16062 Commits

Author SHA1 Message Date
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
Daniel Lockyer
218950739d
Improved readability of log messages during migrations
- this commit removes the colons from the log messages to make each
  line flow easier when you're reading it
- also removes a couple of superfluous words that aren't needed
2022-04-01 08:57:48 +01:00
Naz
4f7324f1c0 Added a note to potentially breaking price helper
refs https://github.com/TryGhost/Team/issues/449

- Once we deprecate site.lang use in favor of site.locale this helper will need inspection for potentially breaking change. Left a note to come back to it once it's time
2022-04-01 11:33:02 +08: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
Simon Backx
759e362a30 Fixed snakeCase in stats member count endpoint
refs 31c1d4f513

Still had the camel case 🙈
2022-03-31 17:09:28 +02:00
Simon Backx
31c1d4f513 Renamed stats endpoint to /stats/member-count and added totals metadata
refs https://ghost.slack.com/archives/C02G9E68C/p1648737467414789?thread_ts=1648644801.253699&cid=C02G9E68C

- Anything in the API should use snakeCase
- Reduce amount of nesting in endpoint name
- Added totals metadata
2022-03-31 17:05:08 +02:00
Daniel Lockyer
51550c8da3
Fixed logging level when adding permissions to roles
- `info` should be used here because it's an expected point in the code and
  there's nothing to warn about
2022-03-31 15:27:31 +01:00
Thibaut Patel
fdb0e3d44d Added the newsletter API permissions
refs https://github.com/TryGhost/Team/issues/1463

- Allow admins to perform all newsletter operations
- We can adjust and be more permissive in the future if needed
- Added the tests back as permissions are configured correctly now
2022-03-31 16:08:23 +02:00
Simon Backx
ae54352a29
Created new stats service and stats API to get member count history (#14391)
refs TryGhost/Team#1458
refs TryGhost/Team#1459
refs TryGhost/Team#1372

- Added a new stats service, which is divided into several categories. Currently only the 'members' category for member related stats.
- When there are missing or corrupt members status events in the DB, the totals returned by the old member stats endpoint (`/members/stats/count`) were wrong. This is fixed in the new service by counting in reverse order and starting with the actual totals.
- New Stats API, with the new `/stats/members/count-history` endpoint.
- This new endpoint also returns the paid deltas -> dashboard 5.0 will show subscribed and canceled paid members for each day
- Includes tests for the new stats service and endpoint
2022-03-31 16:01:11 +02:00
Thibaut Patel
9e4401d9f6 Added the newsletters endpoint
refs https://github.com/TryGhost/Team/issues/1463

- This enables listing, creating and editing newsletters
- The tests are commented out as the permissions will be added in a follow-up commit
2022-03-31 15:19:58 +02: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
20913f41c2 Fixed yarn.lock file
refs a6535cf0ab

- When gscan bump was done in the referenced commit yarn did not pick up some of the changes in the lock file.
2022-03-31 19:08:35 +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
Daniel Lockyer
c187b3d182
Extracted Canary workflow to template
refs 4aee97472e

- the referenced commit copied the workflow file to our shared templates
  repository
- this commit switches to using that template
- this should help reduce duplication when we're doing v5
2022-03-31 08:27:18 +01:00
Renovate Bot
ef5d2b27ae
Update dependency node-jose to v2.1.1 2022-03-30 21:57:56 +00:00
Renovate Bot
e22bdabf1f Lock file maintenance 2022-03-30 13:52:21 +01: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
Hannah Wolfe
1db7ccc212
Updated minimum coverage percentages
- Over the last month we've managed to increase coverage by a few %
- Update the minimum values so we don't accidentally reduce it again
2022-03-29 15:51:46 +01:00
Hannah Wolfe
130ffb4d63
Updated snippets e2e tests to use new framework
- Snippets are are one of the most recently implemented full e2e features
- https://github.com/TryGhost/Ghost/commit/13f653a12 updated the serialier pattern
- This updates the tests so _everything_ is shiny and new
2022-03-29 15:51:46 +01:00
Hannah Wolfe
f7ad32e76b
Removed unnecessary snippets serializer
refs: https://github.com/TryGhost/Toolbox/issues/245

- The default behaviour of a serializer is to call a mapper for each object
- Instead of all the boilerplate code we had in the snippets serializer, all we need is a single mapper function
- Added tests for the mapper function as well
2022-03-29 15:51:45 +01:00
Hannah Wolfe
018ff26f6e
Removed unnecessary users.* serializers
refs: https://github.com/TryGhost/Toolbox/issues/245
refs: https://github.com/TryGhost/Ghost/commit/73f91a524

- we don't need these 3 serializers because the default serializer will do the same thing
- commit 73f91a524 fixes the logic so that the default serializer is called as a fallback
  even though the users serializer exists, as there's no matching method name
2022-03-29 15:51:45 +01:00
Thibaut Patel
f096e29922 Added the newsletters table
refs https://github.com/TryGhost/Team/issues/1433

- The `default` property stores whether a newsletter is set as default by the admin
- The `status` property stores whether a newsletter is archived or not
- The `recipient_filter` property is only storing whether a newsletter is "paid-only" or not for now, although it can be expanded to more specific filters in the future
- The `subscribe_on_signup` property stores whether a new member should be automatically signed up to the newsletter
- The `sort_order` property enables displaying the newsletter list in an order chosen by the admins
2022-03-29 15:23:26 +02:00
Hannah Wolfe
4def34ef21
Removed unused members/stats endpoints
refs: https://github.com/TryGhost/Team/issues/1446

- These endpoints are unused, so they are safe to remove
- We're starting to remove as much unused & unnecessary code as possible to try to reduce the codebase and increase test coverage
2022-03-29 14:00:04 +01:00
Hannah Wolfe
470ed05620
Removed unnecessary email_preview.read serializer
refs: https://github.com/TryGhost/Toolbox/issues/245
refs: https://github.com/TryGhost/Ghost/commit/73f91a524

- we don't need this serializer because the default serializer will do the same thing
- commit 73f91a524 fixes the logic so that the default serializer is called as a fallback
  even though the email_preview serialzier exists, as there's no matching method name
- sadly the route name here is wrong, it should be email_previews plural, but the response format is correct
  to make this work we have to fix the docName and rename the serializer
2022-03-29 13:44:51 +01:00
Hannah Wolfe
22b6f1af99 Improved behaviour of default and all handlers
refs: https://github.com/TryGhost/Toolbox/issues/245

- .all methods are fallback serializers not to be run as well as a custom serializer
- The default serializer is also a fallback
- The "All" file with before and after are global hooks that _always_ get run as well as other serializers
- There's a lot of room for further improvement here especially with naming but this logic makes more sense
  for the usecases AND doesn't affect v2 & v3 etc. We can do another pass after 5.0
2022-03-29 13:44:21 +01: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
Hannah Wolfe
440b5b2209
Updated passthrough serializers to be consistent
refs: https://github.com/TryGhost/Toolbox/issues/245

- There are several serializers which are "passthroughs" that return the response from the query
  function as-is.
- The intention here is to make them all look consistent so they're easy to spot and understand what they do
2022-03-28 17:32:58 +01:00
Hannah Wolfe
835a3d0d46
Removed unnecessary webhooks serializer
refs: https://github.com/TryGhost/Toolbox/issues/245

-  we don't need this serializer because the default serializer will do the same thing
2022-03-28 17:32:58 +01:00
Hannah Wolfe
df4b630da0
Removed unnecessary member-signin-urls serializer
refs: https://github.com/TryGhost/Toolbox/issues/245

-  we don't need this serializer because the default serializer will do the same thing
2022-03-28 17:32:58 +01:00
Hannah Wolfe
1682f7f42e
Removed unnecessary identities serializer
refs: https://github.com/TryGhost/Toolbox/issues/245

-  we don't need this serializer because the default serializer will do the same thing
2022-03-28 17:32:58 +01:00
Hannah Wolfe
9221e2a34e
Removed unnecessary emails serializer
refs: https://github.com/TryGhost/Toolbox/issues/245

-  we don't need this serializer because the default serializer will call the emails  mapper
2022-03-28 17:32:58 +01:00
Hannah Wolfe
9f3b6f1818
Added missing e2e emails API browse & retry tests
refs: https://github.com/TryGhost/Team/issues/1446

- changed Emails API tests to use the new e2e test framework
- Added missing tests for browse and retry endpoints
2022-03-28 17:32:58 +01:00
Hannah Wolfe
ccef6dc44e
Added event mocking to e2e framework
- Allows mocking lib/common/events - stubs event.emit
- Means we can check that events fired, but their sideeffects won't happen, useful for things like bulk email
- I also reorganised the mock manager file to group related functions together
2022-03-28 17:32:57 +01:00
Hannah Wolfe
15da07f324
Added missing e2e mail API retry test
refs: https://github.com/TryGhost/Team/issues/1446

- changed mail API  tests to use the new e2e test framework
- added the missing retry test - which has the wrong response format :(

mail
2022-03-28 17:32:57 +01:00
Renovate Bot
2ca452f4b0 Update dependency @tryghost/image-transform to v1.0.29 2022-03-28 16:28:18 +01:00
Peter Zimon
a48705def1
Typography updates (#14382)
* Updated email template typography

* Updated border logic for email header
2022-03-28 17:28:09 +02:00
Renovate Bot
9089abcc5c Update dependency @tryghost/package-json to v1.0.17 2022-03-28 16:27:54 +01:00
Daniel Lockyer
32e2d15880
Split apart DB init queries in tests
refs https://github.com/TryGhost/Toolbox/issues/213

- `better-sqlite3` doesn't like multiple queries in the same statement
  so we can make the change here to split them up ahead of the switch
2022-03-28 16:17:17 +01:00
Daniel Lockyer
65fa8c12b5
Refactored database check to use utility
refs https://github.com/TryGhost/Toolbox/issues/213

- this removes another hardcoded string check that would have been
  incorrect when we switch the sqlite client to better-sqlite3
2022-03-28 16:12:32 +01:00
Renovate Bot
bf6188e331 Update peter-evans/create-or-update-comment digest to 26f0786 2022-03-28 14:30:20 +01:00
Daniel Lockyer
e37b93feee
Fixed env specific default configuration files missing from build
refs 15d9a77092

- in the referenced commit, we moved `core/server/config` to
  `core/shared/config`
- this commit didn't update the `.npmignore` exclusion so the folder
  wasn't included in the release zip
- this commit fixes that
2022-03-28 13:35:54 +01:00