GODT-2122: Handle check for updates failure

This commit is contained in:
James Houlahan
2022-11-19 13:18:43 +01:00
parent 1517dd81e6
commit 0ce0e4765b
3 changed files with 22 additions and 4 deletions

View File

@ -504,17 +504,24 @@ func (s *Service) CheckUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty,
go func() {
defer s.panicHandler.HandlePanic()
updateCh, done := s.bridge.GetEvents(events.UpdateAvailable{}, events.UpdateNotAvailable{})
updateCh, done := s.bridge.GetEvents(
events.UpdateAvailable{},
events.UpdateNotAvailable{},
events.UpdateCheckFailed{},
)
defer done()
s.bridge.CheckForUpdates()
switch (<-updateCh).(type) {
case events.UpdateNotAvailable:
_ = s.SendEvent(NewUpdateIsLatestVersionEvent())
case events.UpdateAvailable:
// ... this is handled by the main event loop
case events.UpdateNotAvailable:
_ = s.SendEvent(NewUpdateIsLatestVersionEvent())
case events.UpdateCheckFailed:
// ... maybe show an error? but do nothing for now
}
_ = s.SendEvent(NewUpdateCheckFinishedEvent())