Commit Graph

36345 Commits

Author SHA1 Message Date
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
Jono M
05e6588832
Wired up AdminX Labs settings (#17844)
refs https://github.com/TryGhost/Product/issues/3745

---

This pull request adds and refactors several components and hooks for
the labs and advanced settings in the admin app. It introduces feature
flags for alpha and beta features, and allows the user to upload and
download redirects, routes and content files.
2023-08-28 16:24:03 +01:00
Fabien 'egg' O'Carroll
7c934ebf46
Enabled collection param for Post APIs
This will allow us to browse posts based on their collection which will
be used for rendering the collections card. As with the Collections API
we're not opening up the write endpoints yet.
2023-08-28 07:34:58 +00: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
Jono M
0b720c237c
Added dirty state to user detail modal (#17824)
refs https://github.com/TryGhost/Product/issues/3349

---

Improved user experience for editing user details in the admin settings.
Added `dirty` state to track and handle unsaved changes in the
`UserDetailModal` component.
2023-08-24 15:49:37 +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
Simon Backx
7a7c11c7ec Released comments-ui v0.13.0 2023-08-24 11:05:19 +02:00
Simon Backx
e9703f6a15
Extended translations beta to comments (#17801)
refs https://github.com/TryGhost/Product/issues/3504
2023-08-24 10:33:03 +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
Jono M
d33a70f40d
Added limit checks to AdminX settings (#17784)
refs https://github.com/TryGhost/Product/issues/3751

---

This pull request adds limit checks and upgrade prompts for various
features in the admin-x-settings app, such as staff, members,
newsletters, custom integrations, and custom themes. It uses a custom
hook called `useLimiter`, which relies on the `@tryghost/limit-service`
package and the host settings configuration data.
2023-08-23 21:04:27 +00:00
Chris Raible
851981ac1d
Released Portal 2.34.3 (#17808)
no issue

- this version allows use of the /signup/free link even if the free plan
is hidden from portal
2023-08-23 12:37:26 -07:00
Ronald Langeveld
8193040f29
Fixed analytics exports to fetch on demand in Admin X (#17802)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1692804385770949

- Analytics exports was previously retrieved on on page load instead of
on demand.
- This fixes that to ensure it gets fetched when the user hits the
download button.
- Renamed the file saving to `post-analytics.yyyy-mm-dd.csv`

---

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

Improved the export posts feature in the membership settings by fetching
the data only on demand and adding a date to the file name. Modified the
`usePostsExports` hook and the `exportPosts` function in
`Analytics.tsx`.
2023-08-23 18:18:44 +02:00
Sodbileg Gansukh
1a2fa55c1e Fixed product card image overflow in Gmail
no issues

- product card images have explicit width/height attributes, and when the width value is large (e.g. 2560), it causes an overflow on Gmail on Android
- the reason why there's no issue on other email clients is that Gmail on Android has autofit feature which makes the email width fit inside the screen automatically, and it made the email width very narrow when the product card image width isn't responsive
- this fix makes the product card image width responsive by explicitly setting it 100%
2023-08-23 22:02:54 +08: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
Simon Backx
9aa3b7e46f Updated Sinhalese language
no issue

Due an unknown issue in i18n-parser, \u200d characters are added in sentences. Couldn't find a way to avoid this. This character should be invisible.
2023-08-23 15:11:41 +02:00
Simon Backx
4f604af744 🐛 Fixed translations with spaces missing in signup-form
refs https://ghost.slack.com/archives/C02G9E68C/p1692784819620269
refs https://github.com/TryGhost/Product/issues/3504

- Somehow, when using i18n in TypeScript, the require will put some of the keys into 'default' and not into the root. Mainly all keys that have a space in them. Couldn't find any documentation about this
- The solution is to also add 'default' to the keys that are being used in the code

This change also fixes the translate script (wasn't updated for updated paths), includes the missing translations, and already adds comments to lookup translation strings
2023-08-23 15:11:41 +02: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
Michael Barrett
a69841a465
🐛 Fixed member signup from offer when terms are not specified (#17795)
fixes https://github.com/TryGhost/Product/issues/3753

The validation for the terms checkbox was being executed when the terms
checkbox was not being rendered. The validation checks needed to be
updated to account for if the checkbox was rendered or not. Basically
the same as this:
45a70a3f4c
2023-08-23 13:25:26 +01:00
Ronald Langeveld
429e8ed4d9
Added debounce to design modal on Admin X (#17793)
refs https://github.com/TryGhost/Product/issues/3349

- When updating certain states, eg the branding colour using or a typing
in a text box, we want it display on the preview almost immediately.
However this comes with a drawback of sending a ton of requests to the
server.
- This fix adds debouncing which essentially adds a small delay of
500ms, to wait for the user to finish typing / selecting colour before
making a request.

---

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

Improved the performance and user experience of the site description and
accent color settings by debouncing the backend updates. Added a
`debounce` utility function in `debounce.ts`.
2023-08-23 13:59:43 +02:00
Martijn Burger
50147c6a67
Updated Dutch translations (#17622)
refs https://github.com/TryGhost/Team/issues/2795
2023-08-23 13:29:01 +02:00
renovate[bot]
f9589ff7bd Update dependency vitest to v0.34.2 2023-08-23 11:45:02 +01:00
renovate[bot]
9efdee1683 Update dependency @tailwindcss/forms to v0.5.5 2023-08-23 11:42:46 +01:00
renovate[bot]
549ad9ea7c Update dependency @types/react to v18.2.21 2023-08-23 11:42:35 +01:00
Djordje Vlaisavljevic
76adef7d9e
Fixed issue with list borders (#17792)
no refs

- Removed unnecessary `border-bottom` on list header and `border-top:
none` that was added to avoid double borders
2023-08-23 11:36:45 +01: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
Ronald Langeveld
359617462a
Fixed portal not passing all params in preview - Admin X (#17783)
refs https://github.com/TryGhost/Product/issues/3349

- Previously it detected members as being disabled altogether, which
wasn't the case.
- This resolves that by passing in a few extra required params to have
Portal loading properly

---

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

This pull request enhances the portal preview feature by adding new
parameters to the iframe URL for the portal settings and pricing tiers.
It also cleans up some code in `PortalFrame.tsx` for better readability
and type safety.
2023-08-23 10:48:20 +02:00
renovate[bot]
2159b4fb30 Update dependency luxon to v3.4.1 2023-08-22 22:47:51 +01:00
renovate[bot]
5cd8b15cfd Update storybook monorepo to v7.3.2 2023-08-22 17:40:57 +01:00
renovate[bot]
8f780ba763 Update dependency html-validate to v8.3.0 2023-08-22 17:40:25 +01:00
renovate[bot]
7e63c541c9 Update dependency lint-staged to v14.0.1 2023-08-22 17:40:09 +01:00
renovate[bot]
26bdba9d4c Update dependency concurrently to v8.2.1 2023-08-22 17:39:36 +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
Jono M
8e24ca51ad
Wired up Slack integration in AdminX (#17781)
refs https://github.com/TryGhost/Product/issues/3729

This pull request improves the Slack integration settings by allowing
users to test the webhook URL and save the settings from a modal. It
also refactors the `SlackModal` component and adds a new API function
`useTestSlack` to handle the test message.
2023-08-22 12:15:38 +01:00
Ronald Langeveld
e61b62e6be
Wired up Analytics export download trigger (#17782)
refs https://github.com/TryGhost/Product/issues/3349

- added a download handler for the analytics download button.
- wired up the download api endpoint

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

This pull request adds a feature to export post analytics as a csv file
from the membership analytics dashboard. It implements a new query hook,
a download function, and a response handler in the
`apps/admin-x-settings` app, and adds a test case for the feature.
2023-08-22 11:09:05 +00:00
Jono M
49493abf75
Added tests for custom integrations (#17770)
refs https://github.com/TryGhost/Product/issues/3729

---

This pull request enhances the custom integrations feature in the
admin-x-settings app by adding accessibility and UI improvements to the
`Select` and `WebhookModal` components, refactoring the webhook and
integration types in the API module, and adding a new end-to-end test
file to verify the functionality using mocked API responses.
2023-08-22 11:25:25 +01: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