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

🤖 MessageQueue: prove held sends cannot wait on an orphaned compaction decision (resume without compaction metadata)

Chiusa
#5,326 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ThomasK33 ci sta già lavorando.

Dal 30/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Follow-up from #5325 (MessageQueue F2: a send to an idle session that still holds queued work now queues behind that work, so it waits as long as the head's report decision).

Unproven gap

The investigated compaction-wait interleaving is safe: the raw stream-end listener creates the pending decision synchronously, before TaskService's handler, and the decision is kept until consumed. One path is not proven:

  1. The frontend resume path sends agentId "compact" without compaction-request metadata.
  2. A second compaction starts while TaskService's stream-end handler for the first holds the task's event lock.
  3. If that handler registers a pending wait that nothing resolves, the held queue entry, and every user send queued behind it since #5325, waits until the session is disposed.

Work

  1. Write a deterministic interleaving test for this sequence.
  2. If it reproduces, key pending-wait registration to the exact compaction request (see waitForCompactionDecision in src/node/services/turnCoordinator.ts and its allowPending caller in agentSession.ts).
  3. Separately, watch dogfood for idle workspaces whose queued sends never drain behind a report hold.

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $32.71

Lingua principale
TypeScript
Stelle
2k
Fork
140
Merge medio
3h 48m
PR unite (30g)
902

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

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 coder/xum

Tutte le issue di coder/xum

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.