Files
HomeAgent/cmd/gui
JianFeeeee 906821920b fix(gui): 清理由改名遗留的重复开机自启项
## 现象
本机 HKCU\...\Run 里同时存在两条指向**同一个 exe** 的自启动项:
  electron.app.HomeAgent     = "E:\program\homeagent\...\homeagent-gui.exe"
  electron.app.homeagent-gui =  E:\program\homeagent\...\homeagent-gui.exe
表面看是两个自启动,实际是同一份程序的重复 ⇒ 开机启动两次。

## 根因
Electron 的 app.setLoginItemSettings() 用「electron.app.<exe 名>」作为
注册表项名。本产物改过名(HomeAgent.exe → homeagent-gui.exe),于是写入
新项,而旧项 Electron 不会清理 ⇒ 每改一次名就多留一条。
原 applyAutoLaunch 既不去重、也不清理历史项。

## 修法
新增 cleanupStaleLoginItems():
  · 只删「指向当前 process.execPath」的 electron.app.* 项 —— 不误伤别的
    Electron 应用(本机还有 electron.app.TencentDocs 同为该前缀)
  · 保留当前 exe 名对应的那条(Electron 期望的名字)
  · 在 app.whenReady() 里也跑一次:否则旧项要等用户手动开关自启才被清

## 实测(非静态检查)
人为再造一条 electron.app.HomeAgent 指向同一 exe,启动 GUI 后:
  启动前 2 条 → 启动后 1 条
  日志: [autolaunch] removed stale login item: electron.app.HomeAgent
判据未改动,npm test 131 条全绿。
2026-10-04 15:25:11 +08:00
..