runs.subscribeToRun().withStreams() aborts active stream pipes as soon as the run status stream closes
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 67/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- backend, distributed-systems
Direzione di ricerca
Start at the implementation of runs.subscribeToRun().withStreams() and trace how completion of the run status stream aborts the shared signal and child stream subscriptions. Reproduce with a task that emits several realtime chunks before returning, then check that buffered chunks are yielded after the terminal run update. Done when stream completion drains queued chunks and caller cancellation still aborts subscriptions.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What version of Trigger.dev are you using?
main (commit dd5eec1)
What Node.js version are you using?
20.18.0
What operating system are you using?
Linux
What build tool are you using?
tsup
Describe the Bug
When consuming runs.subscribeToRun(runId).withStreams(), the subscription aborts its shared abort signal as soon as the upstream run status stream finishes. If a task emits realtime stream chunks right before completing, the outer stream and its child stream subscriptions get aborted before buffered or in-flight stream events finish draining, so trailing stream chunks are dropped.
Reproduction Steps
- Trigger a task that writes several chunks to a realtime stream and immediately returns.
- Subscribe to the run using
for await (const part of runs.subscribeToRun(runId).withStreams()). - Observe that once the terminal run snapshot is read from the upstream run stream, the shared abort signal fires right away and cancels the outer stream reader and active realtime stream pipes before all queued stream chunks are yielded.
Expected Behavior
withStreams() should allow buffered run updates and active child stream subscriptions to finish draining naturally when the run completes, and only abort everything when the caller explicitly unsubscribes or cancels the outer stream.
Additional Context
Happy to open a PR with a test for this if you would like to vouch it!
- Lingua principale
- TypeScript
- Stelle
- 16.5k
- Fork
- 1.5k
- Merge medio
- 1g 15h
- PR unite (30g)
- 17
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di triggerdotdev/trigger.dev
-
bug: retry.fetch ignores the caller's abort signal and retries aborted requestsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
triggerdotdev/trigger.dev#5116 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug: Chat transport crashes on Safari < 17.4: AbortSignal.any is not a functionForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
triggerdotdev/trigger.dev#5098 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug: Side menu items lose their active state on detail pagesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
triggerdotdev/trigger.dev#5088 ·
I maintainer di solito rispondono entro 1 giorno
-
bug: RBAC loader logs "plugin found but failed to load" when @triggerdotdev/plugins is simply not installedForse di nuovo libera @itsfaryal l’ha presa 17 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
triggerdotdev/trigger.dev#5083 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
triggerdotdev/trigger.dev#5072 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di triggerdotdev/trigger.dev
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug platform-android
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Termix-SSH/Mobile#146 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
devswha/herdr-web-ui#3875 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
area: runtime chore cli consistency dependencies developer-experience difficulty: easy discovery documentation enhancement good first issue help wanted hygiene json-output packaging priority: P3 tests version
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno