Deleted session can linger in the sidebar and later deletes fail silently
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 65/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- desktop
調査の方向性
Read desktop/src/components/layout/Sidebar.tsx and desktop/src/stores/sessionStore.ts, then reproduce the lingering entry with a test; the issue names two possible causes to investigate. Done means the test confirms the cause, deleting an already-removed session cleans up the store, connection, and tab, other failures show an i18n toast, and batch delete is checked for the same gap.
索引モデルが issue の本文から書いたものです。
説明
Problem
Deleting a session from the sidebar can leave the entry in the list. After that, every further delete attempt does nothing visible: the confirm dialog stays open and no error is shown.
What we know
Observed in a dev app run, on a freshly created untitled session:
- The server deleted the session. Its transcript file was gone and the session's WebSocket was closed with
session deleted. - The sidebar still showed the entry. Each later delete returned
404 Session not foundfromDELETE /api/sessions/:id. - In
desktop/src/components/layout/Sidebar.tsx,confirmDeleteawaitsdeleteSession(desktop/src/stores/sessionStore.ts) with no error handling. The 404 becomes an unhandled promise rejection, so the dialog never closes and the tab and connection are never cleaned up. - This is not specific to any open PR. The delete path is unchanged on
main.
What we don't know
Why the entry comes back after the first successful delete. Two candidates:
fetchSessionsinsessionStore.tskeeps sessions that have an open tab even when the server no longer lists them.- A
listSessionsresponse requested before the delete arrives after it and re-adds the session.
A failing test that reproduces the lingering entry should settle which one it is.
Suggested fix
- Reproduce first with a test, then fix the cause that the test points at.
- Treat a 404 on delete as already deleted: remove the entry from the store, disconnect, and close the tab.
- Show an i18n toast for any other delete failure instead of an unhandled rejection.
- Check batch delete (
deleteSessions) for the same gap.
See AGENTS.md and docs/CONTRIBUTING_en.md for setup and the PR flow. Contributions are welcome; comment here if you want to take it.
- 主要言語
- TypeScript
- スター
- 490
- フォーク
- 47
- 平均マージ
- 10時間 40分
- マージ済み PR(30日)
- 83
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
GoDiao/dreamcoder のほかの issue
-
[good first issue] UX polish — friendlier copy for error toasts and empty states対応中かも @iamcipherdev が 15 日前に担当しました。 オープンarea:i18n area:ux difficulty:1 good first issue mentor-available
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
GoDiao/dreamcoder#9 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Add more provider presets (Groq / OpenRouter / SiliconFlow / etc.)再び着手できるかも @01iamysf が 22 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンarea:desktop area:provider difficulty:1 good first issue mentor-available
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
GoDiao/dreamcoder#6 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
-
area:desktop area:ux difficulty:2 enhancement help wanted
難易度 4/5 3〜5日 初心者へのやさしさ 65/100
GoDiao/dreamcoder#218 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
GoDiao/dreamcoder#216 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
GoDiao/dreamcoder#209 ·
メンテナーはふだん 1 日以内に返信
GoDiao/dreamcoder の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
excaliburjs/Excalibur#3895 ·
メンテナーはふだん 3 日以内に返信
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejected対応中かも @Steve-20-ai が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Earn report crashes with "RangeError: Invalid time value" when a report row has an unparsable timestamp対応中かも @Gurkaran18 が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
joinmarket-webui/jam#1588 ·
メンテナーはふだん 3 日以内に返信
-
BeOS .json missingオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
mihaip/infinite-mac#475 ·