diff --git a/pkg/gui/background.go b/pkg/gui/background.go index 0272f0864..c9f0e3d40 100644 --- a/pkg/gui/background.go +++ b/pkg/gui/background.go @@ -3,7 +3,6 @@ package gui import ( "fmt" "runtime" - "strings" "time" "github.com/jesseduffield/gocui" @@ -76,21 +75,18 @@ func (self *BackgroundRoutineMgr) startBackgroundRoutines() { func (self *BackgroundRoutineMgr) startBackgroundFetch() { self.gui.waitForIntro.Wait() - isNew := self.gui.IsNewRepo + fetch := func() error { + err := self.backgroundFetch() + self.gui.c.Render() + return err + } + + // We want an immediate fetch at startup, and since goEvery starts by + // waiting for the interval, we need to trigger one manually first + _ = fetch() + userConfig := self.gui.UserConfig() - if !isNew { - time.After(time.Duration(userConfig.Refresher.FetchInterval) * time.Second) - } - err := self.backgroundFetch() - if err != nil && strings.Contains(err.Error(), "exit status 128") && isNew { - self.gui.c.Alert(self.gui.c.Tr.NoAutomaticGitFetchTitle, self.gui.c.Tr.NoAutomaticGitFetchBody) - } else { - self.goEvery(time.Second*time.Duration(userConfig.Refresher.FetchInterval), self.gui.stopChan, func() error { - err := self.backgroundFetch() - self.gui.c.Render() - return err - }) - } + self.goEvery(time.Second*time.Duration(userConfig.Refresher.FetchInterval), self.gui.stopChan, fetch) } func (self *BackgroundRoutineMgr) startBackgroundFilesRefresh(refreshInterval int) {