Skip to content

Slow reconnect after extended outages + missing ParticipantConnected on agent rejoin #4477

@ansh-tan

Description

@ansh-tan

Voice-agent product on LiveKit Cloud + Flutter SDK. Controlled Android outage tests (5s / 25s / 84s) surfaced two issues.

1. SDK ignores app-layer connectivity signal

Our OS connectivity monitor detects internet back before the SDK does, on longer outages where its backoff has grown:

Outage App sees net back SDK TRANSPORT RESTORED Delta
~5s 18:44:20.542 18:44:20.077 SDK −0.47s
~25s 18:45:24.178 18:45:25.026 App +0.85s
~84s 18:47:17.834 18:47:18.660 App +0.83s

Ask: a room.hintReconnectNow() (or Stream<bool> at construction) that collapses the SDK's current backoff. No-op if already healthy. Not a replacement for the SDK's retry logic — just a hint.

2. ParticipantConnected not fired when same agent rejoins

On same-room reconnect, SDK fires TrackSubscribed but not ParticipantConnected:

18:44:20.499  Audio track subscribed during reconnecting — treating as ParticipantConnected
18:45:25.200  Audio track subscribed during reconnecting — treating as ParticipantConnected

Both were successful rejoins of the same agent identity. On a new-room reconnect (different identity), ParticipantConnected fires normally — so the event works for fresh participants but not rejoined ones.

Ask: intended or bug? If intended, docs for ParticipantEvent.participantConnected should say so.

Repro

  1. Room with agent attached, confirm initial ParticipantConnected
  2. Airplane mode on 25s, off
  3. Observe: TRANSPORT RESTORED ~800ms after OS reports network; TrackSubscribed for rejoined agent but no ParticipantConnected

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