Allow Rust callers to omit the automatic post-resume skill reload

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

還沒有人認領這個 Issue。

  • #2828 來自 @Chuxel —— 已關閉,未合併

評估

難度
4/5
預估耗時
3-5 天
新手友好度
25/100
Issue 類型
功能
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
rust
領域
devtools

研究方向

Start from the Rust SDK's shared ordinary/prepared resume path, where session.resume is followed by an awaited session.skills.reload, and from the ResumeSessionConfig type that would gain a with_reload_skills(bool) option. The issue asks for explicit false to omit the automatic request entirely, while the default and true keep the awaited, best-effort behavior. Done means framed in-memory transport tests cover omission, retained settlement and errors, and unchanged wire configuration. Open PR #2828 already targets this, so check it before starting.

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

描述

enhancement

Problem

The Rust SDK's shared ordinary/prepared resume path awaits session.skills.reload after a successful session.resume response. Returned reload errors are logged and tolerated, but an unanswered request keeps resume pending. A caller that already owns skill reconciliation cannot currently omit this additional SDK-issued operation.

This mechanism is reproducible with a framed in-memory transport: acknowledge session.resume, then observe the automatic session.skills.reload request and withhold its response. No live runtime or production incident evidence is needed for this SDK-level reproduction.

Proposed behavior

Add a Rust-local ResumeSessionConfig::with_reload_skills(bool) option. Unset or true must retain existing awaited, best-effort behavior; explicit false must omit the automatic request entirely, without a timeout, detached task, or retry.

Keep mandatory resume validation, MCP-auth interest registration, options readiness, event/callback ownership, and cleanup unchanged. The option must not be serialized to runtime or AHP settings. It must not disable skills, imply catalog or disabled-preference freshness, gate continued/shared work, or cancel an already-issued operation. Explicit caller-managed session.rpc().skills().reload() must remain available.

SDK regression coverage

Use synthetic framed controls for ordinary/prepared omission, retained default/true settlement and returned errors, mandatory readiness, event/hook/provider callbacks, failure/cancellation/connection-loss cleanup, and unchanged wire configuration.

主要語言
Java
星號
10.7k
分支
1.5k
PR 合併指標
30 天內沒有已合併 PR

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

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

github/copilot-sdk 的其他 Issue

查看 github/copilot-sdk 的全部 Issue

相似的 Issue

更多 Java Issue

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

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