Skip to content

fix(slack): Complete processing reactions on reaction-only turns#937

Merged
dcramer merged 3 commits into
mainfrom
fix/reaction-only-processing-cleanup
Jul 17, 2026
Merged

fix(slack): Complete processing reactions on reaction-only turns#937
dcramer merged 3 commits into
mainfrom
fix/reaction-only-processing-cleanup

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Reaction-only / no-reply turns (e.g. "give me a heart reaction") were leaving the processing emoji stuck and skipping the completed emoji.

Processing reaction lifecycle

complete() used to early-return when removing the processing reaction failed, so the done emoji never got added. Remove and done are now independent steps.

Post-delivery completion

After Slack accepted a no-reply / reaction-only delivery, post-delivery errors could skip onTurnCompleted, so the turn ran stopAll() (remove only) instead of completeAll() (remove + done). Delivery acceptance now always notifies turn completion (idempotently).

Coverage

  • unit tests for complete / keep / remove-fail-still-done
  • integration case for reaction-only no-reply cleanup
  • existing reaction-only eval asserts processing emoji removed and done present

Verified: unit processing-reaction.test.ts (3/3), typecheck clean. Integration and evals not run in this environment (no local Postgres/docker / sandbox gateway).

Requested by David Cramer via Junior.

--

View Junior Session

Reaction-only / no-reply turns left the processing emoji stuck when post-delivery
work failed before onTurnCompleted, and complete() skipped the done emoji if
removing the processing reaction failed. Always notify turn completion after
delivery acceptance, and always attempt remove+done independently.

Also cover the lifecycle in unit/integration tests and the existing reaction-only
eval (assert processing emoji removed and done added).

Co-Authored-By: David Cramer <david@sentry.io>
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
junior-docs Ready Ready Preview Jul 17, 2026 4:35am

Request Review

Co-Authored-By: David Cramer <david@sentry.io>
vi.mock factories are hoisted above const declarations, so the outbound
reaction spies need vi.hoisted to avoid ReferenceError under CI.
@dcramer
dcramer marked this pull request as ready for review July 17, 2026 05:42
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Jul 17, 2026
@dcramer
dcramer merged commit b710c23 into main Jul 17, 2026
34 checks passed
@dcramer
dcramer deleted the fix/reaction-only-processing-cleanup branch July 17, 2026 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: medium PR risk score: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant