Repository navigation
fix(desktop): use native tray context menu - #827
Conversation
Maintainer triage需求合理(#698):用原生 Wails tray menu 替代自定义右键,避免 Windows 托盘溢出区被收起。 合并前请:
暂不直接合并。 |
9aac5dc to
8b5fbc3
Compare
|
@jubaoliang 已 rebase 到最新 |
|
@jubaoliang |
dangzitou
left a comment
There was a problem hiding this comment.
(以下为外部贡献者的审查建议,不代表 maintainer 的合入批准。)
原生托盘菜单本身没问题,但有一个生命周期 bug:菜单只在启动时用当时的语言构建了一次(desktop/src/main.go:392:tray.SetMenu(newTrayMenu(store.get().Locale, ...))),而没有任何地方在语言切换后重建它——SaveSettings 只调 applyDashboardPrefs(同步 dashboard 的 localStorage)与 setStatus,托盘菜单的 label 不会更新。用户在设置里把语言从 English 切成中文后,右键菜单会一直显示旧语言,直到重启应用。
建议:把 menu 存成 App 的字段,在 SaveSettings 里检测到 locale 变化时用新语言重建并重新 tray.SetMenu(...);其他会改语言的入口(如设置窗口内的即时切换,若有)同样要触发重建。
(本地没有 Go 工具链,以上为代码走查结论;新增的 tray_menu_test.go 只覆盖了标签本地化,没有覆盖语言切换后的重建。)
|
方向对:自定义托盘右键在部分平台会把菜单打塌,改用原生菜单合理。 之前 rebase 之后 |
8b5fbc3 to
3b6e3b8
Compare
|
@jubaoliang @dangzitou 已按反馈更新: |
|
补充本轮 CI 诊断:四个 Desktop Package 平台(darwin-arm64 / darwin-amd64 / windows-amd64 / windows-arm64)均在 |
3b6e3b8 to
368ae82
Compare
|
@jubaoliang 已将本 PR rebase 到最新 最新基线已将
|
368ae82 to
b0b6550
Compare
b0b6550 to
93d882d
Compare
|
@jubaoliang 已同步最新 develop(a8b3bfff),解决 CHANGELOG 和桌面文案冲突,保留上游改动。 Windows 开发版桌面外壳已由贡献者手动验证:右键菜单不收起隐藏托盘面板,Settings、左键显示、Show Octop、Quit 均正常,切换中文后菜单立即刷新,无需重启。 托盘专项测试、开发版编译及生产代码静态检查通过。完整桌面测试仍受上游 filedrop_test.go 重复声明及 Windows 监听探测测试失败阻塞,未修改的 develop 同样复现;未声称全量测试通过。本次不扩大修复范围,烦请复审。 |
|
感谢贡献,麻烦解决下冲突,我来进行合入 |
Summary
Target branch
develop(feature / fix — default)main(release/*orhotfix/*only)Type of change
Test plan
cd desktop/src && go test ./...cd desktop/src && go vet ./...git diff --checkmake allwas not run because GNU Make is unavailable in the Windows environment; the changed desktop Go module was tested directly with Go 1.25.14.make allpasses locallyAdded/updated tests
Checklist
CHANGELOG.md(if user-facing)