From c5216df9559e35fe77c174194a2f08f1aad28f02 Mon Sep 17 00:00:00 2001 From: Michael Kondrashin Date: Mon, 19 Feb 2024 22:12:55 +0200 Subject: [PATCH] fix darwin run without config --- .github/workflows/build_win.yml | 6 +++--- cmd/sandboxer/main.go | 24 +++++++++++++++++++----- cmd/submit/main.go | 6 ++++-- pkg/dispatchers/wait_dispatch.go | 3 +-- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_win.yml b/.github/workflows/build_win.yml index 3a9982f..4396f4b 100644 --- a/.github/workflows/build_win.yml +++ b/.github/workflows/build_win.yml @@ -14,7 +14,7 @@ jobs: run: Get-ChildItem -Recurse | Format-Table -Property Mode, LastWriteTime, Length, FullName - name: Setup Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.21.5 @@ -45,7 +45,7 @@ jobs: run: ls -lR - name: Setup Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.21.5 @@ -77,7 +77,7 @@ jobs: run: ls -lR - name: Setup Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.21.5 diff --git a/cmd/sandboxer/main.go b/cmd/sandboxer/main.go index 1310e38..ecd5259 100644 --- a/cmd/sandboxer/main.go +++ b/cmd/sandboxer/main.go @@ -9,6 +9,7 @@ Sandboxer main file package main import ( + "errors" "fmt" "os" "os/signal" @@ -43,8 +44,8 @@ type SandboxerApp struct { submissionsWindow *ModalWindow //quotaWindow *QuotaWindow - //optionsWindow *OptionsWindow - updateWindow *ModalWindow + optionsWindow *ModalWindow + updateWindow *ModalWindow //aboutWindow *AboutWindow } @@ -79,13 +80,13 @@ func NewSandboxingApp(conf *config.Configuration, channels *task.Channels, list }, a.optionsWindow.win) }) */ - optionsWindow := NewModalWindow(NewOptionsWindow(conf), &a.TrayApp) + a.optionsWindow = NewModalWindow(NewOptionsWindow(conf), &a.TrayApp) a.menu = fyne.NewMenu(globals.AppName, // SUBMIT_FILE s.submitMenuItem, a.submissionsWindow.MenuItem, quotaWindow.MenuItem, - optionsWindow.MenuItem, + a.optionsWindow.MenuItem, fyne.NewMenuItemSeparator(), a.updateWindow.MenuItem, aboutWindow.MenuItem, @@ -101,10 +102,23 @@ func (a *SandboxerApp) Icon() fyne.Resource { return ApplicationIcon } +func (s *SandboxerApp) ShowOptions() { + confPath, err := globals.ConfigurationFilePath() + if err != nil { + logging.Errorf("ConfigurationFilePath: %v", err) + return + } + if _, err := os.Stat(confPath); errors.Is(err, os.ErrNotExist) { + logging.Errorf("Configuration is missing: %v", err) + s.optionsWindow.Show() + } +} + func (s *SandboxerApp) Run() { if len(os.Args) == 2 && os.Args[1] == "--submissions" { s.submissionsWindow.Show() } + s.ShowOptions() go s.CheckUpdate() s.app.Run() } @@ -167,7 +181,7 @@ func main() { os.Exit(globals.ExitGetConfigurationFileathError) } conf := config.New(configFilePath) - if err := conf.Load(); err != nil { + if err := conf.Load(); err != nil && !errors.Is(err, os.ErrNotExist) { fmt.Fprintf(os.Stderr, "conf.Load: %v", err) os.Exit(globals.ExitLoadConfigError) } diff --git a/cmd/submit/main.go b/cmd/submit/main.go index 362b366..cc056dd 100644 --- a/cmd/submit/main.go +++ b/cmd/submit/main.go @@ -87,8 +87,10 @@ func main() { } conf := config.New(configFilePath) if err := conf.Load(); err != nil { - fmt.Fprintf(os.Stderr, "conf.Load: %v", err) - os.Exit(20) + if runtime.GOOS == "windows" { + fmt.Fprintf(os.Stderr, "conf.Load: %v", err) + os.Exit(20) + } } //close := logging.NewFileLog(conf.LogFolder(), submitLog) closeLogging, err := globals.SetupLogging(submitLog) diff --git a/pkg/dispatchers/wait_dispatch.go b/pkg/dispatchers/wait_dispatch.go index 4dd67e8..36d3305 100644 --- a/pkg/dispatchers/wait_dispatch.go +++ b/pkg/dispatchers/wait_dispatch.go @@ -33,8 +33,6 @@ func (*WaitDispatch) InboundChannel() task.Channel { } func (d *WaitDispatch) ProcessTask(tsk *task.Task) error { - //tsk.SetState(task.StateCheck) - vOne, err := d.vOne() if err != nil { return err @@ -45,6 +43,7 @@ func (d *WaitDispatch) ProcessTask(tsk *task.Task) error { return fmt.Errorf("SandboxSubmissionStatus: %w", err) } tsk.Deactivate() + d.list.Updated() logging.Debugf("%s Status: %v", tsk.SandboxID, status.Status) switch status.Status { case vone.StatusSucceeded: