Skip to content

Rust router can send requests to a replaced session registration #2791

Description

@gimenete

Summary

Rust session routing snapshots a per-session sender under the router lock, then enqueues outside the lock. When a canceled startup or session is replaced using the same SessionId, a concurrent JSON-RPC request or session.event notification can be sent to the stale registration after the replacement has become current.

Expected behavior

Routing should be serialized with registration replacement: a delivery should go to the registration current when it is enqueued, or be dropped if no registration exists. Session-ID reuse and the wire protocol should remain unchanged.

Scope

The affected path is the upstream Rust SDK router in rust/src/router.rs; no changes to the vendored SDK or github/github-app are involved.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions