Commit Graph

18402 Commits

Author SHA1 Message Date
Djordje Vlaisavljevic
ae314679fa
Add Tips and donations section to Membership settings (#17497)
refs https://github.com/TryGhost/Product/issues/3561

- Added a static section to Membership settings with a button to copy
the Tips & donations Stripe link
- Added a `tipsAndDonations` feature flag
2023-07-25 22:46:34 +01:00
Fabien "egg" O'Carroll
322dda10ab Removed flag check for running the collection service
This ensures that collections are updated in the background regardless of
whether or not the labs flag is enabled, which is important for the stability
of the collections database tables. In order to make sure we don't add a tonne
of event listeners during the tests we have to add a flag to make sure that the
service is treated as a singleton and only instanciated once. This should only
affect code running in tests, as we don't initialise services multiple times
2023-07-25 17:35:43 +02:00
Fabien "egg" O'Carroll
3d0825ea2f Supported ?include=count.posts for Collections API
Unfortuantely our framework is bookshelf centric so we have to refer to the
`withRelated` property rather than a more generic `include` property.

The collection entity already contains the list of post ids, so we can just
return the length of that array.
2023-07-25 16:56:22 +02:00
Fabien "egg" O'Carroll
431f0ed842 Fixed the "Can add a Collection" test
The test was addign an extra collection, but not cleaning it up - which makes it
hard to reason about other tests, especially when running them in isolation and
the state is different. This just cleans up the test and updates the browse test
to match the right snapshot.
2023-07-25 16:56:22 +02:00
Fabien "egg" O'Carroll
517c406e17 Added Collections Content API
The only usecases we need to support at the moment are reading individual
collections by ID and by Slug. We can extend this API as we get more usescases
in future.
2023-07-25 16:14:02 +02:00
Daniel Lockyer
b0cf1f949a Switched TypeScript eslint config to custom plugin
refs https://github.com/TryGhost/DevOps/issues/50

- this switches the .eslint configs from `node` to `ts`, which is a new
  config to support eslint for TypeScript
- also makes minor changes to adhere to these new rules
2023-07-25 16:12:35 +02:00
Daniel Lockyer
bf53f8ba6f Added missing dependency definition
- `@tryghost/collections` is used within
  `@tryghost/model-to-domain-event-interceptor` but there wasn't a
  dependency on this package, so the build script wouldn't always build
  the dependency first
2023-07-25 15:56:46 +02:00
renovate[bot]
cbdd2f0273 Update dependency @types/nodemailer to v6.4.9 2023-07-25 15:50:24 +02:00
Fabien 'egg' O'Carroll
63ab254e33
Removed posts from Collections API
The correct mechanism for fetching posts from a collection is via the Posts API.
This removes all functionality of getting posts from the Collections API.

Co-authored-by: Naz <hi@nazavo.com>
2023-07-25 13:19:19 +00:00
Daniel Lockyer
87d234403f Deduplicated tsconfig.json to use base config
- this allows for easier maintenance
2023-07-25 13:50:45 +02:00
Naz
658adf0ab1 Fixed build command for nql-filter-expansions
no issue

- The newly generated package did not have the build:ts command needed for nx build to run
2023-07-25 19:01:56 +08:00
Naz
694ab1d32d Added support for expansions in collection filters
refs https://github.com/TryGhost/Arch/issues/46

- Similarly to post filters, collection filters now support both 'tag' and 'tags' nql filter keys when defining a filter for related tag slugs. For example, both `tag:avocado` and `tags:avocado` would both be valid collection filters that would filter by the same 'slug' property of the tags assigned to a post.
- Along with these changes had to rework the tags property of the collection posts to match the shape used in post resources. Moved from:
`tags: ['bacon', 'broc']`
to
`tags:[{slug: 'bacon'}, {slug: 'broc'}]`
2023-07-25 19:01:56 +08:00
Naz
8fa36916d7 Migrated admin and core modules to use nql-filter-expansions
refs https://github.com/TryGhost/Arch/issues/46

- Reused posts expansions from nql-filter-expansions module
2023-07-25 19:01:56 +08:00
Naz
9f979917e3 Added nql-filter-expansions module
refs https://github.com/TryGhost/Arch/issues/46

- This module with be a placeholder for "filter expansions" we use across the codebase. For now it will only contain the expansions for the "post" resource, but any new or refactored expansions should land here too.
2023-07-25 19:01:56 +08:00
Naz
c4351456c6 Made tag snapshots more accurate in collections test suite
refs https://github.com/TryGhost/Arch/issues/46

- Allows to actually verify in the snapshot itself if the tag filter is working correctly or not.
2023-07-25 19:01:56 +08:00
renovate[bot]
3830401d55 Update dependency @playwright/test to v1.36.2 2023-07-25 12:26:15 +02:00
Michael Barrett
8095843939
Added feature flag for import tier functionality (#17480)
refs https://github.com/TryGhost/Product/issues/3629
2023-07-25 10:52:52 +01:00
Sodbileg Gansukh
0b00c653cc Added margin override to the signup card input
no issues

- some themes have global styles applied to inputs and it breaks the card input layout because of the style conflict
- this adds some default margin values to fix the issue
2023-07-25 14:22:44 +08:00
Ghost CI
fc50d1e92c Merged v5.55.1 into main 2023-07-25 02:46:04 +00:00
Ghost CI
95d343a786 v5.55.1 2023-07-25 02:46:02 +00:00
Chris Raible
e50ad7561c
🐛 Fixed image rendering in Outlook email client (#17475)
refs TryGhost/Product#3647

- The latest version of juice (which Ghost uses to inline css in email
newsletters) included new functionality to add height="auto" and
width="auto" for any images with dimensions set to auto in css
- This was causing rendering issues in Outlook, which would render the
image at full width, which often added a horizontal scroll and generally
messed up the flow of the document
- This change prevents juice from modifying the height or width of `<img
/>` tags
2023-07-24 18:33:56 -07:00
Aileen Booker
eb303ec221 Fixed Segment event named wrong 2023-07-24 15:49:33 +01:00
Daniel Lockyer
d5cbb33e54 Pinned dependencies 2023-07-24 16:21:47 +02:00
Daniel Lockyer
bb4c3de992 Deduplicated ts-node and typescript dependencies
refs https://github.com/TryGhost/DevOps/issues/50

- this commit deduplicates where we define the versions of these
  packages to make them easier to maintain
2023-07-24 16:21:47 +02:00
Daniel Lockyer
d0f9c8cf0c Deduplicated eslint and eslint-plugin-ghost to top-level package.json
refs https://github.com/TryGhost/DevOps/issues/50

- this deduplicates where we define the version of `eslint` and
  `eslint-plugin-ghost` so it's easier to maintain
2023-07-24 16:21:47 +02:00
Daniel Lockyer
532a7cf6e3 Fixed loading assets from CDN URL
refs https://ghost.slack.com/archives/C027S85FS/p1690202522054729

- this is another set of places where we load assets slightly
  differently
- this should fix user profile images when using assets from a CDN
2023-07-24 16:12:29 +02:00
renovate[bot]
e2bb39b025 Update dependency webpack to v5.88.2 2023-07-24 11:03:33 +00:00
renovate[bot]
61b5615826 Update dependency terser to v5.19.2 2023-07-24 11:01:06 +00:00
renovate[bot]
b5453e740e Update dependency yjs to v13.6.7 2023-07-24 10:38:06 +00:00
renovate[bot]
4441328576 Update dependency i18next to v23.2.11 2023-07-24 10:31:48 +00:00
renovate[bot]
3b9b8009e1 Update dependency mysql2 to v3.5.2 2023-07-24 10:29:26 +00:00
Michael Barrett
184c6ae951
Retain newsletter subscriptions on suppression (#17373)
refs https://github.com/TryGhost/Product/issues/2610
2023-07-24 10:47:57 +01:00
Naz
baf0f4b692 Added /collections/slug/:slug Admin API endpoint
closes https://github.com/TryGhost/Arch/issues/45

- This endpoint is here to keep the convention of being able to fetch the resource by it's slug through a `GET /{resource_name}/slug/:slug`. It has identical output as the `GET /collections/:id` endpoint
- The alternative would be having an alias and try fetching by :id and then by slug if the result for id was null, but that would be a completely new pattern we have not used anywhere else yet.
2023-07-24 14:27:17 +08:00
renovate[bot]
ef3b6ea7e8 Update dependency @embroider/macros to v1.13.0 2023-07-24 08:13:49 +02:00
renovate[bot]
f606039fee Update dependency html-validate to v8.1.0 2023-07-24 08:13:34 +02:00
Kevin Ansfield
0b6c2e3421
Fixed logic for checking theme compatibility with @page properties (#17451)
no issue

- logic was incorrect in two places that meant we were showing the incompatibility warning for compatible themes
- `codedErrors` was looking at the Ember Data `errors` object instead of the renamed `gscanErrors` object
2023-07-21 16:39:13 +00:00
Sanne de Vries
d7cf11751c
Added theme hide title+image incompatibility warning (#17416)
Refs https://github.com/TryGhost/Product/issues/3567
2023-07-21 16:03:38 +00:00
Ghost CI
1b884a49ac v5.55.0 2023-07-21 15:03:14 +00:00
Fabien "egg" O'Carroll
66f7dcafab Fixed the {{#collection}} helper
We were not passing the `slug` to the `apiOptions` so the posts were not
correctly filtered, and on top of that the `collection` option had not been
added to the allow list of the Posts Content API. With these two fixes the
collection helper works as expected.
2023-07-21 16:23:31 +02:00
Daniel Lockyer
10b59adbbb Removed jest from tsconfig types array
refs https://github.com/TryGhost/DevOps/issues/45

- this was a mistake resulting from a copy+paste, we don't even use Jest :P
2023-07-21 14:50:52 +02:00
renovate[bot]
401c1a0d10 Update dependency postcss to v8.4.27 2023-07-21 14:42:30 +02:00
Daniel Lockyer
804c1e4cbb Configured imported types in tsconfig
refs https://github.com/TryGhost/DevOps/issues/45

- by default, `tsconfig` will load all `@types` packages
- this can slow down the build because it's loading unneeded files
- adding a value to `types` overrides "all", but we still want `node` to
  allow Node globals to be found with no extra effort
- similarly, we can limit `lib` to `es2022` to remove an extra 5 files
- this makes a `tsc` roughly 2x faster
2023-07-21 14:17:21 +02:00
Naz
08c06129d3 Removed /collections/:id/posts endpoint
refs https://github.com/TryGhost/Arch/issues/16

- We made a decision to limit the API for fetching posts belonging to a certain collection to only the Posts API. The endpoint on the collections was an experiment that only brings unnecessary maintenance at this point of time.
2023-07-21 19:46:22 +08:00
Naz
9a38c65ee6 Cleaned up CollectionsService from unused code
refs https://github.com/TryGhost/Arch/issues/16

- Some of the methods became unused due to moving the posts handling out of the collections service and cleaning up the event handling system.
2023-07-21 19:46:22 +08:00
Naz
6361423ff7 Fixed ability to remove post from an automatic collection
refs https://github.com/TryGhost/Arch/issues/16

- Post can be removed from a manual collection, but never from an automatic collection.
2023-07-21 19:46:22 +08:00
Naz
d7bbb0b935 Reworked PostsRepository to use model layer
refs https://github.com/TryGhost/Arch/issues/16

- Using the API directly on the repository level prevented us from ensuring collection consistency through transactions.
- This change migrates the PostsRepository to use Bookshelf model layer directly, which also allows to put queries into transactions.
- Additional optimization here was removing the `getAllPosts` method from CollectionService. This is an attempt to reduce the API surface of the  of the service before calling it a GA.
2023-07-21 19:46:22 +08:00
Naz
ef41fd86c2 Enabled all collection tests
refs https://github.com/TryGhost/Arch/issues/16
refs 97f24338bf

- With introduction of transactional post_collections updates the test flakiness should go away.
2023-07-21 19:46:22 +08:00
Naz
3dc27f505c Wrapped collection's creation in transaction
refs https://github.com/TryGhost/Arch/issues/16

- This is needed to avoid stale data/race conditions when processing collection post updates
2023-07-21 19:46:22 +08:00
Naz
0880770d50 Wrapped collection's post adding logic in transaction
refs https://github.com/TryGhost/Arch/issues/16

- Having transactional collection post updates makes sure there are no race conditions when updating collection_posts relations. Without the transactions collection was prone to update relations based on a stale state causing problems like described in the linked issue
2023-07-21 19:46:22 +08:00
Naz
04c92d2ca5 Removed CollectionResourceChangeEvent handling
refs https://github.com/TryGhost/Arch/issues/16

- The generic "UpdateAllCollections" logic should not be used as the mapped Post's delete/add/edit events should be sufficient in maintaining collection's state
2023-07-21 19:46:22 +08:00
renovate[bot]
3a751e6f84 Update sentry-javascript monorepo to v7.60.0 2023-07-21 12:36:13 +02:00
Xavier E. López
8cb6362c66
Updated Spanish translations (#17424)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-21 09:44:30 +02:00
eivindaberg
604393838f
Updated Norwegian Nynorsk translation (#17437)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-21 09:25:01 +02:00
renovate[bot]
98937dbba6 Update dependency @types/luxon to v3.3.1 2023-07-21 09:23:24 +02:00
Steve Larson
22441fe730
Made lexical rendering async (#17438)
-moved lexical rendering to async
-includes rendering for front end and email
-necessary to pull dynamic data into render method, e.g. collections
2023-07-20 17:48:48 -05:00
Sanne de Vries
56beb0b14a
Switched around the feature and title toggles in the post settings menu (#17431)
No ref
2023-07-20 10:55:38 +00:00
Sanne de Vries
9e61f26586
Fixed visual bug on signup card frontend html (#17430)
No ref
2023-07-20 10:07:54 +00:00
renovate[bot]
40cf705061 Update metascraper to v5.34.9 2023-07-20 08:39:36 +00:00
hemri
afaf4965db
Fixed timezone configuration in package tests (#17087) 2023-07-20 07:46:27 +00:00
Katharina
7587022cad
Updated German translations (#17414)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-20 08:51:33 +02:00
nachogohon
08c54c9126
Updated Spanish translations (#17420)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-20 06:50:36 +00:00
jrefsnes
c2e082090b
Added Norwegian Nynorsk as supported language (#17423)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-20 06:47:27 +00:00
Daniel Lockyer
d8ed924daf Fixed translations encoding issue
- as done by i18next-parser
2023-07-20 08:35:15 +02:00
Daniel Lockyer
3ac202df5e Fixed mismatched bracket count in translations
- fixes a typo that would have lead to the raw placeholder being output
2023-07-20 08:35:15 +02:00
renovate[bot]
dd328f39f7 Update sentry-javascript monorepo to v7.59.3 2023-07-20 07:27:24 +02:00
renovate[bot]
df88853def Update dependency i18next-parser to v8.3.0 2023-07-20 07:26:45 +02:00
Chris Raible
96b678a20d
🐛 Fixed members unable to unsubscribe from plan if hidden in Portal (#17251)
refs TryGhost/Product#3563

- For a member on a paid plan, which had subsequently been hidden from
portal, the member was unable to unsubscribe/change plan because the
'Change' button was hidden
- This change restores the 'Change' button for members on a paid plan,
even if the plan is hidden from portal
- This change also makes some modifications to the 'Change Plan' page,
like showing the current active plan even if it is hidden, and displays
a message to comped members to contact support if they want to change
their plan

---------

Co-authored-by: Sodbileg Gansukh <sodbileg.gansukh@gmail.com>
2023-07-19 18:14:20 -07:00
Ghost CI
a17b2f024e Merged v5.54.4 into main 2023-07-19 13:18:09 +00:00
Ghost CI
a715b8f3ed v5.54.4 2023-07-19 13:18:06 +00:00
Daniel Lockyer
b7aac3e360
🐛 Fixed ghost.min.css asset compilation
refs https://github.com/TryGhost/DevOps/issues/48

- due to changes in the build workflow, we no longer depended on
  `ghost`'s own `build` before producing the tarball
- as a result, the minified css was not produced and private pages were
  unstyled
- this adds our own `build` step to the list of dependencies for
  `archive`
2023-07-19 14:51:17 +02:00
Sag
8a32941ae8
Added support for importing Stripe Coupons as Offers (#17415)
closes https://github.com/TryGhost/Product/issues/3595

- when importing paid members with a coupon in Stripe, we currently
search for the corresponding offer in our database and attach it to the
subscription if found. However, if an offer doesn't exist in the
database, we do not create one and don't attach any offer to the
subscription
- with this change, we now support the creation of a new offer, based on
a Stripe coupon, if it didn't exist already
2023-07-19 14:26:42 +02:00
Ronald Langeveld
5b7bca1f1e
Bumped Koenig Packages (#17418)
no issue

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at bfc259e</samp>

Updated content rendering packages to fix bugs and improve performance.
This affects how Ghost outputs HTML and AMP pages from the
`@tryghost/kg-default-nodes` and `@tryghost/kg-lexical-html-renderer`
modules.
2023-07-19 11:11:15 +00:00
renovate[bot]
b82cbeec04 Update sentry-javascript monorepo to v7.59.2 2023-07-19 07:53:05 +02:00
Ronald Langeveld
6dc000e247
🐛 Fixed success state on change password button. (#17410)
closes https://github.com/TryGhost/Product/issues/3604

- The change password button in the user settings wasn't updating correctly.
- the saveNewPasswordTask() wasn't returning anything, causing `
this.get('task.last.value')` to return undefined in the `isSuccess`
method.
- This fix ensures that there is a value attached to the
`task.last.value` so that the condition for a successful save checks
out.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at a6a76eb</samp>

Improved error handling and feedback for changing user passwords in the
settings UI. Modified `saveNewPasswordTask` function in
`ghost/admin/app/controllers/settings/staff/user.js` to catch and
display errors and return user object.
2023-07-18 17:58:06 +02:00
Naz
53f9f954c1 Added tag filter support to collections
refs https://github.com/TryGhost/Arch/issues/41

- When an new collection is created the relational "tags" filter is now picked up properly and appropriate posts matching the tag filter are assigned and stored in the collection. Example collection filter that is now supported: `tags:['bacon']`
- Additionally cleaned up returned collection post DTOs, so we return as little data as possible and add only the fields that are needed
2023-07-18 20:18:54 +08:00
Naz
939a8fef33 Moved CollectionPost type to it's own file
refs https://github.com/TryGhost/Arch/issues/41

- This type has to be reused in other class, so best way to do it is having it separated into it's own file
2023-07-18 20:18:54 +08:00
Naz
eec610dc53 Added collection handling for post's tag attach events
refs https://github.com/TryGhost/Arch/issues/41

- When a tag is attached or detached to the post automatic collections matching  the tag filter should be updated.
2023-07-18 18:36:49 +08:00
Naz
f4301b16e8 Added collection filter input to the Admin UI
refs https://github.com/TryGhost/Arch/issues/41

- Having a filter input for an automatic collection make it way easier to test things without messing with the database.
2023-07-18 18:36:49 +08:00
Naz
9ce0c92597 Refactored model interceptor to use switch syntax
refs https://github.com/TryGhost/Arch/issues/41

- Having switch statement instead of lots of if/else is slightly more readable. Before adding 5 more event mappings it makes sense to cleanup before things get too messy :)
2023-07-18 18:36:49 +08:00
Sag
daa19e06b4
Added request throttling to stay under the Stripe Search API rate limits (#17393)
refs https://github.com/TryGhost/Product/issues/3593

- also uses `.current_period_end` instead of `.created_at` to retrieve
the most recent subscription, when multiple customer with the same email
address are found. Reason: `created_at` date is reset when migrating
subscriptions between Stripe accounts
2023-07-18 09:41:42 +00:00
Daniel Lockyer
60e478ff90 Enabled sourcemaps in tsconfig
refs https://ghost.slack.com/archives/C05DUT549JR/p1689604345421799

- this enables sourcemap creation in our tsconfig setup so breakpoints
  work correctly in a debugger
- this should eventually be switched out for a CLI flag as we don't want
  to produce sourcemaps all the time (for example during release)
2023-07-17 17:41:57 +02:00
Aileen Booker
c281935a35 Added ref query param to Explore link 2023-07-17 16:31:57 +01:00
Ghost CI
367ff21ed6 Merged v5.54.3 into main 2023-07-17 14:18:35 +00:00
Ghost CI
b74e29aa70 v5.54.3 2023-07-17 14:18:33 +00:00
Daniel Lockyer
999425ccf6
Fixed loading CDN assets via lazy loading
refs https://github.com/TryGhost/DevOps/issues/47

- in the event we supply a CDN URL, don't prefix the URL with anything
  as this will get auto-prefixed
- if not, add the Ghost Admin root because the assets sit under there
2023-07-17 15:40:46 +02:00
Daniel Lockyer
dc2c8330af
Configured Admin to use CDN URLs for lazy-loaded assets
refs https://github.com/TryGhost/DevOps/issues/47

- this allows Ghost to use a different URL for lazy-loaded assets, so it
  can be loaded from a CDN
2023-07-17 15:40:42 +02:00
Daniel Lockyer
46422d7bae Reverted "Enabled Sentry Replay within Admin"
refs https://ghost.slack.com/archives/C02G9E68C/p1689599266267649

- this reverts commit bb6deda10e
- we're seeing some weird errors when Admin boots otherwise
2023-07-17 15:31:25 +02:00
Daniel Lockyer
27d8441098
Reverted "Enabled Sentry Replay within Admin"
refs https://ghost.slack.com/archives/C02G9E68C/p1689599266267649

- this reverts commit bb6deda10e
- we're seeing some weird errors when Admin boots otherwise
2023-07-17 15:23:59 +02:00
Kevin Ansfield
53096e214c
🐛 Fixed poor performance when rendering beta editor posts (#17388)
no issue

- bumps `@tryghost/kg-lexical-html-renderer` which includes a change to drastically reduce the number of `jsdom` instantiations made when rendering text content
2023-07-17 14:21:37 +01:00
Kevin Ansfield
636b1e67b2
Fixed pages API test snapshot having a flaky cache string (#17391)
no issue

- `x-cache-invalidate` will vary across different runs as the post's preview uuid will be different each time the post is created
2023-07-17 13:21:00 +00:00
Kevin Ansfield
135f5fa287
🐛 Fixed poor performance when rendering beta editor posts (#17388)
no issue

- bumps `@tryghost/kg-lexical-html-renderer` which includes a change to drastically reduce the number of `jsdom` instantiations made when rendering text content
2023-07-17 13:42:55 +01:00
Daniel Lockyer
67a8244811 Fixed loading CDN assets via lazy loading
refs https://github.com/TryGhost/DevOps/issues/47

- in the event we supply a CDN URL, don't prefix the URL with anything
  as this will get auto-prefixed
- if not, add the Ghost Admin root because the assets sit under there
2023-07-17 14:03:20 +02:00
Naz
97f24338bf Commented out flaky collections tests
refs https://github.com/TryGhost/Arch/issues/16

- There's a race condition happening when processing multiple collection updates at the same time. It causes the state to be inconsistent between the runs.
- Once the event handling is improved these tests should be put back into action
2023-07-17 20:02:54 +08:00
Ronald Langeveld
0c719f33f7 🐛 Fixed memberlinks returning undefined in autocomplete. (#17385)
refs https://github.com/TryGhost/Ghost/pull/17327

- Added an additional condition to avoid the new memberLinks function
from returning undefined, which may lead to nothing being returned at
all in the autocomplete.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->

Improved `memberLinks` function in `koenig-lexical-editor.js` to support
optional links and fix a bug.
2023-07-17 13:38:31 +02:00
Ronald Langeveld
baa84f4765
Added base styles for Header Card v2 (#17387)
refs https://github.com/TryGhost/Product/issues/3508

- copied over styles from the signup card, which is what the new header
card is loosely based on.
- this is meant to be hacked till we have the new header card look
pretty.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 150aa92</samp>

This change introduces a new header card v2 component that allows users
to create custom headers for their Ghost site. It adds a new CSS file
`header_v2.css` that defines the styles and responsive behavior for the
component. The file uses modern CSS features to achieve a flexible and
consistent design. The file is part of the frontend module of the Ghost
core repository.
2023-07-17 10:49:48 +00:00
Ronald Langeveld
d1e1dc3e79
Fixed memberlinks returning undefined in autocomplete. (#17385)
refs https://github.com/TryGhost/Ghost/pull/17327

- Added an additional condition to avoid the new memberLinks function
from returning undefined, which may lead to nothing being returned at
all in the autocomplete.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 59d45a1</samp>

Improved `memberLinks` function in `koenig-lexical-editor.js` to support
optional links and fix a bug.
2023-07-17 10:45:16 +00:00
Naz
ea2defb76c Updated collection descriptions
refs https://github.com/TryGhost/Arch/issues/25

- Updated collection descriptions to be less wordy and avoid a redundant "Collection" in them.
2023-07-17 18:43:21 +08:00
Naz
c733424cc5 Fixed collections ordering
refs https://github.com/TryGhost/Arch/issues/25

- When run against different DB Engines the returned order of collections belonging to a post is not consistent (SQLite vs MySQL). Having a primitive ordering by slug allows to keep the order compatible
2023-07-17 18:43:21 +08:00
Naz
9bfb197a85 Added fixtures for collection posts
refs https://github.com/TryGhost/Arch/issues/25

- Adds collection_posts fixtures
2023-07-17 18:43:21 +08:00
Naz
b5d1245be1 Added posts_collections table population
refs https://github.com/TryGhost/Ghost/pull/17247

- When the instance is started the posts_collections records should be pre-filled for built-in collections. This is to avoid expensive processing during every instance startup.
2023-07-17 18:43:21 +08:00
Naz
ed91412cd5 Changed "index" collection name to "latest"
https://github.com/TryGhost/Arch/issues/25

- This naming matches how the collection will be visible in the cards and how it's marketed. Naming it "index" even for internal purposes will get confusing.
2023-07-17 18:43:21 +08:00
Naz
acbe3a250e Added built in collection fixtures
refs https://github.com/TryGhost/Arch/issues/25

- The instance should have two built-in collections "latest" (prviously known as "index") and "featured". These have been filled through in-memory tricks before, now they should come pre-populated through fixtures mechanism.
2023-07-17 18:43:21 +08:00
Fabien "egg" O'Carroll
605aa18d6a Added collections helper
This is an initial implementation which uses the Posts Content API rather than
the Collections Content API, this is because we haven't added the Collections
Content API yet, but we can added it later when necessary.
2023-07-17 11:35:30 +01:00
Fabien "egg" O'Carroll
be0dbe3e91 Used posts-service for Posts Content API
We want to keep the differences between the Content & Admin API's in the API
layer, rather than at the service layer. The caching functionality hasn't been
moved yet though, and can be handled separately.
2023-07-17 11:35:30 +01:00
Daniel Lockyer
e87c994bba Configured Admin to use CDN URLs for lazy-loaded assets
refs https://github.com/TryGhost/DevOps/issues/47

- this allows Ghost to use a different URL for lazy-loaded assets, so it
  can be loaded from a CDN
2023-07-17 10:57:42 +02:00
renovate[bot]
8e4393d16f Update dependency @playwright/test to v1.36.1 2023-07-17 09:48:14 +02:00
Chris Raible
b625fe76b1
Updated snapshots to include show_title_and_feature_image in event payload (#17378)
no issue

- Tests were failing for me locally because the snapshot for testing
page event payloads didn't include the new
`show_title_and_feature_image` property
- Updated snapshot to include this property, which also changed a few content lengths and `x-cache-invalidate` headers as a side effect
2023-07-14 16:03:40 -07:00
Sag
f746704ba1
Fixed detection of the stripe_customer_id field in Members Import (#17375)
no issue
2023-07-14 15:43:38 +00:00
Ghost CI
fad31e0bca v5.54.2 2023-07-14 15:34:52 +00:00
Ghost CI
a7292cbf1f v5.54.1 2023-07-14 15:03:30 +00:00
Daniel Lockyer
95682f6f94 Configured auto-imported assets to load from supplied URL
refs https://github.com/TryGhost/DevOps/issues/47

- this allows us to optionally configure a URL to set as the CDN URL in
  Admin
2023-07-14 16:29:59 +02:00
Daniel Lockyer
704fc18856 Removed duplicate build step during tarballing
- we don't need to define this in `prepack` because Nx can be configured
  to do this for us
2023-07-14 14:29:14 +02:00
Daniel Lockyer
0616222d2e Added support for prepending CDN URLs to Admin assets
refs https://github.com/TryGhost/DevOps/issues/47

- this allows us to produce builds that use URLs from a CDN if the env
  var is provided
2023-07-14 12:27:37 +02:00
Daniel Lockyer
06a9e03f20 Added woff2 and mp4 file fingerprinting to Admin
refs https://ghost.slack.com/archives/C027S85FS/p1688984189646059?thread_ts=1688979558.123869&cid=C027S85FS

- this enables those file extensions to get fingerprinted so the
  filenames contain hashes
2023-07-14 10:50:18 +02:00
Daniel Lockyer
9a68187b8e Reformatted list of fingerprint-enabled file extensions
- this makes it easier to read the diff when you're adding extensions
2023-07-14 10:50:18 +02:00
Daniel Lockyer
9f40c90e07 Switched to Nx runner for more tasks
- this switches us to using Nx for `ghost:dev`, which means we can
  configure its dependencies and ensure that the TS projects are built
  beforehand
- also switches to Nx for `ghost:archive` so we don't need to run
  `build:ts` for all `yarn` commands
2023-07-14 08:52:01 +02:00
Naz
0be06f0237 Added extra logging to collections event processing
no issue

- These logs are useful when tracking event processing by the collections repo.
2023-07-14 14:20:37 +08:00
Naz
382d7fa25f Removed unused collections repositories
no issue

- These repositories were leftover from first phases of collections development. Not needed any longer as we have more specialized bookshelf repositories in the core code
2023-07-14 14:20:37 +08:00
renovate[bot]
6a13e5e737 Update dependency postcss to v8.4.26 2023-07-14 08:16:06 +02:00
Kevin Ansfield
3fdf5adbfd
Moved show_title_and_feature_image to @page.show_title_and_feature_image (#17353)
no issue

- updated frontend's `formatResponse` method to add `@page` to the local template data
  - added here because it's the first place we have both context and page data available
  - makes the property available outside of the page context so it can be used to modify layouts
- updated `prepareContextResource()` to delete `show_title_and_feature_image`
  - ensures `@page.show_title_and_feature_image` is the only way of accessing that property
  - method is used when rendering multiple entries so it also prevents differences in context data between looped pages and single pages
2023-07-13 14:26:33 +00:00
renovate[bot]
eec68d876b Update sentry-javascript monorepo to v7.58.1 2023-07-13 15:08:54 +02:00
renovate[bot]
873f3f4ae3 Update sentry-javascript monorepo to v7.58.1 2023-07-13 14:07:33 +02:00
Daniel Lockyer
62dc14197a Fixed typo in Brazilian Portuguese translations
refs https://secure.helpscout.net/conversation/2299289258/127776?folderId=7510559

- as reported by a customer :)
2023-07-13 14:05:03 +02:00
Sag
9f438972f1
Added search by email for Stripe Customer ID during member import (#17326)
closes https://github.com/TryGhost/Product/issues/3593

- when importing members via CSV, it's now possible to add the value "auto" for the "stripe_customer_id" field. When this option is passed, the importer will search for a Stripe customer based on the email address provided
- if there are multiple Stripe customers with the same email address, the customer with the most recent subscription is returned
2023-07-13 13:20:54 +02:00
Stefan Cruz
48dfb6ede3
Updated Portuguese translations (#17336)
refs https://github.com/TryGhost/Team/issues/2795
2023-07-13 09:59:50 +02:00
renovate[bot]
d1ac5260e3 Update dependency @babel/eslint-parser to v7.22.9 2023-07-13 08:28:35 +02:00
renovate[bot]
9bb9c3c6ed Update dependency @embroider/macros to v1.12.3 2023-07-13 08:27:49 +02:00
renovate[bot]
672a19f78e Update sentry-javascript monorepo to v7.58.0 2023-07-13 06:03:29 +02:00
Jono M
9dd2489000
Fixed bugs with AdminX navigation settings (#17340)
refs https://github.com/TryGhost/Product/issues/3433

- Removed Ember dirty state from AdminX to prevent extra popups
- Fixed incorrect navigation popup new item errors
2023-07-13 01:12:31 +00:00
Steve Larson
42d87d1437
Updated koenig lexical packages (#17325)
no refs
-updated to get collections card changes
2023-07-12 10:59:20 -05:00
Ronald Langeveld
3960847ab6
🐛 Fixed member links not added to autocomplete (#17327)
refs https://ghost.slack.com/archives/C056H5Z4HEK/p1689168376165479

- Added missing paid member links to the autocomplete function within
the Koenig-Lexical editor.
- This bring it in line with the mobiledoc editor.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at f49f6a5</samp>

This change adds a new feature to the editor component that allows users
to insert links related to members and subscriptions. It depends on the
`membersUtils` service and the `koenig-lexical-editor` component.
2023-07-12 16:43:12 +02:00
Daniel Lockyer
2aa7da3a0b Improved monorepo tooling setup
refs https://github.com/TryGhost/DevOps/issues/45

- this switches the monorepo over to using Nx instead of Lerna, because
  we don't currently need the versioning+publishing capabilities
- this also adds an `nx.json`, which allows us to enable task caching
- also adds `build:ts` to the TS projects, which is cached for fast execution
- how these interact with the dev.js script will hopefully soon be
  reworked to be a better experience
2023-07-12 16:27:39 +02:00
Steve Larson
ec04d93de8
Added collections data to editor (#17320)
refs TryGhost/Product#3555
2023-07-12 12:11:07 +00:00
renovate[bot]
c329aa772f Update dependency ember-svg-jar to v2.4.3 2023-07-12 09:51:22 +02:00
Daniel Lockyer
e893c92074 Deduplicated tsconfig.json files
refs https://github.com/TryGhost/DevOps/issues/45

- this moves the bulk of the tsconfig file to the `ghost/` folder and
  simply extends this file in each of the TS lib packages we currently
  have
- this makes it a lot easier to make single changes to our TS config
2023-07-12 09:34:00 +02:00
renovate[bot]
249c7fbff6 Update dependency i18next-parser to v8.2.0 2023-07-12 07:31:33 +02:00
renovate[bot]
828d3e4a1a Update dependency @playwright/test to v1.36.0 2023-07-11 20:53:08 +02:00
Daniel Lockyer
f7c767d473 Removed unused Bluebird import
refs https://github.com/TryGhost/Ghost/issues/14882

- this is no longer used so we can remove it as we move towards removing
  Bluebird from the codebase
2023-07-11 17:49:26 +02:00
Princi Vershwal
e9dd016079
Refactored to use native Promise.all in place of Bluebird (#17026)
refs https://github.com/TryGhost/Ghost/issues/14882

-  removed Bluebird Promise.props from files in favor of native Promise.all
2023-07-11 17:36:03 +02:00
renovate[bot]
b1b4e7cfb6 Update dependency ember-simple-auth to v5 2023-07-11 17:33:12 +02:00
Daniel Lockyer
afdf555fe0
Removed more Bluebird usages (#17302)
refs https://github.com/TryGhost/Ghost/issues/14882

- we're nuking our use of Bluebird in favor of native Promises, so this commit removes most of the usage we have in the core module
2023-07-11 15:07:16 +00:00
Halldor Thorhallsson
49f6477ad5 Removed bluebird from core/server/api/endpoints
refs https://github.com/TryGhost/Ghost/issues/14882
2023-07-11 16:05:36 +02:00
renovate[bot]
2edde38575 Update dependency webpack to v5.88.1 2023-07-11 13:27:05 +00:00
renovate[bot]
7dce046786 Update Test & linting packages 2023-07-11 15:26:07 +02:00
Sven
5863915b8d
Updated German translations (#17257)
refs https://github.com/TryGhost/Product/issues/2795
2023-07-11 15:02:32 +02:00
renovate[bot]
f0efb195dc Update dependency terser to v5.19.0 2023-07-11 13:02:04 +00:00
renovate[bot]
7cafe20275 Update dependency yjs to v13.6.6 2023-07-11 12:42:32 +00:00
Sanne de Vries
83aa247fba Updated padding for full width signup card
No ref
2023-07-11 14:38:07 +02:00
renovate[bot]
2a68bfcf5d Update dependency @isaacs/ttlcache to v1.4.1 2023-07-11 12:32:42 +00:00
renovate[bot]
49643b5b98 Update dependency socket.io to v4.7.1 2023-07-11 12:20:21 +00:00