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 摘要。