You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Small, well-scoped fix. I traced the negotiation logic end-to-end (Rust inspector_ws.rs, TS client.browser.ts, actor-inspector-context.tsx, and the driver test) and it's internally consistent:
Rust inspector_wire_mode_from_path treats a missing protocol_version query param as LegacyEmbeddedV5 (pinned to v5, embedded-in-payload framing) and a present param as Negotiated { version } (out-of-band version, no embedded header). LEGACY_INSPECTOR_VERSION = 5 matches MIN_RIVETKIT_VERSION_SCHEDULES / MIN_RIVETKIT_VERSION_INSPECTOR_NEGOTIATION both being 2.3.4 in the frontend, so schedules (v6) and negotiation land together and the legacy path correctly gates out SchedulesUpdated/SchedulesResponse/etc. via supports_schedules().
The driver test previously built the WS URL without protocol_version and used serializeWithEmbeddedVersion/deserializeWithEmbeddedVersion, which would have driven the server into the legacy v5 path. Switching to protocol_version: String(INSPECTOR_PROTOCOL_VERSION) on the URL plus plain serialize/deserialize(payload, INSPECTOR_PROTOCOL_VERSION) now exercises the negotiated path at the current protocol version (6), matching what the frontend already does when usesNegotiatedInspectorProtocol() is true. This looks like the correct fix rather than a workaround.
The new comments in inspector_ws.rs and actor-inspector-context.tsx accurately describe the compatibility rationale and follow the repo's comment style (complete sentences, no em dashes).
No bugs found. One optional, non-blocking thought: the Rust side already has unit tests for both the negotiated and legacy-embedded-v5 paths (negotiated_frames_use_the_out_of_band_version, legacy_frames_remain_embedded_v5, parses_inspector_protocol_query_parameter), so the driver test likely does not need to also cover the legacy path — just flagging it in case an end-to-end regression test for old deployed runtimes talking to a new dashboard has value.
Nothing else stands out on security, performance, or test coverage grounds. The diff is comments plus a mechanical test alignment, with no runtime behavior change outside the test.
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
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.
No description provided.