讨论 mz
第 1 位会员
注册于
帖子
0
回帖
11
发布的帖子
暂无记录
回复的帖子
许个愿:QuotaPanel 能加上 OpenDesign 的 TokenPlan 追踪吗

最新版已经支持了,更新一下就能看到。 要是更新完还不显示,把版本号发我,我看下是不是还没更到那个版本。

ProcHub 有进程自更新的策略吗?

补一句,最新版本本身已经带升级更新的检测了,有新版本会提示。 但进程自己要自动更新,还是得它自己判断版本、自己拉包,ProcHub 这边只能负责更新完把进程重新拉起来。 更新的时候如果报错,你说下具体现象,我远程连过去看。

希望能导入导出进程配置,方便换机器迁移

这个可以有,下个版本支持,直接把进程配置导出成一个文件,换机器导进去就行。 入口会放在进程列表那块,顺带把这块一起理顺一下。

ProcHub 有进程自更新的策略吗?

目前还没有,配置改了得自己手动重启对应的进程。 下个版本会加上,尽量做到配置变更后自动同步,该重启的自己重启。 更完我在这边回一句,你留意下更新日志。

任务栏图标右键退出没反应,程序退不掉

先升到最新版本再试。这个版本专门加了 Windows 平台的日志,就是为这类问题准备的。

升级之后复现一次,把日志发过来,看退出那一步卡在哪儿。

顺便说下你监控的是哪个进程,我本地试了几个都正常,得对着你实际的场景看。

两个 APP 时,点 APP1 启动,APP2 会跳到第二行

不是排序出问题,是卡片默认按状态分组。你点了启动,那个进程状态一变,分组跟着重排,另一个就被挤下去了。

新版本里右上角可以把分组关掉,关掉之后卡片顺序就固定了,不会再跳。

升一下版本试试,还复现的话把截图发我们。

启动后没窗口也没托盘图标,只能任务管理器结束

确有其事,是真实缺陷,下个版本修复。

链路是:Wails v2 的 Windows 单实例锁在某些情况下会放行第二个实例,第二个实例跟首实例共用了 WebView2 的用户数据目录,WebView2 初始化直接报 ERROR_INVALID_STATE,然后 go-webview2 的自旋消息循环因为失败回调没置位、也没有退出条件,就永久卡死了。而且它卡在 OnStartup 之前,所以没窗口、没托盘图标、也没有启动日志,只能去任务管理器结束进程 —— 跟你反馈的表现完全一致。主要触发场景是以管理员和普通身份混用,权限/完整性级别不一致。

修复是在 wails.Run 之前加了一层进程级守卫:先通过已有的控制通道判断是不是已经有实例在跑,有的话让首实例把窗口显示出来,然后自己退出,第二个实例根本走不到 WebView2。同时新增了 POST /control/show 控制接口和 single-instance 诊断日志,下次再遇到可以直接在数据目录的 system_logs/ 里查。

另外提醒一下:如果快捷方式勾了「以管理员身份运行」,建议取消,这是最容易触发权限不一致的场景。

Windows 上托盘图标隔夜后点不动,也退不出去

这是托盘的消息循环没绑在固定的 OS 线程上导致的。

systray 在 Windows 上,是靠创建托盘窗口的那个 OS 线程跑 GetMessageW 收消息的,窗口消息也只会投递到那个线程的队列。而 ProcHub 是把托盘丢到一个新 goroutine 里启动,没有 LockOSThread,Go 调度器跑一段时间(长时间空跑、GC 或调度有压力时更容易)会把这个 goroutine 挪到别的 OS 线程,这时 GetMessageW 抽的是新线程的空队列,窗口消息永远取不到,WndProc 也不再触发 —— 双击、右键就都没反应了,explorer 重启后的 TaskbarCreated 也收不到,图标变成幽灵图标。退出只能走托盘右键菜单,所以连正常退出都不行。

修复是在 Windows 分支的 Run() 里加了 runtime.LockOSThread(),把消息循环固定在拥有窗口的那个线程上;同时把托盘左键的回调放到独立 goroutine 里执行,避免唤起窗口时把消息循环阻塞住。

「隔夜才出现」也正好对得上:线程迁移是概率性的,刚启动那会儿大概率还在原线程上,所以一开始都正常。

ProcHub 支持用 CLI 控制吗?想做 CI/CD

对的,软件本身支持 cli 的方式控制,具体可以参考相关文档。

环境变量希望能支持文本导入

下个版本就支持了。

到时候环境变量可以直接按文本导入,整段粘进去一键导入,不用一条条手动填。

QQ
微信
客服