Skip to content

fix(desktop): prevent restored window from minimizing again - #102

Merged
XYAIStudio merged 1 commit into
developfrom
codex/fix-window-restore-loop
Sep 30, 2026
Merged

XYAIStudio merged 1 commit into
developfrom
codex/fix-window-restore-loop

Conversation

@XYAIStudio

Copy link
Copy Markdown
Owner

点击托盘设置中的“显示 FreeOS”后,Windows 可能在窗口恢复之后才投递旧的最小化事件,现有监听会立刻再次隐藏主窗口,表现为窗口闪一下又回到最小化。

本修复把显示操作改成一个 1.5 秒的有限恢复事务:恢复开始时取消旧的托盘隐藏状态,忽略迟到的最小化事件,并在 75/250/750/1250ms 分阶段确认 UnMinimise → Show → Focus。每次恢复使用 generation 隔离,旧定时器不会干扰新的显示操作。

验证:

  • go test ./...:通过
  • 窗口恢复相关测试 -count=20:通过
  • Wails wails3 build:通过
  • Ruff、mypy:通过
  • PYTHONUTF8=1 uv run pytest -n auto -m "not live":3588 passed, 114 skipped
  • dashboard npm run build:通过

说明:Windows 中文区域下未启用 UTF-8 时,16 个既有数据库测试会用 GBK 读取 UTF-8 SQL 并失败;以 Windows CI 使用的 UTF-8 Python 模式重跑后全绿,与本次桌面窗口改动无关。

@XYAIStudio
XYAIStudio merged commit fe62ea5 into develop Sep 30, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant