Skip to content

Fix Fast image-only Slack follow-ups - #1483

Closed
daniel-lxs wants to merge 1 commit into
developfrom
agent/fast-image-only-followups
Closed

Fix Fast image-only Slack follow-ups#1483
daniel-lxs wants to merge 1 commit into
developfrom
agent/fast-image-only-followups

Conversation

@daniel-lxs

@daniel-lxs daniel-lxs commented Aug 19, 2026

Copy link
Copy Markdown
Member

What changed

  • resolve the current Slack message's files from the event or thread history before deciding a Fast turn is empty
  • treat an image-only Fast follow-up as a multimodal question instead of showing the !fast usage hint
  • download at most three Slack images per Fast turn
  • enforce the same three-image cap when building native OpenCode file parts

Why

Slack can omit file metadata from the event while returning it through conversations.replies. Fast already recovers that thread metadata for text-plus-image turns, but it decided an empty-text turn was invalid before fetching the thread, so image-only follow-ups never reached the model.

Bounding the images before download and again before inference keeps large Slack posts from creating unbounded multimodal payloads.

This supersedes the remaining useful behavior from #1446; the underlying native-session screenshot support already shipped in #1474.

Validation

  • @roomote/api: 207 test files, 1,799 tests
  • @roomote/cloud-agents: 99 test files, 775 tests
  • pnpm check-types
  • pnpm lint
  • pnpm knip
  • targeted ESLint for all five changed files

Smoke test

Mock Slack app-mention-fast passed against pushed head 50a39ba7 using OpenCode 1.18.10:

  • a normal Fast root established the conversation
  • an image-only follow-up with four real PNG attachments produced a visual answer instead of the usage hint
  • the three-file selection is asserted at the Slack download boundary and again at native OpenCode file construction

@roomote-community

roomote-community Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

Reviewed 50a39ba

@daniel-lxs

Copy link
Copy Markdown
Member Author

Closing because this replacement was created from the same PR-number mix-up. No code from this PR was merged.

@daniel-lxs daniel-lxs closed this Aug 19, 2026
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.

1 participant