fix(backend): add no-cgo tray fallback for darwin and freebsd (#1691)

* refactor(backend): add darwin no-cgo tray fallback

* fix(release): stub tray for freebsd builds without cgo
This commit is contained in:
wenjie
2026-03-17 20:13:11 +08:00
committed by GitHub
parent 174fbba14c
commit 3e33d1053c
2 changed files with 34 additions and 1 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
//go:build !darwin || cgo
//go:build (!darwin && !freebsd) || cgo
package main
+33
View File
@@ -0,0 +1,33 @@
//go:build (darwin || freebsd) && !cgo
package main
import (
"context"
"os"
"os/signal"
"runtime"
"syscall"
"time"
"github.com/sipeed/picoclaw/pkg/logger"
)
func runTray() {
logger.Infof("System tray is unavailable in %s builds without cgo; running without tray", runtime.GOOS)
if !*noBrowser {
go func() {
time.Sleep(browserDelay)
if err := openBrowser(); err != nil {
logger.Errorf("Warning: Failed to auto-open browser: %v", err)
}
}()
}
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
<-ctx.Done()
shutdownApp()
}