Forward-port SvelteKit workflow queue trigger fix#1995
Conversation
🦋 Changeset detectedLatest commit: 7095aa7 The changes in this PR will be included in the next version bump. This PR includes changesets to release 18 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 |
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests🐘 Local Postgres (1 failed)nextjs-webpack-stable-lazy-discovery-disabled (1 failed):
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
❌ 🐘 Local Postgres
✅ 🪟 Windows
✅ 📋 Other
❌ Some E2E test jobs failed:
Check the workflow run for details. |
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 25 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 50 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.all with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Promise.race with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 10 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 25 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 50 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 10 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 25 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro workflow with 50 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro stream pipeline with 5 transform steps (1MB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro 10 parallel streams (1MB each)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro fan-out fan-in 10 streams (1MB each)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
❌ Some benchmark jobs failed:
Check the workflow run for details. |
There was a problem hiding this comment.
Pull request overview
Forward-ports PR #1984 to main by ensuring the SvelteKit V2 builder path doesn’t leave stale Workflow queue triggers attached to the shared SvelteKit source function config after copying out the dedicated workflow function.
Changes:
- Reuses
WORKFLOW_QUEUE_TRIGGERfrom@workflow/buildersfor the dedicated workflow handler config. - Strips Workflow queue triggers from the shared source function’s
.vc-config.jsonafterflow.funcis copied out. - Adds unit tests for the pure
.vc-config.jsontrigger-stripping transform.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/sveltekit/src/vc-config.ts | Adds helpers to strip Workflow queue triggers from parsed config objects and from .vc-config.json files. |
| packages/sveltekit/src/vc-config.test.ts | Adds focused tests to verify trigger stripping and preservation of unrelated triggers. |
| packages/sveltekit/src/index.ts | Switches to shared trigger constant and strips triggers from the source function config after copying flow.func. |
| .changeset/stale-sveltekit-triggers-main.md | Publishes a patch changeset describing the fix for duplicate queue consumers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| export function stripWorkflowQueueTriggersFromConfig< | ||
| TConfig extends Record<string, unknown>, | ||
| >(existingConfig: TConfig): TConfig { | ||
| const experimentalTriggers = existingConfig.experimentalTriggers; |
Summary
Forward-port #1984 to
mainfor the SvelteKit V2 builder path.This keeps the
mainbranch from retaining stale Workflow queue triggers on the shared SvelteKit__data.json.func/.vc-config.jsonsource config after the dedicated Workflow function is copied out.Changes
WORKFLOW_QUEUE_TRIGGERfrom@workflow/buildersinstead of duplicating queue trigger config in the SvelteKit builder.flow.func..vc-config.jsontransform.Validation
pnpm install --frozen-lockfilepnpm --filter '@workflow/sveltekit...' buildpnpm vitest run packages/sveltekit/src/vc-config.test.tspnpm exec biome check packages/sveltekit/src/index.ts packages/sveltekit/src/vc-config.ts packages/sveltekit/src/vc-config.test.ts .changeset/stale-sveltekit-triggers-main.mdRelated