github / github/copilot-cli

/remote toggle stops working in long-running sessions; off/on cycle does not recover

未关闭
#3,358 1 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
area:networking area:sessions
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。