diff --git a/internal/frontend/qml/tst_Gui.qml b/internal/frontend/qml/tst_Gui.qml index c6685403..b1435989 100644 --- a/internal/frontend/qml/tst_Gui.qml +++ b/internal/frontend/qml/tst_Gui.qml @@ -308,6 +308,7 @@ Window { signal notifySilentUpdateError() function checkForUpdates() { console.log("checkForUpdates") + go.notifyVersionIsTheLatest() } function startManualUpdate() { console.log("startManualUpdate") diff --git a/internal/frontend/qml/tst_GuiIE.qml b/internal/frontend/qml/tst_GuiIE.qml index 6978cdfe..e7bb8494 100644 --- a/internal/frontend/qml/tst_GuiIE.qml +++ b/internal/frontend/qml/tst_GuiIE.qml @@ -868,6 +868,7 @@ Window { signal notifySilentUpdateError() function checkForUpdates() { console.log("checkForUpdates") + go.notifyVersionIsTheLatest() } function startManualUpdate() { console.log("startManualUpdate") diff --git a/internal/frontend/qt-ie/frontend.go b/internal/frontend/qt-ie/frontend.go index 208f321e..52065da9 100644 --- a/internal/frontend/qt-ie/frontend.go +++ b/internal/frontend/qt-ie/frontend.go @@ -425,20 +425,20 @@ func (f *FrontendQt) startManualUpdate() { }() } -func (f *FrontendQt) checkForUpdatesAndWait() { +func (f *FrontendQt) checkIsLatestVersionAndUpdate() bool { version, err := f.updater.Check() if err != nil { logrus.WithError(err).Error("An error occurred while checking updates manually") f.Qml.NotifyManualUpdateError() - return + return false } f.SetVersion(version) if !f.updater.IsUpdateApplicable(version) { logrus.Debug("No need to update") - return + return true } logrus.WithField("version", version.Version).Info("An update is available") @@ -446,21 +446,26 @@ func (f *FrontendQt) checkForUpdatesAndWait() { if !f.updater.CanInstall(version) { logrus.Debug("A manual update is required") f.NotifyManualUpdate(version, false) - return + return false } f.NotifyManualUpdate(version, true) + return false } func (s *FrontendQt) checkAndOpenReleaseNotes() { go func() { - s.checkForUpdatesAndWait() + _ = s.checkIsLatestVersionAndUpdate() s.Qml.OpenReleaseNotesExternally() }() } func (s *FrontendQt) checkForUpdates() { - go s.checkForUpdatesAndWait() + go func() { + if s.checkIsLatestVersionAndUpdate() { + s.Qml.NotifyVersionIsTheLatest() + } + }() } func (f *FrontendQt) resetSource() { diff --git a/internal/frontend/qt/frontend.go b/internal/frontend/qt/frontend.go index a8df54f9..7eb85df3 100644 --- a/internal/frontend/qt/frontend.go +++ b/internal/frontend/qt/frontend.go @@ -414,20 +414,20 @@ func (s *FrontendQt) openLogs() { go open.Run(logsPath) } -func (s *FrontendQt) checkForUpdatesAndWait() { +func (s *FrontendQt) checkIsLatestVersionAndUpdate() bool { version, err := s.updater.Check() if err != nil { logrus.WithError(err).Error("An error occurred while checking updates manually") s.Qml.NotifyManualUpdateError() - return + return false } s.SetVersion(version) if !s.updater.IsUpdateApplicable(version) { logrus.Debug("No need to update") - return + return true } logrus.WithField("version", version.Version).Info("An update is available") @@ -435,21 +435,26 @@ func (s *FrontendQt) checkForUpdatesAndWait() { if !s.updater.CanInstall(version) { logrus.Debug("A manual update is required") s.NotifyManualUpdate(version, false) - return + return false } s.NotifyManualUpdate(version, true) + return false } func (s *FrontendQt) checkAndOpenReleaseNotes() { go func() { - s.checkForUpdatesAndWait() + _ = s.checkIsLatestVersionAndUpdate() s.Qml.OpenReleaseNotesExternally() }() } func (s *FrontendQt) checkForUpdates() { - go s.checkForUpdatesAndWait() + go func() { + if s.checkIsLatestVersionAndUpdate() { + s.Qml.NotifyVersionIsTheLatest() + } + }() } func (s *FrontendQt) openLicenseFile() { diff --git a/unreleased.md b/unreleased.md index 3d2a49cd..ca23e1e7 100644 --- a/unreleased.md +++ b/unreleased.md @@ -5,6 +5,7 @@ Changelog [format](http://keepachangelog.com/en/1.0.0/) ## Unreleased ### Added +* GODT-1007 Notify user when version is the latest. ### Removed @@ -14,3 +15,4 @@ Changelog [format](http://keepachangelog.com/en/1.0.0/) * GODT-787 GODT-978 Fix IE and Bridge importing to sent not showing up in inbox (setting up flags properly). * GODT-1006 Use correct macOS keychain name. * GODT-1009 Set ContentID if present and not explicitly attachment. +