Skip to content

Commit d804c26

Browse files
authored
feat(update): handle platform upgrade errors and log them appropriately
1 parent 37893ae commit d804c26

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

internal/update/arduino/arduino.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,12 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st
209209
},
210210
stream,
211211
); err != nil {
212+
var alreadyPresent *cmderrors.PlatformAlreadyAtTheLatestVersionError
213+
if errors.As(err, &alreadyPresent) {
214+
eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: alreadyPresent.Error()}
215+
return
216+
}
217+
212218
var notFound *cmderrors.PlatformNotFoundError
213219
if !errors.As(err, &notFound) {
214220
eventsCh <- update.Event{

internal/update/update.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ func (b *Manager) broadcast(event Event) {
146146
b.mu.RLock()
147147
defer b.mu.RUnlock()
148148

149+
if event.Type == ErrorEvent {
150+
slog.Error("An error occurred", slog.Any("event", event))
151+
}
149152
for ch := range b.subs {
150153
select {
151154
case ch <- event:

0 commit comments

Comments
 (0)