Skip to content

feat(api): react to comments with emoji (core#298) - #362

Closed
dpb97 wants to merge 3 commits into
Windshiftapp:mainfrom
Pilanda-ERP:upstream/comment-reactions
Closed

dpb97 wants to merge 3 commits into
Windshiftapp:mainfrom
Pilanda-ERP:upstream/comment-reactions

Conversation

@dpb97

@dpb97 dpb97 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Lets users acknowledge a comment (e.g. after an @mention) without writing a reply.

  • comment_reactions persistence: migration plus fresh-install schema for SQLite and PostgreSQL, unique per comment, user, and reaction; rows cascade with the comment and the user.
  • Fixed reaction set: thumbs_up, check, eyes, heart, laugh, hooray.
  • API v2: POST /comments/{comment_id}/reactions and DELETE /comments/{comment_id}/reactions/{reaction}, both idempotent and gated like commenting (comment read + item.comment). Comment list, get, update, and batch responses carry grouped reactions; approval rows never do.
  • Live update: reactions publish an item change so open views reconcile.
  • UI: reaction chips under each comment (own reaction highlighted, click toggles, tooltip lists who reacted) and a picker; strings for en, de, fr, ru, zh-CN.
image

Lets users acknowledge a comment (e.g. after an @mention) without writing
a reply.

- comment_reactions persistence: migration plus fresh-install schema for
  SQLite and PostgreSQL, unique per comment, user, and reaction; rows
  cascade with the comment and the user.
- Fixed reaction set: thumbs_up, check, eyes, heart, laugh, hooray.
- API v2: POST /comments/{comment_id}/reactions and
  DELETE /comments/{comment_id}/reactions/{reaction}, both idempotent and
  gated like commenting (comment read + item.comment). Comment list, get,
  update, and batch responses carry grouped reactions; approval rows never do.
- Live update: reactions publish an item change so open views reconcile.
- UI: reaction chips under each comment (own reaction highlighted, click
  toggles, tooltip lists who reacted) and a picker; strings for en, de, fr,
  ru, zh-CN.
@github-actions

Copy link
Copy Markdown

This PR has merge conflicts that need to be resolved before it can be merged. Please rebase on the latest main branch.

@dpb97 dpb97 changed the title feat(comments): react to comments with emoji (core#298) feat(api): react to comments with emoji (core#298) Oct 21, 2026
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@github-actions github-actions Bot removed the conflict label Oct 21, 2026
@github-actions

Copy link
Copy Markdown

Merge conflicts have been resolved.

dpb97 added 2 commits October 21, 2026 09:52
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolve conflict with the api barrel removal (WI-1757): drop the
index.js additions and import the reaction calls from api/misc.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dpb97
dpb97 force-pushed the upstream/comment-reactions branch from b2c12ab to aeeefcb Compare October 21, 2026 07:53
@dpb97

dpb97 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

recheck

@stefan-ernst

Copy link
Copy Markdown
Contributor

Thanks for this. Bringing it in as #364 with a few adjustments: the service test moved to Windshiftapp/core-tests-internal#3 (this repo does not keep tests), the Go 1.27.3 bump is kept as its own commit, and the picker options got a stable test id. #362 can be closed once #364 lands.

stefan-ernst added a commit that referenced this pull request Oct 21, 2026
feat(api): react to comments with emoji (#362)
@stefan-ernst

Copy link
Copy Markdown
Contributor

Landed as #364 (tests in Windshiftapp/core-tests-internal#3). Closing as superseded — thanks @dpb97.

github-actions Bot pushed a commit to NSXBet/windshift-core that referenced this pull request Oct 21, 2026
Lets users acknowledge a comment (e.g. after an @mention) without writing
a reply.

- comment_reactions persistence: migration plus fresh-install schema for
  SQLite and PostgreSQL, unique per comment, user, and reaction; rows
  cascade with the comment and the user.
- Fixed reaction set: thumbs_up, check, eyes, heart, laugh, hooray.
- API v2: POST /comments/{comment_id}/reactions and
  DELETE /comments/{comment_id}/reactions/{reaction}, both idempotent and
  gated like commenting (comment read + item.comment). Comment list, get,
  update, and batch responses carry grouped reactions; approval rows never do.
- Live update: reactions publish an item change so open views reconcile.
- UI: reaction chips under each comment (own reaction highlighted, click
  toggles, tooltip lists who reacted) and a picker; strings for en, de, fr,
  ru, zh-CN.

Contributed by @dpb97 in Windshiftapp#362.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants