Skip to content

feat(messages): include reactions in JSON output#114

Merged
piekstra merged 1 commit intomainfrom
piekstra/113-include-reactions-in-json-output
Feb 11, 2026
Merged

feat(messages): include reactions in JSON output#114
piekstra merged 1 commit intomainfrom
piekstra/113-include-reactions-in-json-output

Conversation

@piekstra
Copy link
Collaborator

Closes #113

Why

The Slack API returns reaction data on messages from conversations.replies and conversations.history, but the CLI's Message struct had no Reactions field — so this data was silently discarded during JSON unmarshalling. Integrations that consume -o json output couldn't see which reactions were on messages, losing important thread context (e.g., acknowledgements, approvals).

What changed

  • Added Reaction type (name, count, users) to the client package
  • Added Reactions []Reaction field (with omitempty) to Message struct
  • The Slack API already returns this data — no API call changes needed, just struct alignment

Test plan

  • New client tests verify reactions are deserialized from mock API responses (both GetThreadReplies and GetChannelHistory)
  • New command tests verify reactions appear in JSON output from runThread and runHistory
  • Existing tests continue to pass (messages without reactions are unaffected due to omitempty)
  • Full test suite green

The Message struct was missing a Reactions field, causing reaction data
from the Slack API to be silently discarded during JSON unmarshalling.
Added Reaction type and Reactions field to Message so that
conversations.replies and conversations.history responses now pass
through reaction data to JSON output.

Closes #113
@piekstra piekstra merged commit 04023bb into main Feb 11, 2026
2 checks passed
@piekstra piekstra deleted the piekstra/113-include-reactions-in-json-output branch February 11, 2026 01:39
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.

messages thread: include reactions in JSON output

1 participant