/remote toggle stops working in long-running sessions; off/on cycle does not recover
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
## Summary
`/remote on` appears to stop working partway through a long-running Copilot CLI session. Toggling `/remote off` then `/remote on` did not restore the connection — the GitHub mobile app continued to show the session as "off / not remote-enabled". The only working remediation was to abandon the session entirely and start a fresh one.
## Environment
- **Copilot CLI version:** 1.0.49-1
- **Platform:** macOS (Darwin)
- **Model in session:** `claude-opus-4.7-1m-internal`
- **Session length when issue surfaced:** very long (multi-day session with overnight scheduled prompts via `/schedule`)
## Steps to reproduce
1. Start a Copilot CLI session and enable `/remote on`.
2. Confirm the session shows as remote-enabled in the GitHub mobile app.
3. Let the session run for an extended period (in our case: multi-day, with `manage_schedule` background heartbeats firing every 30 min overnight).
4. Return to the GitHub mobile app and try to interact remotely.
## Expected
The session continues to appear as remote-enabled and accepts remote input from the GitHub mobile/web app.
## Actual
- The GitHub mobile app shows the session as "off" / not remote-controllable, even though `/remote` inside the CLI reports it as on.
- Toggling `/remote off` then `/remote on` from inside the CLI does **not** restore the link.
- No error message is shown on either side.
- Only workaround: end the session and start a new one, then `/remote on` from the fresh session.
## Impact
The whole point of `/remote` is to check in on long-running, possibly overnight work from a phone. Losing the link silently during exactly the kind of long sessions it's designed for defeats the feature. Starting over also loses in-memory session state (scheduled prompts via `manage_schedule` are session-scoped and end with the session — this compounds the cost of having to start over).
## Suggested investigation
- Is there a server-side heartbeat / WS keepalive that's timing out for long-idle sessions?
- Does `/remote on` re-register with the GitHub app side, or does it only flip a local flag?
- Is there a way to surface the broken link in the CLI so users don't think it's still working?
Happy to share more context (anonymized session ID, approximate timing) if useful.
貢獻指南
研究方向
從 issue 中描述的 `/remote` 命令和 `manage_schedule` 背景 heartbeat 行為開始。重現一個持續多天的工作階段,將 CLI 回報的狀態與 GitHub 行動應用程式進行比較,並追蹤遠端註冊或 keepalive 狀態是否能在長時間閒置後維持。完成的標準是遠端連結仍可使用,或 CLI 能清楚地回報連結已中斷並從中恢復。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- shell
- 領域
- cli, networking
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100