Skip to content

fix(hub-ui): retry failed client scripts - #374

Merged
antfu merged 1 commit into
mainfrom
fix/retry-failed-client-script
Sep 9, 2026
Merged

fix(hub-ui): retry failed client scripts#374
antfu merged 1 commit into
mainfrom
fix/retry-failed-client-script

Conversation

@posva

@posva posva commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Retry client-script setup on a later dock activation after a failure.

Found this while working on a model for eager activation of client scripts. The fix seemed reasonable so I'm submitting as a different PR

Copilot AI lite review requested due to automatic review settings September 9, 2026 08:57
@coldtea-pr-lens

coldtea-pr-lens Bot commented Sep 9, 2026

Copy link
Copy Markdown

◈ PR Lens

🟢 +0 new · 🟠 ~1 changed · 🔴 -0 removed · 1 flow · 2 files · commit 9a6e50e


Architecture

Architecture diagram for devframes/devframe at 9a6e50e

1 component touched across 2 lanes.

Open the interactive canvas


Data flow

Data flow diagram for devframes/devframe at 9a6e50e

Dock client script retry on activation

Open the interactive canvas


Drill down
Client Runtimes & UI — 1 component
🟡 CHANGED Dock UI & Web Component

Renders dock entries and runs setup scripts, now clearing cached setup promises on failure so activation can retry.


View

  • Architecture lens
  • Data flow lens
  • Expand every detail
  • Show unchanged neighbours

Tip

PR Lens is free for open source. A star on the repository is what keeps it going.

🪧 More tips
  • Run PR Lens on your own machine: npx skills add coldteadotai/pr-lens installs the agent skill. Then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Draw a diff before it is even a pull request: npx @coldtea/pr-lens-cli analyze --base origin/main reads the diff with your own model key, and npx @coldtea/pr-lens-cli render .pr-lens/graph.json draws the same lenses on your machine.
  • The boxes under View are live. Tick Architecture lens or Data flow lens to choose which diagrams appear, or Expand every detail to open every drill-down at once. The comment redraws in place a few seconds later.
  • Show unchanged neighbours lists the components this change did not touch alongside the ones it did, so the drill-down shows what the changed code sits next to.
  • GitHub will not let you zoom an image in a comment. The link under each diagram opens it on an interactive canvas, where you can zoom, pan and step through the flow.
  • The CLI's render picks up .github/pr-lens.yml automatically and applies your corrections (renames, exclusions, lane pins) at draw time.
  • Would you rather run it from CI on a key of your own? Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and a model key in your repository secrets, say GEMINI_API_KEY. The Action asks Gemini by default, or OpenAI and any endpoint speaking /chat/completions through its provider input.
  • Push a new commit and the whole comment re-renders for the new head. An older run never overwrites a newer one, so a slow render cannot put a stale diagram back.
  • The diagrams follow your GitHub theme, so dark mode gets the dark render and light mode the light one, and the moving dots show this pull request's data in motion.

◈ Rendered by PR Lens · crafted with ❤️ by the Coldtea team · Come say hi on Discord

@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
devframe Skipped Skipped Sep 9, 2026 8:57am UTC

Copilot AI 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.

🟢 Approval recommended

The change is small, localized, and directly covered by an added integration test that exercises the new retry behavior.

Pull request overview

This PR updates the hub-ui dock client-script setup caching so that a failed client-script setup doesn’t permanently block future activations of the same dock entry, aligning behavior with the hub UI’s “activate to try again” workflow.

Changes:

  • Clear the cached setup promise for non-action dock entries when the setup promise rejects, allowing subsequent activations to retry setup.
  • Add an integration test that simulates a failing client script on first activation and verifies setup is retried successfully on a later activation.
File summaries
File Description
packages/hub-ui/src/client/state/setup-script.ts Ensures failed non-action client-script setup promises are removed from the cache so later activations can retry.
packages/hub-ui/src/client/state/client-script.integration.test.ts Adds coverage proving a failed client-script setup is retried on subsequent dock activation.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@antfu
antfu merged commit b9994f1 into main Sep 9, 2026
15 checks passed
@antfu
antfu deleted the fix/retry-failed-client-script branch September 9, 2026 23:21
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.

3 participants