Skip to content

[Feat] Call Roomote from chat reactions - #1034

Merged
brunobergher merged 7 commits into
developfrom
feature/call-roomote-via-emoji-0ozkqsctjg47i
Aug 4, 2026
Merged

[Feat] Call Roomote from chat reactions#1034
brunobergher merged 7 commits into
developfrom
feature/call-roomote-via-emoji-0ozkqsctjg47i

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Created by Roomote. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

What changed

  • Added the Call Roomote via emoji built-in automation with an admin-controlled emoji name, enable state, and optional instructions.
  • Routed matching Slack, Discord, and Microsoft Teams reactions through each provider's existing thread task-entry flow, using Act on this as the default prompt and preserving the reacting user's account attribution.
  • Normalized common named emoji aliases across providers, added Discord reaction Gateway intake, and anchored synthetic Discord turns to the real reacted-to message for accurate context and replies, including after account linking.
  • Kept repeated Discord reaction adds distinct through session-scoped Gateway sequence IDs, bounded thread attachments to the reacted-to message, and replaced regex-based colon trimming with a linear scan.
  • Limited Teams intake and documentation to the native Like, Heart, Laugh, Surprised, Sad, and Angry reactions that Bot Framework delivers on Roomote-authored messages.
  • Updated the automation card to use a Smile icon, participate in Communication category/search filtering, and show the Teams limitation next to the emoji setting.

Why this change was made

Teammates can now summon Roomote from an existing conversation with one reaction instead of writing a new mention. Reusing the normal mention path keeps account linking, active-task continuation, snapshot resume, thread context, and duplicate-event handling consistent.

Impact

Admins get a simple trigger across Slack, Discord, and Microsoft Teams, with provider-specific limits stated in the UI and docs. Existing reaction-driven suggestion actions remain unchanged unless an admin explicitly chooses the same emoji for this automation, in which case the configured Roomote trigger takes precedence.

@roomote-community

roomote-community Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

  • apps/discord-gateway/src/dispatch.ts:284 The dedupe ID now incorporates the Gateway dispatch sequence, so remove/re-add actions receive distinct IDs while exact replays remain idempotent.
  • apps/api/src/handlers/discord/index.ts:257 The reaction target now survives pending account-link storage and correctly restores the real target as the thread anchor after linking.
  • apps/api/src/handlers/discord/task-orchestration.ts:220 Attachment collection now uses the history limited through the reacted-to message.
  • apps/discord-gateway/src/dispatch.ts:285 Reaction dedupe IDs now include a stable hash of the persisted Gateway session, so a new non-resumable session cannot collide with a prior session's dispatch sequence while replays and process restarts remain idempotent.

Reviewed 9697b7e

Comment thread packages/communication/src/reaction-emoji.ts Fixed
@roomote-roomote roomote-roomote Bot changed the title [Feat] Call Roomote from chat threads with emoji reactions [Feat] Call Roomote from chat reactions Aug 3, 2026
@roomote-roomote

roomote-roomote Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Fixed the remaining Discord Gateway session-reset collision in 9697b7ee.

Reaction event IDs now include a deterministic hash of the persisted Gateway session plus the dispatch sequence. Replays remain idempotent across process restarts and resumptions, while a new non-resumable session receives a distinct dedupe scope. Coverage verifies same-session replay, new-session separation, and scope stability after store rehydration.

Focused Discord Gateway tests and repository lint, type, and unused-code gates pass.

@brunobergher
brunobergher marked this pull request as ready for review August 4, 2026 09:51
@brunobergher
brunobergher merged commit c0f6687 into develop Aug 4, 2026
19 checks passed
@brunobergher
brunobergher deleted the feature/call-roomote-via-emoji-0ozkqsctjg47i branch August 4, 2026 10:08
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.

3 participants