Skip to content

fix(core): bump nitro to 3.0.260610-beta to fix dev-server cold-start crash#1294

Open
teleaziz wants to merge 11 commits into
mainfrom
fix-nitro
Open

fix(core): bump nitro to 3.0.260610-beta to fix dev-server cold-start crash#1294
teleaziz wants to merge 11 commits into
mainfrom
fix-nitro

Conversation

@teleaziz

@teleaziz teleaziz commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Bumps nitro 3.0.260415-beta3.0.260610-beta to fix a dev-server
cold-start crash (Vite environment "nitro" is unavailable / UND_ERR_SOCKET).
The Nitro v3-beta worker raced its entry import on slow startup; the newer beta
resolves it

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Open the full interactive recap

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

builder-io-integration[bot]

This comment was marked as outdated.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

builder-io-integration[bot]

This comment was marked as outdated.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

builder-io-integration[bot]

This comment was marked as outdated.

@builder-io-integration

Copy link
Copy Markdown
Contributor

⚠️ Review Agent ran into a problem and couldn't finish reviewing the latest commit.

We've been automatically notified and are looking into it. Push a new commit to re-trigger the review, or contact support@builder.io if this keeps happening.

Error ID: 31ae79ebf5b847a99cf987e409f0cdc0

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@builder-io-integration builder-io-integration 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.

Builder reviewed your changes and found 1 potential issue 🟡

Review Details

This incremental update expands the original Nitro bump into a fuller cold-start fix for framework routes. In addition to aligning nitro, jiti, and rollup, the PR now patches h3.config.onRequest in framework-request-handler.ts so framework-route readiness is awaited before h3 snapshots middleware, and it adds targeted regression tests for the dev-runtime race. The overall direction is sound: the new gate addresses the timing problem at the right lifecycle point, and the dependency metadata is now aligned for downstream consumers.

I classified this as standard risk because it changes core runtime/request-dispatch infrastructure rather than product UI. After re-reviewing the updated code and verifying the dependency alignment, I found one confirmed behavioral issue in the failure-path handling for broad tracked prefixes.

Key findings

  • 🟡 MEDIUM: a failed plugin tracked under /_agent-native will cause the existing 503 fallback to shadow unrelated healthy routes under that prefix, so one transient core-routes failure can take down sibling endpoints like /_agent-native/mcp or /_agent-native/agent-chat.

Overall assessment

  • ✅ Correct lifecycle point for the cold-start race fix
  • ✅ Dependency and changeset alignment look good
  • ⚠️ Failure fallback remains too broad for prefix-scoped plugin tracking

🧪 Browser testing: Skipped — PR only modifies backend/config/docs, no UI impact.

resolve();
};
});
trackPluginInit(nitroApp, ready, { paths: ["/_agent-native"] });

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.

🟡 Broad tracked prefix can shadow unrelated healthy framework routes

Tracking this init under /_agent-native means the existing 503 failure fallback will match every sibling route under that prefix if init rejects once. In practice a transient core-routes failure can start returning 503 for already-healthy endpoints like /_agent-native/mcp or /_agent-native/agent-chat, so the failure handling needs narrower ownership or path scoping.

Additional Info
Independently reproduced against the current branch by registering a healthy `/_agent-native/agent-chat` handler, then calling `trackPluginInit(nitroApp, rejectedPromise, { paths: ["/_agent-native"] })` and dispatching `/_agent-native/agent-chat`; the placeholder returned `{ error: "agent-native route is initializing or unavailable: boom" }` with HTTP 503 instead of the healthy handler. Root cause is the unchanged placeholder logic in framework-request-handler.ts that matches failures by prefix via `resolveMountMatch(reqPath, failedPath)` before falling through.

Fix in Builder

@netlify

This comment has been minimized.

@builder-io-integration builder-io-integration 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.

Builder reviewed your changes and has a few items to flag 🟡

Review Details

This incremental update extends the original Nitro bump with two additional pieces of infrastructure work: a dev-only Vite forwarder for extension-bearing framework paths in packages/core/src/vite/client.ts, and extra tests around framework route readiness plus the new dev-path classification. I re-reviewed the latest diff, reran the targeted framework-request-handler and vite/client specs successfully, and re-checked the dependency alignment (nitro, jiti, rollup) introduced earlier.

I classified this as standard risk because it continues to modify core runtime and dev-server behavior rather than product UI. The newly added Vite forwarding logic is directionally sound for the reported cold-start / dev-routing failures, and I did not find a new regression in the latest delta. However, the previously posted medium-severity comment about broad /_agent-native failure scoping still appears to be present and unchanged, so I am not re-posting it.

Overall assessment

  • ✅ Nitro/jiti/rollup alignment remains correct
  • ✅ New dev forwarder and tests are coherent with the intended fix
  • ⚠️ Previously open framework-route failure-scope issue still appears unresolved (not re-posted)
  • ✅ No additional actionable issues found in this incremental update

🧪 Browser testing: Skipped — PR only modifies backend/config/docs, no UI impact.

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