Skip to content

fix(chat): bring a restored workflow's chat back online when it is relaunched - #9888

Merged
waleedlatif1 merged 3 commits into
stagingfrom
fix/restored-chat-relaunch
Nov 11, 2026
Merged

waleedlatif1 merged 3 commits into
stagingfrom
fix/restored-chat-relaunch

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • Deleting a workflow archives its chat with isActive: false; restore clears only archivedAt, so the restored chat kept answering 403 "This chat is currently unavailable"
  • "Launch Chat" (the update path) redeployed the workflow and reported success but never set isActive, so the chat stayed offline and the modal kept offering "Launch Chat" with Delete hidden — no way out from the UI
  • Deploying or updating a chat now sets isActive: true in both paths: updateChatDeployment (editor PATCH, v2 PATCH) and performChatDeploy's update branch (internal POST, v2 deploy, Copilot deploy_chat). Both already guarantee an active workflow deployment before writing the row, so the chat is only marked live when it can answer
  • Restore itself is unchanged: re-enabling stays explicit, matching how redeploy re-activates schedules and webhooks (comment in lib/folders/config.ts updated)

Side effects checked

  • Every writer that sets chat.isActive = false (workflow archive, fork promote, fork rollback) sets archivedAt in the same statement, and no API accepts isActive as input. The only rows this can change are chats restored after an archive
  • Both update paths resolve the chat with archivedAt IS NULL, so a chat whose workflow is still deleted cannot be reactivated (covered by a test)
  • The update mutation already invalidates the chat status query, so after a relaunch the modal shows the chat as launched and Delete comes back

Type of Change

  • Bug fix

Testing

  • New lib/chat-deployments/__integration__/relaunch-after-restore.integration.ts against real Postgres: real deploy → archive → restore → relaunch through updateChatDeployment and through performChatDeploy, plus a deleted-workflow negative case
  • Red on the pre-fix code; reverting each half of the fix separately turns its own test red, then green with the full fix
  • Existing chat deploy/manage/status/v2 route and orchestration tests pass (6 files, 76 tests)
  • biome on changed files; full type-check, check:audits and the suite run in CI

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 11, 2026 8:58pm UTC

Request Review

@cubic-dev-ai cubic-dev-ai Bot left a comment •

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.

1 issue found across 4 files

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/sim/lib/chat-deployments/application/update-chat-deployment.ts">

<violation number="1" location="apps/sim/lib/chat-deployments/application/update-chat-deployment.ts:209">
P1: This re-enables the chat after accepting an `active` attempt without confirming that the attempt is current or that an active deployment version exists. Mirror the shared deploy path's `isCurrent` and `activeDeployment` checks before writing `isActive: true`, otherwise the UI can report a launched chat that still cannot answer.</violation>
</file>

@greptile-apps

greptile-apps Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no new actionable issues were found.

Summary

Restored chats come back online when explicitly relaunched.

  • Launching a restored workflow brings its chat back online.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Archive workflow] --> B[Chat archived and offline]
  B --> C[Restore workflow]
  C --> D[Chat restored but offline]
  D --> E[Explicitly relaunch chat]
  E --> F[Confirm workflow is live]
  F --> G[Update only an unarchived chat]
  G --> H[Chat online]
Loading

Reviews (3) · Last reviewed commit: "fix(chat): never re-enable a chat archiv..." · Reviewed by Greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

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.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

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.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

This branch was previously deployed

1 inactive deployment
Preview — 0e22b668 Deployed Nov 11, 2026 by vercel[bot]
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