/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