Skip to content

[Fix] Discord automation replies require mentions and task links lack context - #2288

Merged
mrubens merged 3 commits into
developfrom
fix/discord-automation-replies-2z27qiokxkht8
Sep 6, 2026
Merged

[Fix] Discord automation replies require mentions and task links lack context#2288
mrubens merged 3 commits into
developfrom
fix/discord-automation-replies-2z27qiokxkht8

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @mrubens. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

Related issue

No separate issue. Complements #2017, which merged into develop and is already included in this branch's base; its thread reply-reference fix is not duplicated here.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

Automation report threads were recognized only when the incoming message explicitly referenced the report root. Normal thread messages omit that reference, and inline replies to later messages reference a different ID, causing legitimate unmentioned replies to be ignored. The post-launch fallback also presented a context-free task link.

What changed

  • Resolve automation reports from the immutable Discord thread root, preserving explicit reply lookup outside threads and provider/parent-channel scoping.
  • Retain linked-account requirements, Fast session routing checks, unknown-thread rejection, and interjection/chatter guards.
  • Replace the shared bare task-navigation fallback with Started coding task: [Open coding task in Roomote](...) for successful new launches. Launchers explicitly distinguish newly created runs from reused runs; existing tasks or missing creation signals retain Coding task: [Open coding task in Roomote](...). The descriptive action label retains selected-session/task destinations.
  • Keep failed-launch and existing-card suppression intact. No UI redesign or database migration.

Users can follow up in known automation-report threads without repeatedly tagging Roomote, subject to existing conversation guards. The inline-reply fix comes from merged #2017; deployment must include that change and this PR to address the full report. Production deployment and live Discord behavior were not verified.

How it was tested

  • Tests added first reproduced 5 incoming-routing failures and 3 task-copy failures before the source fixes.
  • On the refreshed base including [Fix] Discord thread replies show broken message references #2017: 90 API Discord handler/guard tests, 222 Fast service tests, and 33 Discord provider tests passed (345 total).
  • Follow-up kickoff wording validation: 237 cloud-agents service/launcher tests and 12 Discord Fast tests passed, including new, reused, and unknown creation states. API/cloud-agents typechecks and scoped lint passed.
  • pnpm lint and pnpm check-types passed across the repository.
  • Pre-push oxlint, residual ESLint, fast typechecks, and knip passed; hooks were not bypassed.
  • Browser proof is not applicable to transport classification and generated Discord messages on the local Roomote browser surface. No live Discord replay or screenshots claimed.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset

@roomote-community

roomote-community Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • Do not report idempotently reused tasks as newly started.

Reviewed 2cc5240

@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review September 6, 2026 13:29
{
purpose: 'progress',
message: `[Open in Roomote](${destinationUrl})`,
message: `[Started coding task](${destinationUrl})`,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also runs for an idempotent replay that reuses an existing task. enqueueTask skips beforeEnqueue on that path, but the existing task still resolves to a Session URL, so this posts “Started coding task” even though no task was started. Keep the fallback wording neutral for reused runs (or retain the creation signal) so the status is accurate.

@mrubens
mrubens merged commit 8999039 into develop Sep 6, 2026
16 of 17 checks passed
@mrubens
mrubens deleted the fix/discord-automation-replies-2z27qiokxkht8 branch September 6, 2026 14:03
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