]> git.giacomolli.uk - onechat/blobdiff - schedule.go
Add local context to chat operation failures
[onechat] / schedule.go
index 7eb747ff6d75205cf9a7b8c11b0ee4bb45dec370..23462d292e634b70906646d88def5ea7712abef8 100644 (file)
@@ -225,7 +225,7 @@ func (s *Schedules) deliver(ctx context.Context, l *TurnLoop) error {
 
                err = s.Done(schedule, now)
                if err != nil {
-                       return err
+                       return fmt.Errorf("acknowledge schedule run: %w", err)
                }
 
                attrs := []any{"id", schedule.ID}
@@ -352,7 +352,7 @@ func (s *Schedules) Set(text string, at, cron *string) (string, error) {
        default:
                parsed, err := scheduleParseCron(*cron)
                if err != nil {
-                       return "", err
+                       return "", fmt.Errorf("parse schedule expression: %w", err)
                }
 
                next, found := parsed.Next(now)
@@ -372,7 +372,7 @@ func (s *Schedules) Set(text string, at, cron *string) (string, error) {
        s.file.Schedules = append(s.file.Schedules, schedule)
        err := s.save()
        if err != nil {
-               return "", err
+               return "", fmt.Errorf("save new schedule: %w", err)
        }
 
        s.change()
@@ -430,7 +430,7 @@ func (s *Schedules) Remove(id int) (string, error) {
        s.file.Schedules = slices.Delete(s.file.Schedules, index, index+1)
        err := s.save()
        if err != nil {
-               return "", err
+               return "", fmt.Errorf("save removed schedule: %w", err)
        }
 
        s.change()