feat(talon): ingest WhatsApp approval reactions - #4347
Closed
John Kennedy (jkennedyvz) wants to merge 5 commits into
Closed
feat(talon): ingest WhatsApp approval reactions#4347John Kennedy (jkennedyvz) wants to merge 5 commits into
John Kennedy (jkennedyvz) wants to merge 5 commits into
Conversation
John Kennedy (jkennedyvz)
marked this pull request as ready for review
June 27, 2026 22:53
added 5 commits
June 28, 2026 15:23
John Kennedy (jkennedyvz)
force-pushed
the
john/talon/whatsapp-reaction-approval
branch
from
June 28, 2026 22:30
c611560 to
c665a1a
Compare
Member
|
Cleaning backlog; feel free to re-open |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_reactionevents; 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 explicitevent_typediscriminators for new message and reaction queue entries, and normalizes concrete-user emoji reactions with boundedraw_reactionmetadata. The Python adapter branches onevent_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 10make lint_diffmake testnode --check deepagents_talon/channels/whatsapp_bridge/bridge.js