From f7f7a90a88d06edb9a86f97c08dcc9e60e86b4e7 Mon Sep 17 00:00:00 2001 From: lucarin91 Date: Tue, 16 Dec 2025 10:14:39 +0100 Subject: [PATCH] fix(update): always try to restart the app-cli daemon --- internal/update/apt/service.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/internal/update/apt/service.go b/internal/update/apt/service.go index 860be68f..e1815f54 100644 --- a/internal/update/apt/service.go +++ b/internal/update/apt/service.go @@ -83,6 +83,17 @@ func (s *Service) UpgradePackages(ctx context.Context, names []string) (<-chan u defer s.lock.Unlock() defer close(eventsCh) + // We try anyway to restart the service. + defer func() { + eventsCh <- update.NewDataEvent(update.RestartEvent, "Upgrade completed. Restarting ...") + + err := restartServices(ctx) + if err != nil { + eventsCh <- update.NewErrorEvent(fmt.Errorf("error restarting services after upgrade: %w", err)) + return + } + }() + eventsCh <- update.NewDataEvent(update.StartEvent, "Upgrade is starting") stream := runUpgradeCommand(ctx, names) for line, err := range stream { @@ -127,13 +138,6 @@ func (s *Service) UpgradePackages(ctx context.Context, names []string) (<-chan u } eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) } - eventsCh <- update.NewDataEvent(update.RestartEvent, "Upgrade completed. Restarting ...") - - err := restartServices(ctx) - if err != nil { - eventsCh <- update.NewErrorEvent(fmt.Errorf("error restarting services after upgrade: %w", err)) - return - } }() return eventsCh, nil