feat: 提交详情能看 diff,也能丢给 AI 审这一次改动。文件检查可单独排除路径,TODO 只认大写,避免把 todo 表和模块当成待办标记。
热力图按容器宽度铺满一年,不再横向滚动。托盘右键换成可换皮肤的弹层;更新下载显示进度,退出后再由脚本拉起安装器,避免还占着 exe。
This commit is contained in:
@@ -13,3 +13,8 @@ func configureHidden(_ *exec.Cmd) {}
|
||||
func ConfigureDetached(cmd *exec.Cmd) {
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
|
||||
}
|
||||
|
||||
// ConfigureUpdaterHelper 非 Windows 仅放入独立进程组。
|
||||
func ConfigureUpdaterHelper(cmd *exec.Cmd) {
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
|
||||
}
|
||||
|
||||
@@ -17,3 +17,10 @@ func configureHidden(cmd *exec.Cmd) {
|
||||
func ConfigureDetached(cmd *exec.Cmd) {
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000 | 0x00000200}
|
||||
}
|
||||
|
||||
// ConfigureUpdaterHelper 启动更新辅助脚本:隐藏控制台,并尽量脱离父进程作业对象,
|
||||
// 避免主程序退出时把安装器一起杀掉。
|
||||
// CREATE_NO_WINDOW | CREATE_NEW_PROCESS_GROUP | CREATE_BREAKAWAY_FROM_JOB
|
||||
func ConfigureUpdaterHelper(cmd *exec.Cmd) {
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000 | 0x00000200 | 0x01000000}
|
||||
}
|
||||
|
||||
@@ -14,3 +14,15 @@ func TestConfigureHidden(t *testing.T) {
|
||||
t.Fatalf("hidden process flags missing: %#v", c.SysProcAttr)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigureUpdaterHelper(t *testing.T) {
|
||||
c := exec.Command("cmd.exe", "/c", "exit", "0")
|
||||
ConfigureUpdaterHelper(c)
|
||||
if c.SysProcAttr == nil || !c.SysProcAttr.HideWindow {
|
||||
t.Fatalf("updater helper should hide console: %#v", c.SysProcAttr)
|
||||
}
|
||||
flags := c.SysProcAttr.CreationFlags
|
||||
if flags&0x08000000 == 0 || flags&0x00000200 == 0 || flags&0x01000000 == 0 {
|
||||
t.Fatalf("updater helper flags missing: %#v", c.SysProcAttr)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user