Commit Graph

2284 Commits

Author SHA1 Message Date
Sag
89e9e4a2b8
Added Recommendations table (#17862)
closes https://github.com/TryGhost/Product/issues/3775

- Recommendations tech spec:
https://www.notion.so/ghost/Recommentions-Tech-Spec-598f09e4109f4eef8d9e32db7245a90c?pvs=4#d59dd64cf40144bc944319b65436a730
2023-08-30 10:33:49 +02:00
renovate[bot]
f977227d18 Update dependency postcss to v8.4.29 2023-08-30 08:29:32 +02:00
Simon Backx
935ac43584
Added recommendations CRUD api (#17845)
fixes https://github.com/TryGhost/Product/issues/3784

- Includes migrations for new permissions needed for the new endpoints
2023-08-29 15:06:57 +00:00
Djordje Vlaisavljevic
8416278ea7
Added Recommendations settings placeholder under feature flag (#17855)
refs https://github.com/TryGhost/Product/issues/3787

- Added Recommendations feature flag
- Added an empty placeholder settings section for Recommendations under the feature flag
2023-08-29 12:36:50 +01:00
renovate[bot]
9a2c915a96 Update dependency lib0 to v0.2.83 2023-08-29 11:25:42 +01:00
kai
687cf5a95c
Removed Bluebird dependency (#17831)
refs https://github.com/TryGhost/Ghost/issues/14882

- this removes the last usage of Bluebird within Ghost and removes the dependency as it's no longer required within the codebase
2023-08-29 11:55:14 +02:00
renovate[bot]
240ca0fd07 Update dependency lib0 to v0.2.81 2023-08-29 10:30:55 +01:00
Daniel Lockyer
e6ef88fc68 Configured New Relic integration within Ghost core
refs https://github.com/TryGhost/DevOps/issues/66

- this allows us to enable New Relic within Ghost by providing some sane
  defaults
2023-08-29 09:30:25 +01:00
renovate[bot]
ad1743816a Update dependency @playwright/test to v1.37.1 2023-08-29 08:38:03 +01:00
Naz
dc7b20d50b Extracted domain event interceptor to separate init
closes https://github.com/TryGhost/Arch/issues/13

- Model to Domain event interceptor is a class that does not strictly belong to Collections. It's supposed to be used in any new code that depends on legacy bookshelf model events. Extracted it's initialization to it's own service for clarity and visibility.
2023-08-29 15:21:18 +08:00
renovate[bot]
bd8c43c7b5 Update dependency luxon to v3.4.2 2023-08-28 19:07:40 +01:00
renovate[bot]
1a44d8106b Update sentry-javascript monorepo to v7.65.0 2023-08-28 19:06:53 +01:00
Fabien 'egg' O'Carroll
c1a9f2d6a6
Enabled RO Collections Admin API
The future work around collections requires the read only portions
of the Collections Admin API to be enabled without a flag.

The write endpoints are only for custom collections which aren't required.
2023-08-28 06:49:09 +00:00
Fabien "egg" O'Carroll
3960bfac1d Enabled Collection background syncing
refs https://github.com/TryGhost/Arch/issues/73

Since we've fixed the issues which were executing performance affecting DB
queries, we can enable the background syncing of collections again. This couple
with a new migration to populate the default collections will allow us to start
work on the collections card and will make rolling that card out to GA smoother
and easier as all the required data will be in place.
2023-08-28 13:36:22 +07:00
Ghost CI
b545f234b2 v5.60.0 2023-08-25 15:03:14 +00:00
Ghost CI
24ee0bc740 🎨 Updated Casper to v5.7.0 2023-08-25 15:03:14 +00:00
Steve Larson
e15b9eb891
Bumped Koenig packages (#17826)
no refs
- contains various fixes and improvements to the beta editor
2023-08-24 22:12:38 +00:00
Fabien 'egg' O'Carroll
44ae0dcbe1
Added rudimentary tests for Collections DB queries (#17820)
refs https://github.com/TryGhost/Arch/issues/73

This is just an initial stab at making sure we don't introduce extra DB
queries related to collections without being aware of it.
2023-08-24 13:08:36 +00:00
Simon Backx
08e436c4f3 Bumped comments-ui to v0.13
no issue

- Use comments-ui v0.13
- Removed styles option from comments (no longer used starting from v0.13)
2023-08-24 11:05:19 +02:00
Naz
46f8c15448 Fixed flaky test behavior for bulk actions
refs https://ghost.slack.com/archives/C02G9E68C/p1692816097875899

- With introduction of extra e2e test coverage for Collections some tests started to fail at random. The root issue here was the transaction processing collections was started before the original bulk action (bulk edit, bulk publish/unpublish, etc.) was fully committed. The full transaction commit happens with the bulkAction method return inside of `if (!options.transacting) {` block.
2023-08-24 16:06:41 +08:00
Chris Raible
08d6425a53
Bumped Koenig packages (#17809)
no issue
    
    - @tryghost/kg-converters@0.0.9 > 0.0.12
    - @tryghost/kg-default-nodes@0.1.20 > 0.1.23
    - @tryghost/kg-lexical-html-renderer@0.3.16 > 0.3.19
2023-08-23 14:20:52 -07:00
Simon Backx
375a6d37c2
Added support for i18n in comments-ui (#17797)
refs https://github.com/TryGhost/Product/issues/3504

- This adds support for translations, but doesn't yet translate every
possible string in the app.
- Only active if beta translations is enabled
2023-08-23 13:57:37 +00:00
Naz
437a080580 Added test coverage for collection update on tag removal
refs https://github.com/TryGhost/Arch/issues/77

- We were missing e2e test coverage for when the tag used in collection filters was removed. This changeset improves the situation.
2023-08-23 20:44:08 +08:00
Fabien "egg" O'Carroll
288859fc95 Bumbed express-hbs and fixed inline async helpers
refs ce088f06ff

TL;DR This makes {{asyncHelper "foo"}} usage more stable.

See the linked commit for details on the fix.
2023-08-23 17:35:35 +07:00
Naz
acccc16614 Added collections update after bulk adding tags
refs https://github.com/TryGhost/Arch/issues/77

- During initial development we have missed to support collections update when tags are added to posts in bulk. It's especially valid usecase since we can define automatic collection with a filter containing not yet existing tags.
2023-08-23 17:12:08 +08:00
Fabien "egg" O'Carroll
62d5ca558d Validated filters for collections
refs https://github.com/TryGhost/Arch/issues/47

This ensures that we only have collections which have a valid filter in terms of
  - Valid NQL string
  - Uses only properties which are valid to filter on
  - Only has an empty filter in the case of the "latest" collection
2023-08-23 15:49:06 +07:00
Fabien "egg" O'Carroll
c98bf80248 Removed invalid entities from results
refs https://github.com/TryGhost/Arch/issues/47

This change allows us to throw errors when instantiating invalid entities,
whilst not breaking things when we have bad data in the database. What we can
do is act as if the bad rows are not present, whilst surfacing an error in
sentry to alert us to such cases.
2023-08-23 15:49:06 +07:00
Fabien "egg" O'Carroll
27bfa30f97 Handled our forced null conversion in bookshelf
refs https://github.com/TryGhost/Arch/issues/47

We've configured bookshelf to force empty strings to null, but this is
undesired behaviour here, so unfortunately we have to leak some business
logic into the repository.

This needs to be done to correctly support our filter validation logic.
2023-08-23 15:49:06 +07:00
renovate[bot]
2159b4fb30 Update dependency luxon to v3.4.1 2023-08-22 22:47:51 +01:00
Ghost CI
cebe8d7db6 Merged v5.59.4 into main 2023-08-22 11:46:13 +00:00
Ghost CI
5f2b5d9d11 v5.59.4 2023-08-22 11:46:11 +00:00
Simon Backx
a011151e24
🐛 Fixed handling multiple Stripe subscriptions for same member (#17773)
fixes https://github.com/TryGhost/Product/issues/3752

- Added some extra tests for edge cases
- Updated handling of multiple subscriptions so they are handled better
- Canceling a subscription when the member still has other subscriptions will now get handled correctly where the status and products of the member stay intact
2023-08-22 13:27:21 +02:00
Naz
df3aaed3c8 Added test coverage for collection updates
refs https://github.com/TryGhost/Arch/issues/77

- The test covers collection updates on post resource add/edit/delete operations
2023-08-22 17:16:35 +08:00
Naz
e638d72e70 Refactored collections e2e Admin API test suite
refs https://github.com/TryGhost/Arch/issues/71

- With describe/it block levels mixed on the top level of the test suite the order fo test execution was scattered around. Having "describe" groups for each of the BREAD methods makes things more organized and readable.
2023-08-22 17:16:35 +08:00
Ghost CI
a0efe7a864 Merged v5.59.3 into main 2023-08-21 21:27:36 +00:00
Ghost CI
808ea02e45 v5.59.3 2023-08-21 21:27:34 +00:00
Fabien "egg" O'Carroll
a343f39559 Handled sort_order updates for Collections
refs https://github.com/TryGhost/Arch/issues/73

With the latest version of bookshelf-relations we're able to define a model
specific hook which allows us to ignore sort_order updates on automatic
collections, which don't require their order to be persisted.
2023-08-21 12:16:32 +01:00
Ghost CI
d0c95a37e1 v5.59.2 2023-08-18 15:03:06 +00:00
Michael Barrett
3a95caf48f
Implement member import with tier (#17506)
refs https://github.com/TryGhost/Product/issues/3629
2023-08-18 15:24:31 +01:00
Simon Backx
b587429008
🐛 Fixed importing offers when importing members from Stripe (#17739)
fixes https://github.com/TryGhost/Product/issues/3728

- When importing members from Stripe with an existing offer, that didn't
exist in Ghost, the offer never got linked with the imported
subscription because of a missing return statement.
- Fixes importing offers with duplicate names
- Added E2E tests for creating members from a Stripe Customer ID
2023-08-16 13:25:57 +00:00
Naz
49a4a60d82 Fixed posts Content API test run in isolation
closes https://github.com/TryGhost/Arch/issues/76

- The posts test suite was failing when run in isolation. This was due to "collections" labs flag not being turned on, the events were not going through to collections service correctly
2023-08-16 16:07:01 +08:00
renovate[bot]
e1d92d642a Update dependency postcss to v8.4.28 2023-08-16 06:08:42 +02:00
Steve Larson
fecd326510
📦 Updated koenig dependencies (#17728)
no refs
-contains multiple bug fixes and improvements
2023-08-15 11:38:41 -05:00
Simon Backx
13b732f905
Added Playwright tests for donations (#17699)
fixes https://github.com/TryGhost/Product/issues/3723

This also fixes usage of localhost instead of 127.0.0.1 as a test URL
for playwright. This caused issues for cookies because the member
impersonation navigated to 127.0.0.1 instead of localhost, meaning that
the next page.goto call would go to localhost and lose the cookies.
2023-08-15 15:20:18 +02:00
Daniel Lockyer
6a721d4dab
Merged v5.59.1 into main 2023-08-15 13:31:54 +02:00
Ghost CI
e8836652cc v5.59.1 2023-08-15 11:22:18 +00:00
Simon Backx
690fbf3f73
🔒 Fixed arbitrary file read via symlinks in content import
refs https://github.com/TryGhost/Product/issues/3726
refs https://github.com/TryGhost/Ghost/security/advisories/GHSA-9c9v-w225-v5rg

- credits to https://github.com/ixSly
2023-08-15 13:01:11 +02:00
renovate[bot]
bed89b7bec Update sentry-javascript monorepo to v7.64.0 2023-08-15 12:17:01 +02:00
Ghost CI
f26158b26b v5.59.0 2023-08-11 15:14:28 +00:00
Sam Lord
b2fb38ea52 Fixed case where reseting cache on a test retry could fail build
no issue
2023-08-11 15:12:15 +01:00