Renderer can miss chat events sent during startup
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- electron, typescript
- 領域
- desktop
調査の方向性
Start in src/renderer/src/app.ts around lines 155–211 and trace when the api.on(...) listeners are registered relative to the settings, project, and snapshot replies. Compare buffering events until the snapshot with sequencing snapshots and events; verify that a startup chat event is not lost and that the busy state is correct after reopening a window during a run.
索引モデルが issue の本文から書いたものです。
説明
Found in the 2026-10-07 code review (read; the race is not reproduced).
Problem
App registers its api.on(...) listeners only after Promise.all([settings, project, snapshot]) resolves (src/renderer/src/app.ts:155-211). Electron drops messages that arrive while no listener exists, so a chat event sent between the snapshot reply and the last reply is lost. This can only happen when the window is reopened on macOS while a run is in progress. A lost busy:false leaves Stop enabled and Send disabled until the next snapshot.
Fix
Register the listeners first and buffer events until the snapshot arrives, or add a sequence number to snapshots and ignore older events.
- 主要言語
- TypeScript
- スター
- 2
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
似ている issue
-
area: cli bug flake ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
gazetta-studio/gazetta-studio#1772 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
microsoft/playwright#43875 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
feature
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
calagopus/panel#285 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信