Skip to content

Commit 62c0cfc

Browse files
committed
Merge remote-tracking branch 'origin/tray-external-loop'
2 parents f68adeb + 9deb61e commit 62c0cfc

File tree

13 files changed

+109
-59
lines changed

13 files changed

+109
-59
lines changed

bridge/bridge.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import (
66
"os"
77
"os/exec"
88
"path/filepath"
9-
"runtime"
109
"strings"
1110

11+
sysruntime "runtime"
12+
1213
"github.com/klauspost/cpuid/v2"
1314
"github.com/wailsapp/wails/v2/pkg/options"
15+
"github.com/wailsapp/wails/v2/pkg/runtime"
1416
"gopkg.in/yaml.v3"
1517
)
1618

@@ -24,8 +26,8 @@ var isStartup = true
2426
var Env = &EnvResult{
2527
BasePath: "",
2628
AppName: "",
27-
OS: runtime.GOOS,
28-
ARCH: runtime.GOARCH,
29+
OS: sysruntime.GOOS,
30+
ARCH: sysruntime.GOARCH,
2931
X64Level: cpuid.CPU.X64Level(),
3032
FromTaskSch: false,
3133
}
@@ -124,3 +126,7 @@ func (a *App) GetInterfaces() FlagResult {
124126

125127
return FlagResult{true, strings.Join(interfaceNames, "|")}
126128
}
129+
130+
func (a *App) ShowMainWindow() {
131+
runtime.WindowShow(a.Ctx)
132+
}

bridge/tray_linux.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import (
99
"github.com/wailsapp/wails/v2/pkg/runtime"
1010
)
1111

12-
func InitTray(a *App, icon []byte, fs embed.FS) {}
12+
func InitTray(a *App, icon []byte, fs embed.FS) (trayStart, trayEnd func()) {
13+
return func() {}, func() {}
14+
}
1315

1416
func (a *App) UpdateTray(tray TrayContent) {}
1517

bridge/tray_windows.go renamed to bridge/tray_others.go

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build windows
1+
//go:build windows || darwin
22

33
package bridge
44

@@ -7,13 +7,11 @@ import (
77
"log"
88
"os"
99

10-
sysruntime "runtime"
11-
1210
"github.com/energye/systray"
1311
"github.com/wailsapp/wails/v2/pkg/runtime"
1412
)
1513

16-
func InitTray(a *App, icon []byte, fs embed.FS) {
14+
func InitTray(a *App, icon []byte, fs embed.FS) (trayStart, trayEnd func()) {
1715
src := "frontend/dist/icons/"
1816
dst := "data/.cache/icons/"
1917

@@ -37,23 +35,27 @@ func InitTray(a *App, icon []byte, fs embed.FS) {
3735
}
3836
}
3937

40-
go func() {
41-
sysruntime.LockOSThread()
42-
defer sysruntime.UnlockOSThread()
43-
systray.Run(func() {
44-
systray.SetIcon([]byte(icon))
38+
isDarwin := Env.OS == "darwin"
39+
40+
return systray.RunWithExternalLoop(func() {
41+
systray.SetIcon([]byte(icon))
42+
systray.SetTooltip("GUI.for.Cores")
43+
systray.SetOnRClick(func(menu systray.IMenu) { menu.ShowMenu() })
44+
if isDarwin {
45+
systray.SetOnClick(func(menu systray.IMenu) { menu.ShowMenu() })
46+
} else {
4547
systray.SetTitle("GUI.for.Cores")
46-
systray.SetTooltip("GUI.for.Cores")
47-
systray.SetOnClick(func(menu systray.IMenu) { runtime.WindowShow(a.Ctx) })
48-
systray.SetOnRClick(func(menu systray.IMenu) { menu.ShowMenu() })
49-
50-
// Ensure the tray is still available if rolling-release fails
51-
mRestart := systray.AddMenuItem("Restart", "Restart")
52-
mExit := systray.AddMenuItem("Exit", "Exit")
53-
mRestart.Click(func() { a.RestartApp() })
54-
mExit.Click(func() { a.ExitApp() })
55-
}, nil)
56-
}()
48+
systray.SetOnClick(func(menu systray.IMenu) { a.ShowMainWindow() })
49+
}
50+
51+
// Ensure the tray is still available if rolling-release fails
52+
mShowWindow := systray.AddMenuItem("Show Main Window", "Show Main Window")
53+
mRestart := systray.AddMenuItem("Restart", "Restart")
54+
mExit := systray.AddMenuItem("Exit", "Exit")
55+
mShowWindow.Click(func() { a.ShowMainWindow() })
56+
mRestart.Click(func() { a.RestartApp() })
57+
mExit.Click(func() { a.ExitApp() })
58+
}, nil)
5759
}
5860

5961
func (a *App) UpdateTrayMenus(menus []MenuItem) {
@@ -78,7 +80,8 @@ func createMenuItem(menu MenuItem, a *App, parent *systray.MenuItem) {
7880
} else {
7981
m = parent.AddSubMenuItem(menu.Text, menu.Tooltip)
8082
}
81-
m.Click(func() { runtime.EventsEmit(a.Ctx, menu.Event) })
83+
84+
m.Click(func() { go runtime.EventsEmit(a.Ctx, menu.Event) })
8285

8386
if menu.Checked {
8487
m.Check()

frontend/src/bridge/app.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ export const RestartApp = App.RestartApp
55

66
export const ExitApp = App.ExitApp
77

8+
export const ShowMainWindow = App.ShowMainWindow
9+
810
export const UpdateTray = async (tray: TrayContent) => {
911
const { icon = '', title = '', tooltip = '' } = tray
1012
await App.UpdateTray({ icon, title, tooltip })

frontend/src/lang/locale/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,7 @@ export default {
613613
fallback: '🐟 Fallback'
614614
},
615615
tray: {
616+
showMainWindow: 'Show Main Window',
616617
restart: 'Restart',
617618
restartTip: 'Restart App',
618619
exit: 'Exit',

frontend/src/lang/locale/zh.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ export default {
612612
fallback: '🐟 漏网之鱼'
613613
},
614614
tray: {
615+
showMainWindow: '显示主窗口',
615616
restart: '重启',
616617
restartTip: '重启程序',
617618
exit: '退出',

frontend/src/utils/tray.ts

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
import i18n from '@/lang'
22
import { Theme, type MenuItem, Color, Lang } from '@/constant'
33
import { useAppSettingsStore, useKernelApiStore, useEnvStore, usePluginsStore } from '@/stores'
4-
import { Notify, RestartApp, EventsOn, EventsOff, UpdateTray, UpdateTrayMenus } from '@/bridge'
4+
import {
5+
Notify,
6+
RestartApp,
7+
EventsOn,
8+
EventsOff,
9+
UpdateTray,
10+
UpdateTrayMenus,
11+
ShowMainWindow
12+
} from '@/bridge'
513
import {
614
debounce,
715
exitApp,
@@ -145,6 +153,16 @@ const getTrayMenus = () => {
145153
}
146154

147155
const trayMenus: MenuItem[] = [
156+
{
157+
type: 'item',
158+
text: 'tray.showMainWindow',
159+
hidden: envStore.env.os !== 'darwin',
160+
event: ShowMainWindow
161+
},
162+
{
163+
type: 'separator',
164+
hidden: envStore.env.os !== 'darwin'
165+
},
148166
{
149167
type: 'item',
150168
text: 'kernel.mode',
@@ -370,6 +388,9 @@ export const updateTrayMenus = debounce(async () => {
370388
const trayMenus = getTrayMenus()
371389
const trayIcons = getTrayIcons()
372390

373-
await UpdateTray({ icon: trayIcons, title: APP_TITLE, tooltip: APP_TITLE + ' ' + APP_VERSION })
391+
const isDarwin = useEnvStore().env.os === 'darwin'
392+
const title = isDarwin ? '' : APP_TITLE
393+
394+
await UpdateTray({ icon: trayIcons, title, tooltip: APP_TITLE + ' ' + APP_VERSION })
374395
await UpdateTrayMenus(trayMenus as any)
375396
}, 500)

frontend/wailsjs/go/bridge/App.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ export function Requests(arg1:string,arg2:string,arg3:{[key: string]: string},ar
5454

5555
export function RestartApp():Promise<bridge.FlagResult>;
5656

57+
export function ShowMainWindow():Promise<void>;
58+
5759
export function StartServer(arg1:string,arg2:string):Promise<bridge.FlagResult>;
5860

5961
export function StopServer(arg1:string):Promise<bridge.FlagResult>;

frontend/wailsjs/go/bridge/App.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ export function RestartApp() {
106106
return window['go']['bridge']['App']['RestartApp']();
107107
}
108108

109+
export function ShowMainWindow() {
110+
return window['go']['bridge']['App']['ShowMainWindow']();
111+
}
112+
109113
export function StartServer(arg1, arg2) {
110114
return window['go']['bridge']['App']['StartServer'](arg1, arg2);
111115
}

frontend/wailsjs/go/models.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@ export namespace bridge {
6767
}
6868
}
6969
export class IOOptions {
70-
70+
Mode: string;
7171

7272
static createFrom(source: any = {}) {
7373
return new IOOptions(source);
7474
}
7575

7676
constructor(source: any = {}) {
7777
if ('string' === typeof source) source = JSON.parse(source);
78-
78+
this.Mode = source["Mode"];
7979
}
8080
}
8181
export class MenuItem {
@@ -121,15 +121,19 @@ export namespace bridge {
121121
}
122122
}
123123
export class RequestOptions {
124-
124+
Proxy: string;
125+
Insecure: boolean;
126+
Timeout: number;
125127

126128
static createFrom(source: any = {}) {
127129
return new RequestOptions(source);
128130
}
129131

130132
constructor(source: any = {}) {
131133
if ('string' === typeof source) source = JSON.parse(source);
132-
134+
this.Proxy = source["Proxy"];
135+
this.Insecure = source["Insecure"];
136+
this.Timeout = source["Timeout"];
133137
}
134138
}
135139
export class TrayContent {

go.mod

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ toolchain go1.21.10
66

77
require (
88
github.com/shirou/gopsutil v3.21.11+incompatible
9-
github.com/wailsapp/wails/v2 v2.9.1
9+
github.com/wailsapp/wails/v2 v2.9.2
1010
)
1111

1212
require (
13-
github.com/energye/systray v1.0.2
1413
github.com/klauspost/cpuid/v2 v2.2.8
1514
github.com/oschwald/geoip2-golang v1.11.0
1615
github.com/robfig/cron/v3 v3.0.1
17-
golang.org/x/text v0.16.0
16+
golang.org/x/text v0.18.0
1817
gopkg.in/yaml.v3 v3.0.1
1918
)
2019

@@ -28,6 +27,7 @@ require (
2827

2928
require (
3029
github.com/bep/debounce v1.2.1 // indirect
30+
github.com/energye/systray v1.0.2
3131
github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4
3232
github.com/go-ole/go-ole v1.3.0 // indirect
3333
github.com/godbus/dbus/v5 v5.1.0 // indirect
@@ -46,17 +46,19 @@ require (
4646
github.com/pkg/errors v0.9.1 // indirect
4747
github.com/rivo/uniseg v0.4.7 // indirect
4848
github.com/rogpeppe/go-internal v1.12.0 // indirect
49-
github.com/samber/lo v1.44.0 // indirect
49+
github.com/samber/lo v1.47.0 // indirect
5050
github.com/tklauser/go-sysconf v0.3.14 // indirect
5151
github.com/tklauser/numcpus v0.8.0 // indirect
52-
github.com/tkrajina/go-reflector v0.5.6 // indirect
52+
github.com/tkrajina/go-reflector v0.5.8 // indirect
5353
github.com/valyala/bytebufferpool v1.0.0 // indirect
5454
github.com/valyala/fasttemplate v1.2.2 // indirect
55-
github.com/wailsapp/go-webview2 v1.0.10 // indirect
55+
github.com/wailsapp/go-webview2 v1.0.16 // indirect
5656
github.com/wailsapp/mimetype v1.4.1 // indirect
5757
github.com/yusufpapurcu/wmi v1.2.4 // indirect
58-
golang.org/x/crypto v0.24.0 // indirect
59-
golang.org/x/net v0.26.0 // indirect
60-
golang.org/x/sys v0.21.0
58+
golang.org/x/crypto v0.27.0 // indirect
59+
golang.org/x/net v0.29.0 // indirect
60+
golang.org/x/sys v0.25.0
6161
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
6262
)
63+
64+
replace github.com/energye/systray => github.com/mklnz/systray v1.0.3-alpha.1

go.sum

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3IS
33
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
44
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
55
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6-
github.com/energye/systray v1.0.2 h1:63R4prQkANtpM2CIA4UrDCuwZFt+FiygG77JYCsNmXc=
7-
github.com/energye/systray v1.0.2/go.mod h1:sp7Q/q/I4/w5ebvpSuJVep71s9Bg7L9ZVp69gBASehM=
86
github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4 h1:ygs9POGDQpQGLJPlq4+0LBUmMBNox1N4JSpw+OETcvI=
97
github.com/gen2brain/beeep v0.0.0-20240516210008-9c006672e7f4/go.mod h1:0W7dI87PvXJ1Sjs0QPvWXKcQmNERY77e8l7GFhZB/s4=
108
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
@@ -50,6 +48,8 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
5048
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
5149
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
5250
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
51+
github.com/mklnz/systray v1.0.3-alpha.1 h1:92NbWMoPjrJ7jMb7gGGvkM6u5vwxyyzt8Nz71/Hz5tY=
52+
github.com/mklnz/systray v1.0.3-alpha.1/go.mod h1:sp7Q/q/I4/w5ebvpSuJVep71s9Bg7L9ZVp69gBASehM=
5353
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ=
5454
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U=
5555
github.com/oschwald/geoip2-golang v1.11.0 h1:hNENhCn1Uyzhf9PTmquXENiWS6AlxAEnBII6r8krA3w=
@@ -71,8 +71,8 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG
7171
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
7272
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
7373
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
74-
github.com/samber/lo v1.44.0 h1:5il56KxRE+GHsm1IR+sZ/6J42NODigFiqCWpSc2dybA=
75-
github.com/samber/lo v1.44.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU=
74+
github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc=
75+
github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU=
7676
github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
7777
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
7878
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
@@ -85,25 +85,25 @@ github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZ
8585
github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY=
8686
github.com/tklauser/numcpus v0.8.0 h1:Mx4Wwe/FjZLeQsK/6kt2EOepwwSl7SmJrK5bV/dXYgY=
8787
github.com/tklauser/numcpus v0.8.0/go.mod h1:ZJZlAY+dmR4eut8epnzf0u/VwodKmryxR8txiloSqBE=
88-
github.com/tkrajina/go-reflector v0.5.6 h1:hKQ0gyocG7vgMD2M3dRlYN6WBBOmdoOzJ6njQSepKdE=
89-
github.com/tkrajina/go-reflector v0.5.6/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4=
88+
github.com/tkrajina/go-reflector v0.5.8 h1:yPADHrwmUbMq4RGEyaOUpz2H90sRsETNVpjzo3DLVQQ=
89+
github.com/tkrajina/go-reflector v0.5.8/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4=
9090
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
9191
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
9292
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
9393
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
94-
github.com/wailsapp/go-webview2 v1.0.10 h1:PP5Hug6pnQEAhfRzLCoOh2jJaPdrqeRgJKZhyYyDV/w=
95-
github.com/wailsapp/go-webview2 v1.0.10/go.mod h1:Uk2BePfCRzttBBjFrBmqKGJd41P6QIHeV9kTgIeOZNo=
94+
github.com/wailsapp/go-webview2 v1.0.16 h1:wffnvnkkLvhRex/aOrA3R7FP7rkvOqL/bir1br7BekU=
95+
github.com/wailsapp/go-webview2 v1.0.16/go.mod h1:Uk2BePfCRzttBBjFrBmqKGJd41P6QIHeV9kTgIeOZNo=
9696
github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs=
9797
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
98-
github.com/wailsapp/wails/v2 v2.9.1 h1:irsXnoQrCpeKzKTYZ2SUVlRRyeMR6I0vCO9Q1cvlEdc=
99-
github.com/wailsapp/wails/v2 v2.9.1/go.mod h1:7maJV2h+Egl11Ak8QZN/jlGLj2wg05bsQS+ywJPT0gI=
98+
github.com/wailsapp/wails/v2 v2.9.2 h1:Xb5YRTos1w5N7DTMyYegWaGukCP2fIaX9WF21kPPF2k=
99+
github.com/wailsapp/wails/v2 v2.9.2/go.mod h1:uehvlCwJSFcBq7rMCGfk4rxca67QQGsbg5Nm4m9UnBs=
100100
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
101101
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
102-
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
103-
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
102+
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
103+
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
104104
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
105-
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
106-
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
105+
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
106+
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
107107
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
108108
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
109109
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -113,12 +113,12 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
113113
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
114114
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
115115
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
116-
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
117-
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
116+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
117+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
118118
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
119119
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
120-
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
121-
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
120+
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
121+
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
122122
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
123123
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
124124
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=

0 commit comments

Comments
 (0)