Skip to content

codev-sdk: message-bus WebSocket client absent from v1 (tracking; mobile chat + gate-event consumers need it) #1350

Description

@amrmelsayed

Finding (from the #1189 RN/Metro async review of PR #1346)

Scope note rather than defect: #1189's design listed a "WS/message-bus client" among the sdk's contents, and v1 ships without one. The sdk covers REST (tower-client) and SSE decoding (sse), but subscribing to /ws/messages (MessageFrame stream) still requires each consumer to hand-roll a WebSocket client, reconnect policy wiring, and frame parsing.

Consumers that will need it: the mobile chat + feed (first RN spike consumer), the web dashboard's eventual migration onto the sdk, and every consumer of #1194's typed gate-event frames (which ride the message bus as BusEventMeta).

Ask

Confirm this was a deliberate v1 cut (likely: no consumer exists yet, matching the extract-on-evidence principle), and keep this issue as the tracking point for adding it when the first consumer lands. Shape suggestion when it happens, mirroring the existing seams: injected WebSocket constructor (RN provides a global WebSocket; Node consumers inject ws), reconnect-policy for backoff, typed MessageFrame from codev-types, and lifecycle hooks compatible with RN AppState foreground reconnects (verified necessary on-device in the LAN spike, codev/research/mobile/spikes/expo-lan-reachability-2026-07.md).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/coreArea: shared core library / forge abstraction (packages/core, packages/codev/src/lib)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions