Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#5,326 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@ThomasK33 がすでに取り組んでいます。

2026年9月30日 から。

評価

この issue はまだ評価されていません。

説明

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

主要言語
TypeScript
スター
2k
フォーク
139
平均マージ
6時間 35分
マージ済み PR(30日)
819

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

coder/xum のほかの issue

coder/xum の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。