Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

`session_store_sql` returns deleted sessions forever: no DELETE verb on `POST /agents/analytics/query` or `/agents/sessions/*`

未關閉
#4,942 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
45/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
shell, sql
領域
api, backend, databases

研究方向

The issue involves the session data pipeline and API routes. Start by examining the API routes listed in the issue, particularly /agents/analytics/query and /agents/sessions/* in the codebase. Look for where session data is written and queried, and understand the data flow from CLI to cloud storage. Check related issues #3811, #4094, #4939, #3777 for additional context. The goal is to add a DELETE route or cascade deletion from tasks to sessions.

由索引模型根據 Issue 內容生成。

描述

area:context-memory area:sessions
Describe the bug

The session_store_sql tool with source: "cloud" keeps returning sessions
after they have been deleted everywhere the user can reach:

SELECT COUNT(*) FROM sessions

482, while GET /agents/tasks returns 0 tasks.

These rows are served by POST https://api.githubcopilot.com/agents/analytics/query
and written by chronicle reindex via PUT /agents/sessions/{id},
POST /agents/sessions/{id}/events, and PUT /agents/sessions/{id}/logs.

Every one of those write routes is an upsert or append. No route accepts
DELETE, and POST /agents/analytics/query rejects any non-SELECT
statement.
Once a row exists in the sessions table behind
/agents/analytics/query, no client operation can remove it.

OPTIONS against every route the CLI uses for session data:

Route Allow:
/agents/analytics/query POST
/agents/analytics GET, POST
/agents/sessions GET, POST, PATCH
/agents/sessions/{id} PUT, GET
/agents/sessions/{id}/events GET, POST
/agents/sessions/{id}/logs PUT, GET

DELETE appears on none of them.

Affected version

Copilot CLI 1.0.87 (Linux x64)

Steps to reproduce the behavior
  1. Accumulate CLI sessions with remoteExport enabled (the default).
  2. Delete the corresponding Mission Control tasks:
    DELETE https://api.githubcopilot.com/agents/tasks/{id} (the call the CLI's
    session picker makes), or via github.com/copilot/agent WebUI.
  3. Delete all local session state under ~/.copilot/session-state/.
  4. Set remoteExport to false.
  5. Run session_store_sql with source: "cloud":
    SELECT COUNT(*) FROM sessions
    

Every previously-exported session is still returned. /chronicle and
cross-session search surface the same rows.

Expected behavior

Sessions deleted from github.com/copilot/tasks, from the CLI session picker,
and from ~/.copilot/session-state/ should stop being returned by
session_store_sql, /chronicle, and cross-session search.

Setting remoteExport: false should also provide some supported way to remove
data already exported — or the retention policy for that data should be
documented.

One of:

  1. A DELETE route for rows in the sessions table — ideally bulk, e.g.
    DELETE /agents/sessions/{id} plus a "delete all my cloud session history"
    operation.
  2. DELETE /agents/tasks/{id} cascading to the matching sessions row.
Additional context
Impact
  1. Deletion is not honored. Session metadata, titles, and summaries remain
    queryable after deletion from every user-reachable surface.
  2. remoteExport: false is not retroactive. It stops new writes but leaves
    every prior row in place, with no documented retention period.
  3. No recourse exists through the CLI, the web UI, or the API.
Related issues

These look like the same gap — deletion never reaching the append-only
/agents/sessions/*/agents/analytics/query pipeline:

Issue Title Relationship
#3811 deleted sessions still in /chronicle insights Closest match — same symptom (local wipe + cloud delete + remoteExport off, yet /chronicle still surfaces deleted sessions); does not identify the route-level cause
#4094 Deleting a session doesn't remove it from session-store.db / VS Code Chat history Self-describes as the same root cause as #3811
#4939 Unable to delete old remote sessions Same family; notes deletion worked in v1.0.55
#3777 /chronicle reindex queues remote backfill despite local-only remote settings Shows remoteExport: false is not fully honored by the sync pipeline

Adding a DELETE route would likely resolve #3811 and #4094 as well.

主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

github/copilot-cli 的其他 Issue

查看 github/copilot-cli 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。