Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Backup codec publish robustness follow-ups (from #1159 review)

Aperta
#1,162 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
android, flutter, javascript
Ambito
mobile, testing

Direzione di ricerca

Start by reading addSimulcastTrack, createSimulcastTransceiverSender, restartTrack, and clearSimulcastState in the Flutter SDK, then compare the mentioned JavaScript behavior in LocalParticipant.ts. Trace the existing publish, unpublish, and reconnect tests; the issue also calls for mock e2e container video-publish support. Done means the failure, duplicate, recovery, and cleanup cases are covered and the backup codec republishes as intended.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Deferred items from the #1159 review, none urgent since #1159 removed the paths that made the first two reachable.

  • No rollback when backup codec publish fails mid flight. addSimulcastTrack inserts into simulcastCodecs before createSimulcastTransceiverSender, a failure leaves the entry with a null sender and the codec will not retry until unpublish or full reconnect. Same structure exists in JS.
  • addSimulcastTrack throws on duplicate where JS logs and skips. Porting JS behavior means a nullable return (breaking API per dart-apitool) or an idempotent skip, needs a small design decision and its own test.
  • Consider restartTrack() during rePublishAllTracks like JS, to recover capture after device sleep.
  • Integration test that unpublish and full reconnect actually invoke clearSimulcastState (needs mock e2e container video publish support).

Cross SDK findings worth reporting upstream while porting this cleanup:

  • JS gates its simulcast cleanup on trackSender non null and PC state, so the stale state fixed by #1159 is reachable there too (LocalParticipant.ts unpublishTrack).
  • Android never clears simulcastCodecs at all.
    Both fail silently because their duplicate handling skips instead of throwing, the backup codec just never republishes.
Lingua principale
Dart
Stelle
421
Fork
260
Merge medio
2g 17h
PR unite (30g)
14

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di livekit/client-sdk-flutter

Tutte le issue di livekit/client-sdk-flutter

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.