Skip to content

feat(talon): ingest WhatsApp approval reactions - #4347

Closed
John Kennedy (jkennedyvz) wants to merge 5 commits into
mainfrom
john/talon/whatsapp-reaction-approval
Closed

feat(talon): ingest WhatsApp approval reactions#4347
John Kennedy (jkennedyvz) wants to merge 5 commits into
mainfrom
john/talon/whatsapp-reaction-approval

Conversation

@jkennedyvz

@jkennedyvz John Kennedy (jkennedyvz) commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Why this is useful

WhatsApp users can approve agent actions via emoji reactions (e.g. 👍 to confirm) instead of typing text replies, matching the existing Telegram flow and lowering friction for human-in-the-loop review. Operators enable reactions in the WhatsApp channel config and the bridge ingests message_reaction events; approvals flow through the same reaction handler as Telegram.


Stacked on #4345.

Adds WhatsApp reaction ingestion on top of the shared reaction approval contract. The bridge now registers message_reaction, emits explicit event_type discriminators for new message and reaction queue entries, and normalizes concrete-user emoji reactions with bounded raw_reaction metadata. The Python adapter branches on event_type, keeps legacy message entries compatible, rejects unknown event types without crashing the poll loop, ignores reaction removals, applies exposure checks, and dispatches accepted reactions through the reaction handler.

Validation run:

  • uv run --group test pytest --disable-socket --allow-unix-socket tests/channels/test_whatsapp.py --timeout 10
  • make lint_diff
  • make test
  • node --check deepagents_talon/channels/whatsapp_bridge/bridge.js

@github-actions github-actions Bot added feature New feature/enhancement or request for one internal User is a member of the `langchain-ai` GitHub organization size: M 200-499 LOC talon labels Jun 27, 2026
@jkennedyvz
John Kennedy (jkennedyvz) marked this pull request as ready for review June 27, 2026 22:53

@open-swe open-swe Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open SWE Review found 1 potential issue.

Open in WebView Open SWE trace

Comment thread libs/talon/deepagents_talon/channels/whatsapp_bridge/bridge.js
@github-actions github-actions Bot added size: L 500-999 LOC and removed size: M 200-499 LOC labels Jun 27, 2026
@jkennedyvz
John Kennedy (jkennedyvz) marked this pull request as draft June 28, 2026 01:17
Base automatically changed from john/talon/reaction-approval-contract to main June 28, 2026 22:12
@jkennedyvz
John Kennedy (jkennedyvz) force-pushed the john/talon/whatsapp-reaction-approval branch from c611560 to c665a1a Compare June 28, 2026 22:30
@mdrxy

Copy link
Copy Markdown
Member

Cleaning backlog; feel free to re-open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature/enhancement or request for one internal User is a member of the `langchain-ai` GitHub organization size: L 500-999 LOC talon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants