0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-20 22:42:53 -05:00
ghost/apps/comments-ui
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
..
src Fixed comment likes being incorrect when logged in as an Admin (#21833) 2024-12-10 14:44:15 +00:00
test Fixed comment likes being incorrect when logged in as an Admin (#21833) 2024-12-10 14:44:15 +00:00
.env Added custom build setup 2022-07-04 15:15:01 +02:00
.eslintrc.js Extended translations beta to comments (#17801) 2023-08-24 10:33:03 +02:00
.yarnrc Prevented git tags from being created for apps 2023-07-10 13:09:28 +02:00
LICENSE Migrated from Webpack to Vite and updated dependencies 2023-06-21 15:28:01 +02:00
package.json Bumped comments-ui to 0.24.1 (#21797) 2024-12-04 02:48:20 +00:00
playwright.config.ts Refactored comments-ui form management (#21621) 2024-11-14 18:26:23 +00:00
postcss.config.cjs Migrated Comments-UI to TypeScript (#17129) 2023-06-27 14:51:37 +02:00
README.md Updated README of Comments UI with release instructions (#20560) 2024-07-08 16:15:23 +00:00
tailwind.config.js Added highlight animation when scrolling to replied-to comment (#21781) 2024-12-05 17:46:16 +00:00
tsconfig.json Converted Comments-UI App to TypeScript and React hooks (#17760) 2023-08-18 13:30:59 +00:00
tsconfig.node.json Migrated Comments-UI to TypeScript (#17129) 2023-06-27 14:51:37 +02:00
vite.config.ts Added Dev Container setup (#21279) 2024-10-24 11:15:08 -07:00

Comments UI

Comments widget that is embedded at the bottom of posts in Ghost.

Development

Pre-requisites

  • Run yarn in Ghost monorepo root

Running via Ghost yarn dev in root folder

You can automatically start the comments dev server when developing Ghost by running Ghost (in root folder) via yarn dev --all or yarn dev --comments. This will host the comments JavaScript files, and makes sure that Ghost uses these locally hosted assets instead of the ones from the CDN.

Release

A patch release can be rolled out instantly in production, whereas a minor/major release requires the Ghost monorepo to be updated and released. In either case, you need sufficient permissions to release @tryghost packages on NPM.

Patch release

  1. Run yarn ship and select a patch version when prompted
  2. (Optional) Clear JsDelivr cache to get the new version out instantly (docs). Typically, you'll need to open https://purge.jsdelivr.net/ghost/comments-ui@~${COMMENTS_UI_VERSION}/umd/comments-ui.min.js and https://purge.jsdelivr.net/ghost/comments-ui@~${COMMENTS_UI_VERSION}/umd/main.css in your browser, where COMMENTS_UI_VERSION is the latest minor version in ghost/core/core/shared/config/defaults.json (code)

Minor / major release

  1. Run yarn ship and select a minor or major version when prompted
  2. Update the Comments UI version in ghost/core/core/shared/config/defaults.json to the new minor or major version (code)
  3. Wait until a new version of Ghost is released

Copyright & License

Copyright (c) 2013-2024 Ghost Foundation - Released under the MIT license.