Skip to content

feat(tasks): widen send_followup_message signal handler arity - #71562

Merged
VojtechBartos merged 1 commit into
masterfrom
vojtab/slack-followup-signal-handler
Jul 20, 2026
Merged

feat(tasks): widen send_followup_message signal handler arity#71562
VojtechBartos merged 1 commit into
masterfrom
vojtab/slack-followup-signal-handler

Conversation

@VojtechBartos

Copy link
Copy Markdown
Member

Problem

Temporal delivers every positional arg a caller sends straight to the signal handler, and a handler declaring fewer params than were sent raises and fails the workflow task. The follow-up queue stack widens send_followup_message from 2 args to 5 (message_id, actor_user_id, message_context). If a new sender reaches an old worker mid-rollout, that workflow gets stuck until the worker upgrades.

Change

Widen the handler signature to the full 5-param arg list now, with defaults and the body unchanged (the extra fields are accepted and ignored here). Deploying this to every worker first makes them tolerant of both the old and new call shapes, so the senders in the rest of the stack can ship safely.

Deploy this first and let it fully roll out before the sender changes (#70806#70762) deploy.

How did you test this code?

Signature-only change, body identical to before; existing follow-up signal tests pass. Base of the follow-up queue stack.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team July 16, 2026 14:10
@VojtechBartos
VojtechBartos requested a review from a team July 16, 2026 14:11
@greptile-apps

greptile-apps Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(tasks): widen send_followup_message..." | Re-trigger Greptile

@trunk-io

trunk-io Bot commented Jul 16, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

Accept the full per-message positional arg list (message_id, actor_user_id,
message_context) with defaults, ahead of the callers that populate it. Temporal
delivers every positional arg a caller sends to the handler, so a handler
declaring fewer params than were sent fails the workflow task. Deploying this
widened handler to all workers first lets the follow-up queue and actor changes
send the richer signal without breaking in-flight workflows during rollout.
@VojtechBartos
VojtechBartos force-pushed the vojtab/slack-followup-signal-handler branch from 129a602 to da75016 Compare July 17, 2026 10:08
@VojtechBartos
VojtechBartos merged commit 8216629 into master Jul 20, 2026
182 checks passed
@VojtechBartos
VojtechBartos deleted the vojtab/slack-followup-signal-handler branch July 20, 2026 07:36
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 20, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-20 07:59 UTC Run
prod-us ✅ Deployed 2026-07-20 08:14 UTC Run
prod-eu ✅ Deployed 2026-07-20 08:14 UTC Run

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.

2 participants