[world-vercel] Update queue to use VQS v3 API#799
Conversation
- Update basePath from /queues/v2/messages to /queues/v3 - Include @vercel/queue tarball with v3 client changes - Add pnpm override to use bundled tarball The @vercel/queue client has been updated to: - Use v3 URL structure (topic and consumer in path) - Use receiptHandle instead of ticket - Support both v2 and v3 header names for backwards compat Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 40a7d16 The changes in this PR will be included in the next version bump. This PR includes changesets to release 14 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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests🌍 Community Worlds (161 failed)mongodb (40 failed):
redis (40 failed):
starter (41 failed):
turso (40 failed):
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
|
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Nitro | Express SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
- Use cgowrie/v3-client branch which has full v3 implementation - Update basePath to /queues/v3/queues (matches new client default) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
VQS v3 uses /api/v3/topic/{topic} URL pattern instead of /api/v3/queues.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The receiveMessageById method was sending Accept: application/json which the V3 server rejects. Updated tarball includes the fix to use Accept: multipart/mixed and proper multipart response parsing. Also cleaned up duplicate tarball from packages/ directory. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
I, Peter Wielander <mittgfu@gmail.com>, hereby add my Signed-off-by to this commit: c411180 Signed-off-by: Peter Wielander <mittgfu@gmail.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Signed-off-by: Peter Wielander <mittgfu@gmail.com> Use delaySeconds for sleep Signed-off-by: Peter Wielander <mittgfu@gmail.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
pranaygp
left a comment
There was a problem hiding this comment.
would love @TooTallNate to approve since he might have had plans for the sleep impl
| basePath: usingProxy ? '/queues/v3/topic' : undefined, | ||
| token: usingProxy ? config?.token : undefined, | ||
| headers: Object.fromEntries(headers.entries()), | ||
| deploymentId: process.env.VERCEL_DEPLOYMENT_ID, |
There was a problem hiding this comment.
this needs to be overrideable by options (so that resumeHook can enqueue messages against a different deployment). the same way queue accepts an option to override this
| const queue: QueueFunction = async ( | ||
| queueName, | ||
| payload, | ||
| opts?: QueueOptions & { delaySeconds?: number } |
There was a problem hiding this comment.
can we just add delaySeconds to QueueOptions? every world supports it no? i think vqs was just the last
There was a problem hiding this comment.
I don't think postgres does? Either way can add separately - it'll be nice to land this directly to bugbash together with event sourcing
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
Updates VQS version inside world-vercel
Note this also moves to the new default visibilityTimeout (30s) and visibilityRefreshInterval (10s)