Files
user.email ade8e2272b fix(remote_desktop): 断掉 resize→fallback 重连自激死循环,短命会话退避升级 (#171)
Display Control 不可用的主机无法原地改分辨率,每次 resize 请求都会换来一次
helper 进程内重连;而 view 在收到 Reconnecting 时把已记录的远端尺寸清空,
于是同一个尺寸又被判定为「需要 resize」,形成 3s 超时 + 重连 ≈ 2-3s 一轮的
永久自激(用户看到的就是「过一段时间开始使劲重连」)。

- view:`Reconnecting` 时保留 last_resize_size(后端重连会带着原几何回来);
  flush 时若请求尺寸与远端一致则直接吞掉,不发给后端。两道闸门各自即可断环
- host:`HelperRunResult::Reconnect` 带上本次会话的可用时长,只有连接稳定
  ≥30s 才重置退避;连上即断的会话改为 1→2→5→10s 升级并打 warn,不再
  1s 一次无限重试
- helper 主动重连时打 warn(原因 / 延迟),此前这条路径在宿主日志里完全不可见
- 通知新增「立即重连」文案:非手动且无延迟的重连也报出真实原因,不再复用
  手动重连文案 —— issue 截图里误导用户的就是这句「正在重新连接会话」

验证:cargo test -p remote_desktop_view -p remote_desktop --lib → 253 + 111 全绿
2026-09-12 00:07:27 +08:00
..
2026-08-31 23:02:35 +08:00