0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-06 22:40:14 -05:00
Commit graph

40125 commits

Author SHA1 Message Date
Kevin Ansfield
3dd33968f5 Improved various aspects of comments app
ref https://linear.app/ghost/issue/PLG-300/

Full details available soon on https://ghost.org/changelog/

- removed `commentImprovements` labs flag conditionals
2024-12-12 19:03:23 +00:00
Àlex Rodríguez Bacardit
904a30082e
🌐 Updated Catalan translations in comments.json (#21827)
- Corrected certain inaccuracies. 
- Added coherence to infinitives for actions (save -> desar)
- Added missing translations.
2024-12-12 16:11:54 +00:00
echobilisim3421
262126e40b
🌐 Added missing Turkish translations to portal.json (#21784)
- Added all missing/blank translations in the portal.json file
2024-12-12 16:00:22 +00:00
Àlex Rodríguez Bacardit
b1275e6776
🌐 Updated Catalan translations in signup-form.json (#21831)
- Corrected typos and style. 
- Added missing translations.
- Added coherent style (tu vs vostè) across files.
2024-12-12 15:21:52 +00:00
Peter Zimon
e2fad8bcb5
Added experimental section in Shade (#21875)
ref https://linear.app/ghost/issue/DES-1033/icon-implementation

The Storybook structure contained Lucide icons under "Components", but
it's an experimental component. This commit creates an Experimental
component group in Shade and updates the corresponding docs.
2024-12-12 12:12:23 +00:00
Peter Zimon
2f671eca69
Shade icons (#21873)
closes https://linear.app/ghost/issue/DES-1033/icon-implementation

In Shade right now there's no support for icons, which is a fundamental
building block in any design system. We use Streamline Icons which
unfortunately don't have an out-of-the-box React support like e.g.
Lucide Icons. This PR adds support for custom icons to be used directly
from Shade by importing SVG's from a directory and creating React
components dynamically. It also adds a grid view of all available icons
in Storybook so it's easy to get an overview of available icons and copy
their React component.
2024-12-12 11:47:26 +01:00
Daniël van der Winden
d78802d7d1
🐛 Fixed responsive issues with Posts filters (#21871)
When using the Admin on a mobile device, the filters on the Posts screen
fell off the screen. They weren't scrollable horizontally, making them
difficult to use. These changes address that.
The Members header uses the same markup, so I addressed a responsive
issue there as well (the search bar for Members wasn't behaving
accurately across resolutions).

fixes
https://linear.app/ghost/issue/DES-1030/filters-for-posts-fall-off-screen-on-mobile-resolutions

**Before / After**


https://github.com/user-attachments/assets/f7d51801-6949-45d0-aea6-054f17d92a19
2024-12-12 09:29:11 +01:00
Princi Vershwal
dd9810fc96
Fixed creating unverified session for reset password (#21867)
Fixes https://linear.app/ghost/issue/ENG-1855/fix-reset-password-flow-in-case-of-2fa

- User is getting stuck on reset password page and they receive a verify token on the mail and nothing happens on the UI. 
- This is happening because the session is not verified in the case of the reset password flow. The backend is sending a code to verify the session, but we don't have the UI in place where the user can enter the code.
- Previously, the user would be redirected to the dashboard once they clicked on "Save new password."
- Now when 2FA is on, we should directly redirect to the dashboard as the reset password link was sent to the email address anyway. This is why we are creating an already verified session in this case.
2024-12-12 07:47:15 +00:00
Sodbileg Gansukh
2308f6f4e1
Fixed deleted member styling in the post analytics (#21874)
ref DES-1012

- previously, when a member was deleted, they were displayed with an
avatar initial `NM`, the name was empty, and their list item wasn't
clickable, which led to user confusion
- now it's much clearer with a placeholder avatar and `Deleted member`
as name
2024-12-12 15:38:13 +08:00
Djordje Vlaisavljevic
038a3e5939
Improved ActivityPub reader view (#21854)
ref https://linear.app/ghost/issue/AP-633/reader-view-customization-options, https://linear.app/ghost/issue/AP-631/estimated-reading-time-in-reader-view

- Added reader view customization options (typefaces, font sizes and line height) which allow users to make the reading experience suit their personal needs and taste. Changing the font size also subtly tweaks the spacing and width of the articles.
- Added an estimated reading time and a simple text-based progress indicator, so users have a better idea of the article length and their progress when reading long-form content.
2024-12-11 18:58:46 +00:00
Peter Zimon
fbbf34e1d0
Added Shade fundamentals (#21812)
ref
https://linear.app/ghost/issue/DES-1020/create-new-react-app-for-shade

Shade is our new design system that follows React best practices and
leverages third-party libraries extensively. It's built on ShadCN/UI
which is one of the most popular React UI libraries today. This commit
adds an (almost) empty React app, set up to be the a starting point of
Shade.
2024-12-11 15:55:58 +01:00
Sanne de Vries
8e5730680e
Improved discoverability of email design settings (#21869)
No ref
- Added "design" and "customization" to the keywords for the newsletters
settings
- Added a description to the newsletters settings
2024-12-11 13:35:32 +00:00
Paul Davis
2351016647
Move saveRaw method from LocalImagesStorage and LocalStorageBase class (#21810)
ref
https://linear.app/ghost/issue/CON-3/external-media-inliner-should-inline-more-file-types

The external media inliner requests each file as a buffer. Saving this
works well for images, but not media or files as the `saveRaw` method is
not available on those storage adapters.

This PR moves the `saveRaw` method from `LocalImagesStorage` to
the `LocalStorageBase` class so it is available to subclasses.
2024-12-11 12:24:01 +00:00
Ghost CI
1feb38442d Merged v5.104.2 into main 2024-12-11 12:01:02 +00:00
Ghost CI
4a4c6c4063 v5.104.2 2024-12-11 12:01:01 +00:00
Michael Barrett
adacb4f451
Changed location of built public content to temporary dir (#21857)
refs
[ONC-662](https://linear.app/ghost/issue/ONC-662/fix-file-write-issues-in-ghost-application-related-to-asset-generation)

Changed location of built public content to temporary dir to circumvent
file writing issues in some environments (i.e gluster). This is a
stop-gap measure until we get to refactoring the generation of the built
public content.
2024-12-11 11:44:43 +00:00
Michael Barrett
712ae4025f
Changed location of built public content to temporary dir (#21857)
refs
[ONC-662](https://linear.app/ghost/issue/ONC-662/fix-file-write-issues-in-ghost-application-related-to-asset-generation)

Changed location of built public content to temporary dir to circumvent
file writing issues in some environments (i.e gluster). This is a
stop-gap measure until we get to refactoring the generation of the built
public content.
2024-12-11 11:34:37 +00:00
Sanne de Vries
86ee480d45
Updated avatar icon for removed comments (#21864)
No ref
- The previous avatar icon was too busy visually.
2024-12-11 10:10:22 +00:00
Daniël van der Winden
c5182e2174
🐛 Fixed mobile navigation for Admin (#21863)
Previously, the only way to close the navigation in Ghost Admin on
mobile was to tap outside of the menu, on the background behind it. With
this change, you can also tap the 'More' button or navigate to any other
menu item to have the menu close itself again.

fixes
https://linear.app/ghost/issue/DES-993/the-slide-out-panel-inside-ghosts-admin-on-mobile-lacks-intuitive

https://github.com/user-attachments/assets/db48a8cd-db4f-4118-9d6a-7b7b3d5e6236
2024-12-11 10:17:25 +01:00
Kevin Ansfield
e86d44ff85 Fixed replies line showing after all replies have been deleted
ref https://linear.app/ghost/issue/PLG-267

- updated delete comment action so it removes comments rather than just updating their status to `'deleted'`
- deleted comments that still have replies have their status updated so the replies remain visible
- matches updated API behaviour where deleted comments are not shown at all
2024-12-11 08:41:27 +00:00
Sag
bd20ad3adb
🐛 Fixed missing subscription attribution on free to paid upgrade (#21846)
closes https://linear.app/ghost/issue/ENG-1561

- problem: When a free member upgraded to paid, we sometimes did not
capture the subscription attribution data

- cause:
    - after checkout, Stripe sends `customer.subscription.created`,
`customer.subscription.updated` and `checkout.session.completed` webhook
events
    - we want to create a subscription in our database based on the
`checkout.session.completed` event, as it contains additional data (e.g.
subscription attribution data)
    - but, we were sometimes creating a subscription based on a
`customer.subscription.*` event during free → paid upgrades, which did
not contain subscription attribution data

- solution: we now ignore `customer.subscription.*` events until a
member and its related subscription have been created in the database
first, by the `checkout.session.completed` event
2024-12-11 02:49:28 +00:00
Steve Larson
dd9d3a6f2e
Added node event support to the job queue (#21858)
ref https://linear.app/ghost/issue/ENG-1851/
- added handling so that jobs run by the job queue can emit events on
completion
- added tests

Events (both node and our DomainEvents lib) must be emitted on the
primary process, so we can't emit these within the worker threads.
Instead, we'll return the necessary data with the job's completion in
the thread message such that the JobQueueManager can emit whatever
events may be needed.
2024-12-10 21:47:49 +00:00
Kevin Ansfield
0f9449137f Fixed comment count in comments-ui when logged in as admin
closes https://linear.app/ghost/issue/PLG-297

- we were setting the comment count Admin API browse comments response meta pagination data which will never be correct because it only counts top-level comments for pagination purposes
- we have a public comment counts endpoint that is already fetched, there's no need to override that when using the Admin API because the overall count doesn't change across API's, even when the Admin API includes hidden comments because those don't impact the visible count
- updated test setup so the title and count is shown so it can be asserted against
- updated mocked api to correctly return count of all published comments+replies
2024-12-10 18:59:49 +00:00
Steve Larson
78c1d5bcf0
Added config for caching the member lookup for link clicks (#21855)
https://linear.app/ghost/issue/ENG-1850/
- added cache/memoized the member uuid lookup within the
LinkClickRepository (used by the LinkClickTrackingService)
- added repository tests for the save method which were absent

This one one of a series of options we're testing out in order to smooth
out the surge in requests following a newsletter send. Most of this
activity is due to link checkers, but Ghost still needs to spend time
processing the member lookup to know whether or not it is a valid id,
and memoizing this lookup could significantly improve throughput by
reducing DB contention.
2024-12-10 11:37:47 -06:00
Kevin Ansfield
1fb417b6a3 Fixed dropdown menu being cut off in comments-ui
closes https://linear.app/ghost/issue/PLG-273

- removed previous fix which only worked on last comment but not last reply
  - keeping track of last comment/reply spread a lot of domain knowledge around for a UI-only concern and wouldn't scale if we have other dropdowns in the future
- added `useOutOfViewportClasses` hook
  - accepts an object with top/bottom/right/left containing default and outOfViewPort classes
  - applies the correct classes using the DOM rather than React so that we avoid re-renders and associated flickering or broken rendering
2024-12-10 17:15:29 +00:00
Steve Larson
109c7b70ee
Added config flag to disable link click tracking (#21853)
no ref

This isn't needed at this time. We're doing some load testing to better
assess what piece is doing the most work, and this config flag lets us
shut off pieces of the redirect flow.
2024-12-10 16:08:58 +00:00
Ronald Langeveld
04f0b9fc3f
Fixed comment likes being incorrect when logged in as an Admin (#21833)
ref https://linear.app/ghost/issue/PLG-296/

When logged in as an Admin, comments-ui switches comment reads from the Members API over to the Admin API so that hidden comments can be displayed to allow moderation activities. However, the Admin API not using member authentication and CORS preventing the front-end members auth cookie being passed over to the Admin API domain meant that the logged-in member's likes were missing when fetching via the Admin API as there is no available reference to the logged in member.

This change works around the problem by introducing an `impersonate_member_uuid` param to the comments read/browse endpoints of the Admin API. When passed, the provided uuid is used to simulate that member being logged in so that likes are correctly shown.

- Introduced `impersonation_member_id` parameter to resolve issues with admin API not returning correct "liked" status for comments when an admin is logged in.
- Updated API endpoints in `comment-replies.js` and `comments.js` to handle `impersonation_member_id`.
- Adjusted `CommentsController` to validate and process the `impersonation_member_id` parameter before passing it to database queries.
- Enhanced test coverage to ensure proper handling of the new parameter and accurate "liked" status behavior.
2024-12-10 14:44:15 +00:00
Hannah Wolfe
ece7c93759
Updated stats page to use versioned endpoints (#21850)
ref https://github.com/TryGhost/Ghost/pull/21794

- We've now added versioning to all of our endpoints as of pr/21794
- This change updates the stats page to use the new versioned endpoints
- Currently, it's set to a global as all endpoints are on the same
version
- In future we may need this to be an array of versions for each
endpoint, but for now we're keeping it simple
2024-12-10 13:20:14 +00:00
Hannah Wolfe
34276f13a0
Fixed tinybird tests with versioning (#21849)
ref https://github.com/TryGhost/Ghost/pull/21794

- This was missed in the PR to add versioning to all the resources - the
endpoints are now different, and the tests don't run
- I've been struggling to deploy out my changes, and part of it is
because this is a wholesale change to having versions, where previously
we didn't
- This change brings the tests into line, so we can be certain that the
new endpoints with the versions work the same as the old
- TODO: really must get CI working for tinybird!
2024-12-10 13:04:24 +00:00
Hannah Wolfe
a0dc162b75
Improved robustness of unsafe deploy tb script (#21848)
- Previously the script would error out if a resource was missing e.g.
if a deploy had gone wrong
- That meant I frequently had to make further, manual changes
- These updates mean the script only attempts to delete a resource if it
is present
- Each type of resource is listed in an array and iterated over
- note there is no real difference between data and endpoint pipes, but
we need to manage them in order
- This should make the script much much more robust!
2024-12-10 12:49:24 +00:00
Sanne de Vries
9ffb05f922
Fixed excerpt display in post history modal (#21847)
REF
https://linear.app/ghost/issue/DES-1026/visual-bug-with-excerpt-in-post-history-modal
- The excerpt was not in line with the rest of the content.
- The excerpt divider was visible even when there was no excerpt.
2024-12-10 12:35:52 +00:00
renovate[bot]
c2c9ef71e7 Update dependency express to v4.21.2 2024-12-10 10:48:47 +01:00
Princi Vershwal
9476afb876
🔒 Limited permissions for uploaded files to 0644 (#21841)
Fixes
https://linear.app/ghost/issue/ENG-1010/uploaded-file-permission-security-improvement

- This commit ensures all files uploaded to Ghost via importer are set
with 0644 permissions to improve security.
- Uploaded files previously retained their original permissions, which
could leave them executable.
- This commit prevents files from being inadvertently executable.
2024-12-10 07:11:48 +00:00
renovate[bot]
c38e83d50d
Update dependency express-jwt to v8.5.1 (#21843)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express-jwt](https://redirect.github.com/auth0/express-jwt) |
[`8.5.0` ->
`8.5.1`](https://renovatebot.com/diffs/npm/express-jwt/8.5.0/8.5.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/express-jwt/8.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express-jwt/8.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express-jwt/8.5.0/8.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express-jwt/8.5.0/8.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>auth0/express-jwt (express-jwt)</summary>

###
[`v8.5.1`](c028e7098e...0dfe63b9a7)

[Compare
Source](c028e7098e...0dfe63b9a7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * 1-5" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 19:17:00 +00:00
renovate[bot]
140e11bd76
Update dependency express-jwt to v8.5.0 (#21840)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express-jwt](https://redirect.github.com/auth0/express-jwt) |
[`8.4.1` ->
`8.5.0`](https://renovatebot.com/diffs/npm/express-jwt/8.4.1/8.5.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/express-jwt/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express-jwt/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express-jwt/8.4.1/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express-jwt/8.4.1/8.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>auth0/express-jwt (express-jwt)</summary>

###
[`v8.5.0`](https://redirect.github.com/auth0/express-jwt/compare/v8.4.1...c028e7098ea3dbdd4684f6e4960564e38fccdb96)

[Compare
Source](https://redirect.github.com/auth0/express-jwt/compare/v8.4.1...c028e7098ea3dbdd4684f6e4960564e38fccdb96)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * 1-5" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 16:52:18 +00:00
Kevin Ansfield
5ec9f59411 Removed unused useSecondUpdate hook in comments-ui
no issue

- left over after cleanup of secondary form code
2024-12-09 14:51:27 +00:00
Sanne de Vries
972cc82958
Prevented top-level comment input from closing when it has text (#21795)
REF https://linear.app/ghost/issue/PLG-298/

- When you're typing a comment, and exit the input field, it collapses into a non-editable state; you first have to click on it again to "open" the form. This means you can't select the text or instantly start typing again. When the input has a value, we should stop it from closing.
- added custom `useEditor` hook that wraps TipTap and exposes both the `editor` and `hasContent` props keeping logic out of the consuming components

---------

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2024-12-09 13:42:24 +00:00
Sodbileg Gansukh
b25f42fec6
Fixed flash of reply button when publishing a post (#21836)
ref DES-1027
2024-12-09 18:59:44 +08:00
renovate[bot]
75cece4da7
Update dependency dompurify to v3.2.3 (#21835)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [dompurify](https://redirect.github.com/cure53/DOMPurify) | [`3.2.2`
-> `3.2.3`](https://renovatebot.com/diffs/npm/dompurify/3.2.2/3.2.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/dompurify/3.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dompurify/3.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dompurify/3.2.2/3.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dompurify/3.2.2/3.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cure53/DOMPurify (dompurify)</summary>

###
[`v3.2.3`](https://redirect.github.com/cure53/DOMPurify/releases/tag/3.2.3):
DOMPurify 3.2.3

[Compare
Source](https://redirect.github.com/cure53/DOMPurify/compare/3.2.2...3.2.3)

- Fixed two conditional sanitizer bypasses discovered by
[@&#8203;parrot409](https://redirect.github.com/parrot409) and
[@&#8203;Slonser](https://x.com/slonser\_)
- Updated the attribute clobbering checks to prevent future bypasses,
thanks [@&#8203;parrot409](https://redirect.github.com/parrot409)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * 1-5" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 10:08:05 +00:00
Ronald Langeveld
dbcbabb99a
Add comments loading state action (#21834)
ref https://github.com/TryGhost/Ghost/pull/21788#discussion_r1869802093

- Introduced `setCommentsIsLoading` action to handle the loading state
of comments dynamically.
- Updated `setOrder` function to dispatch the `setCommentsIsLoading`
action, ensuring proper UI feedback during asynchronous operations.
2024-12-09 16:09:14 +08:00
Ghost CI
2f7b151f15 Merged v5.104.1 into main 2024-12-08 23:54:29 +00:00
Ghost CI
21616745e5 v5.104.1 2024-12-08 23:54:28 +00:00
Steve Larson
8d4abb4e33 Fixed config ref for link click tracking logging (#21832)
no ref
2024-12-08 17:41:35 -06:00
Steve Larson
76aa5a4e45
Fixed config ref for link click tracking logging (#21832)
no ref
2024-12-08 23:37:08 +00:00
renovate[bot]
820018ec29
Update dependency @slack/webhook to v7.0.4 (#21825)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@slack/webhook](https://slack.dev/node-slack-sdk/webhook)
([source](https://redirect.github.com/slackapi/node-slack-sdk)) |
[`7.0.3` ->
`7.0.4`](https://renovatebot.com/diffs/npm/@slack%2fwebhook/7.0.3/7.0.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fwebhook/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fwebhook/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fwebhook/7.0.3/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fwebhook/7.0.3/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>slackapi/node-slack-sdk (@&#8203;slack/webhook)</summary>

###
[`v7.0.4`](https://redirect.github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.0.4):
@&#8203;slack/web-api@7.04

[Compare
Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/webhook@7.0.3...@slack/webhook@7.0.4)

### What's Changed

We released a fix for the `oauth.v2.exchange` method argument type;
previously it did not require a `token`, which was incorrect. It now
requires a `token` parameter, which matches the expectations of this API
method.

### Full Changelog


[`ae755dc`](https://redirect.github.com/slackapi/node-slack-sdk/commit/ae755dc4)
web-api(fix): `oauth.v2.exchange` method requires a `token` parameter
([#&#8203;1779](https://redirect.github.com/slackapi/node-slack-sdk/issues/1779))
- thanks for reporting
[@&#8203;iggyray](https://redirect.github.com/iggyray)!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * 1-5" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 23:01:09 +00:00
Djordje Vlaisavljevic
4597abddff Improved grouped notifications UI
ref https://linear.app/ghost/issue/AP-625/implement-notification-grouping-for-follows-and-likes

- Improved handling for notification clicks of various types: single follower notification opens that follower in the drawer, multiple followers expands the followers list, liked post opens the article in the wide drawer, liked note opens the note in the narrow drawer
- Improved hover and click states for profile names, usernames and avatars. Now it's more obvious what's clickable, and clicking on any of these elements in any context opens that profile in the drawer.
- Created a handleProfileClick utility since we're using it in a lot of places.
- Removed unnecessary types
- Made the HTML structure more semantic
2024-12-06 17:04:39 +00:00
Ghost CI
de6efba68a v5.104.0 2024-12-06 15:05:47 +00:00
Ghost CI
3b9d4e16d2 🎨 Updated Source to v1.4.1 2024-12-06 15:05:47 +00:00
Ghost CI
9dce415624 🎨 Updated Casper to v5.8.1 2024-12-06 15:05:47 +00:00
Steve Larson
a5d6b65dde
Added Sentry logging for email link clicks w/ bad member uuid (#21821)
no ref

I've discovered email link checkers appear to be using
falsified/scrambled uuids when testing links for a given site. It's
difficult to check against all sites, so instead we'll log to Sentry to
confirm this is the case.

I've put this behind config because I believe it will create a LOT of
entries, and may burden an already burdened workflow during peak
traffic.
2024-12-06 13:48:38 +00:00