[wrangler] Handle queue bindings in remote dev#14608
Conversation
🦋 Changeset detectedLatest commit: 51532c5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Codeowners approval required for this PR:
Show detailed file reviewers
|
| function getRemotePreviewBindings( | ||
| bindings: StartDevWorkerOptions["bindings"] | ||
| ): Record<string, Binding> { | ||
| return Object.fromEntries( | ||
| Object.entries(bindings ?? {}).filter( | ||
| ([, binding]) => binding.type !== "queue" | ||
| ) | ||
| ); | ||
| } |
There was a problem hiding this comment.
🔍 No warning emitted at the filtering site — relies on ConfigController warning upstream
The getRemotePreviewBindings function at packages/wrangler/src/api/startDevWorker/RemoteRuntimeController.ts:43-51 silently drops queue bindings without logging any warning. The changeset description states bindings are omitted "after warning," but that warning comes from a separate code path in packages/wrangler/src/api/startDevWorker/ConfigController.ts:504 ("Queues are not yet supported in wrangler dev remote mode."). If that ConfigController code path is ever bypassed or removed, queue bindings would be silently dropped with no user notification. The test also doesn't assert that any warning is logged. Worth verifying the ConfigController warning is reliably triggered in the same flow.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Addressed in 51532c5 by adding ConfigController coverage that verifies the existing Queues are not yet supported in wrangler dev remote mode. warning is emitted for a remote-dev queue producer config, alongside the RemoteRuntimeController test that verifies queue bindings are omitted from the preview upload.
dd97675 to
51532c5
Compare
Fixes #9642.
Legacy
wrangler dev --remotealready warns that Queues are unsupported, but queue producer bindings were still included in the remote preview upload. That can make every proxied request fail even when the route does not use the queue.This omits queue producer bindings from remote preview uploads after the existing warning, so unrelated routes can still be tested. Queue-specific code remains unsupported in this mode.
Validation:
pnpm --filter wrangler... buildpnpm --filter wrangler test run src/__tests__/api/startDevWorker/RemoteRuntimeController.test.ts src/__tests__/api/startDevWorker/ConfigController.test.tspnpm --filter wrangler check:typepnpm exec oxlint --deny-warnings --type-aware packages/wrangler/src/api/startDevWorker/RemoteRuntimeController.ts packages/wrangler/src/__tests__/api/startDevWorker/RemoteRuntimeController.test.ts packages/wrangler/src/__tests__/api/startDevWorker/ConfigController.test.tspnpm exec oxfmt --check packages/wrangler/src/api/startDevWorker/RemoteRuntimeController.ts packages/wrangler/src/__tests__/api/startDevWorker/RemoteRuntimeController.test.ts packages/wrangler/src/__tests__/api/startDevWorker/ConfigController.test.ts