Skip to content

Slack: expand interaction payload normalization coverage#18413

Closed
Solvely-Colin wants to merge 1 commit into
openclaw:mainfrom
Solvely-Colin:codex/slack-interaction-payload-coverage
Closed

Slack: expand interaction payload normalization coverage#18413
Solvely-Colin wants to merge 1 commit into
openclaw:mainfrom
Solvely-Colin:codex/slack-interaction-payload-coverage

Conversation

@Solvely-Colin

@Solvely-Colin Solvely-Colin commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Improves Slack interaction payload normalization coverage so downstream workflows receive complete, consistent data.

  • include single-select option labels in selectedLabels
  • cover mixed select payload variants (selected_options, users, channels, conversations)
  • cover picker payload variants (selected_date, selected_time, selected_date_time)
  • verify modal state normalization across select + picker field types

Scope

  • src/slack/monitor/events/interactions.ts
  • src/slack/monitor/events/interactions.test.ts

Validation

  • pnpm test src/slack/monitor/events/interactions.test.ts
  • pnpm check

Dependency

Depends on:

If reviewing before dependencies merge, review tip commit: 2451e726e.

Greptile Summary

Fixes a this-binding bug in the viewClosed handler registration. The previous code destructured the viewClosed method from the cast ctx.app object, which detaches it from its receiver and loses the this context. The new code stores a reference to the object and calls viewClosed as a method, preserving this binding — consistent with how ctx.app.action(...) and ctx.app.view(...) are already called elsewhere in the same function.

  • Replaced destructured viewClosed function reference with method call on appWithViewClosed object
  • No behavioral change beyond preserving correct this binding at runtime
  • Aligns the viewClosed registration pattern with the existing action and view registration patterns

Confidence Score: 5/5

  • This PR is safe to merge — it fixes a real this-binding issue with a minimal, well-scoped change.
  • The change is a 2-line refactor that fixes a method binding bug. It follows an existing pattern already used for action() and view() in the same function. No new logic, no new dependencies, no behavioral changes beyond the binding fix.
  • No files require special attention.

Last reviewed commit: de5e226

@openclaw-barnacle openclaw-barnacle Bot added channel: slack Channel integration: slack agents Agent runtime and tooling size: XL labels Feb 16, 2026
@Solvely-Colin
Solvely-Colin force-pushed the codex/slack-interaction-payload-coverage branch from 2451e72 to eaf2ee6 Compare February 16, 2026 23:03
@steipete steipete closed this Feb 16, 2026
@openclaw-barnacle openclaw-barnacle Bot added size: XS and removed agents Agent runtime and tooling size: XL labels Feb 16, 2026
@steipete steipete reopened this Feb 17, 2026
@Solvely-Colin
Solvely-Colin force-pushed the codex/slack-interaction-payload-coverage branch from eaf2ee6 to de5e226 Compare February 17, 2026 00:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: slack Channel integration: slack size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants