Repository navigation
Conversation
Keep the shared HTTP handle and RPC group when WebSocket is disabled. Return instance connection metadata while retaining transport JSON encoding hints. Cover SSE-only startup and disposal, returned-descriptor RPC over both transports, nested and renamed routes, and transport-disabled controls.
|
@SaKaNa-Y is attempting to deploy a commit to the NuxtLabs Team on Vercel. A member of the Team first needs to authorize it. |
|
👁️🗨️ Review this pull request with grouped, summarized diffs at: raw result💭 analyzed by {
"headSha": "c87d01c7257e75573d7d8b704996969b77931f37",
"result": {
"overallSummary": "Fixes `createDevServer` so it returns a complete, closable handle (HTTP server, rpcGroup, ws) even when WebSocket is disabled, and ensures `connectionMeta()` reflects the instance's actual endpoints (e.g. the active SSE route) rather than omitting them, which previously caused SSE-only clients to be rejected. A new test suite exercises the various transport combinations end-to-end.",
"groups": [
{
"key": "dev-server-handle-fix",
"label": "Dev server handle fix",
"summary": "Ensures `createDevServer` always returns a usable handle (server, ws, rpcGroup) even when WebSocket is disabled, and that `connectionMeta()` reports the instance's full endpoint metadata (including SSE) merged with existing JSON encoding hints.",
"category": "core",
"filePaths": [
"packages/devframe/src/adapters/dev.ts",
"packages/devframe/src/node/instance-shell.ts"
],
"critical": true,
"lineNotes": [
{
"path": "packages/devframe/src/adapters/dev.ts",
"side": "additions",
"line": 234,
"text": "connectionMeta now merges the transport's encoding hints with the devframe instance's connection metadata, so SSE/WS endpoints are no longer dropped."
},
{
"path": "packages/devframe/src/node/instance-shell.ts",
"side": "additions",
"line": 812,
"text": "Shared-server tier is now also used when WS is explicitly disabled (`wsDisabled`), not just when a native runtime can't rebind upgrades, so a handle and rpcGroup are always produced."
}
]
},
{
"key": "transport-tests",
"label": "Dev transport tests",
"summary": "New test suite covering SSE-only startup, dual-transport metadata (including nested/custom routes), WS-only operation, both-disabled startup, registry cleanup, port release after close, and strict JSON argument handling.",
"category": "tests",
"filePaths": [
"packages/devframe/src/adapters/__tests__/dev-transports.test.ts"
],
"fileNotes": [
{
"path": "packages/devframe/src/adapters/__tests__/dev-transports.test.ts",
"text": "These tests were failing before the fix (SSE-only startup, metadata cases, both-transports-disabled) and now pass against the corrected handle/metadata behavior."
}
]
}
],
"schemaVersion": 1,
"source": "llm",
"generatedAt": "2026-11-05T07:26:09.103Z",
"model": "vercel-ai-gateway/anthropic/claude-sonnet-5",
"locale": "en"
}
} |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
createDevServer(def, { ws: false })opens its HTTP listener, then throws while assembling the return value. Callers receive no handle to close it. With default transports, startup succeeds, buthandle.connectionMeta()omits the active SSE endpoint. A client that uses that descriptor and selects SSE rejects the connection.Keep a server handle and the shared RPC group when WebSocket is disabled. Return the instance's complete connection metadata while preserving the transport's JSON encoding hints.
Evidence
pnpm lint,pnpm knip,pnpm test --run,pnpm typecheck, andpnpm buildpass. The test suite reports 1,841 passed and 14 skipped.Merge Danger
Door: two-way. The patch changes runtime behavior without a data migration or public type change.
Blast Radius: transport. The shared HTTP binding also serves first-party adapters. Acceptance ran on Node; browser, Bun, and Deno journeys were not rerun.