Skip to content

fix: refresh workflow builder pipelines after cloud connect#853

Merged
leszko merged 1 commit into
mainfrom
rafal/fix-no-ltx
Apr 7, 2026
Merged

fix: refresh workflow builder pipelines after cloud connect#853
leszko merged 1 commit into
mainfrom
rafal/fix-no-ltx

Conversation

@leszko
Copy link
Copy Markdown
Collaborator

@leszko leszko commented Apr 7, 2026

Summary

  • Invalidate _pipeline_schemas_cache on cloud connect/disconnect so stale local-only pipeline data is never served during the connection transition
  • Move pipelinesVersion bump to a finally block in PipelinesContext.refreshPipelines() so the graph editor's useGraphState effect always gets a re-fetch trigger, even if the initial refresh failed during cloud proxy establishment

Fixes the bug where the LTX-2 pipeline (preinstalled in cloud) didn't appear in the workflow builder's pipeline dropdown until the page was refreshed.

Test plan

  • Connect to cloud with LTX plugin preinstalled
  • Verify ltx-2 appears in the graph editor pipeline dropdown without page refresh
  • Disconnect from cloud and verify local pipelines are shown correctly
  • Install a plugin via the Nodes dialog in cloud mode and verify it appears after server restart

Generated with Claude Code

When the LTX plugin is preinstalled in the cloud, connecting to cloud
didn't reliably update the graph editor's pipeline dropdown because:

1. The backend's _pipeline_schemas_cache could serve stale local-only
   data if a request slipped through during the cloud connection
   transition. Invalidate the cache on cloud connect/disconnect.

2. PipelinesContext.refreshPipelines() only bumped pipelinesVersion on
   success. If the fetch failed (e.g. cloud proxy momentarily
   unavailable), the version counter never incremented, so the graph
   editor's useGraphState effect never got a second trigger to re-fetch.
   Move the version bump to a finally block so dependent effects always
   get a chance to retry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Rafał Leszko <rafal@livepeer.org>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 7, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e12540ac-303c-47fb-8166-f6eeacc644f7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rafal/fix-no-ltx

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@leszko leszko merged commit 7ff3a35 into main Apr 7, 2026
10 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 7, 2026

🚀 fal.ai Preview Deployment

App ID daydream/scope-pr-853--preview
WebSocket wss://fal.run/daydream/scope-pr-853--preview/ws
Commit 5ce8ebf

Livepeer Runner

App ID daydream/scope-livepeer-pr-853--preview
WebSocket wss://fal.run/daydream/scope-livepeer-pr-853--preview/ws
Auth private

Testing Livepeer Mode

SCOPE_CLOUD_MODE=livepeer SCOPE_CLOUD_APP_ID="daydream/scope-livepeer-pr-853--preview/ws" uv run daydream-scope

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