fix(rivetkit): preserve query gateway skip ready wait#5008
Conversation
|
🚅 Deployed to the rivet-pr-5008 environment in rivet-frontend
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Code ReviewOverviewThis PR fixes two related bugs where Bug Fix Correctness
const target = gatewayOptions.skipReadyWait
? await this.#resolveActionTarget(false) // resolved through API when skipReadyWait=true — wrong
: getGatewayTarget(this.#actorResolutionState); // used query target when skipReadyWait=false — wrongThe new IssuesTest isolation: new WebSocket coverage is appended inside an existing test. The HTTP test is correctly a standalone
Recommend extracting the new scenario into its own Minor Notes
SummaryThe core fix is correct and the simplification is an improvement. The one thing worth addressing before merge is extracting the WebSocket regression test into its own |
cefab3d to
ac432a0
Compare
ac432a0 to
d4c5d79
Compare
f188ab9 to
24c5d49
Compare

Stack Context
Standalone fix for query-backed RivetKit gateway requests with
skipReadyWait.What?
rvt-*URL path whenskipReadyWaitis enabled.getForIdhandles.Why?
skipReadyWaitwas causing query-backed handles to resolve through the actor API first, which turned a single gateway round trip into an extra resolve/create request. The gateway URL path already supportsrvt-skip-ready-wait, so the client should pass the query through and let the gateway resolve it.Verification
pnpm --dir rivetkit-typescript/packages/rivetkit exec vitest run tests/remote-engine-client-public-token.test.tspnpm --dir rivetkit-typescript/packages/rivetkit exec tsc --noEmit --pretty falsegit diff --check