Skip to content

CODER-007 — (Stretch) Real-time status push instead of polling (Durable Object / relay) #83

Description

@serge-ivo

Type: Backend

Description

Replace status polling with server-pushed updates so Working/Idle/Error and build-state transitions appear instantly and cheaply, using the existing WebSocket relay infrastructure.

Acceptance Criteria

  • The runner's existing status transitions are pushed to the console over the existing relay/WebSocket path (no new public inbound server).
  • Frontend subscribes and updates the header badge (CODER-005) and Builds panel (CODER-004) from pushed events, falling back to polling if the socket drops.
  • No regression to the relay-token security model (relay token only, never the account JWT).

Technical Notes

  • Builds on the existing RelayDO / relay-token handshake (see platform docs). This is a meaningful architecture change — only justified once polling proves insufficient.
  • Would supersede CODER-006's polling optimization for status (build history still reads from GitHub / CODER-002).

Dependencies

CODER-006 (shape of the status event), CODER-005 (consumer UI).

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend / Worker / API workenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions