Skip to content

Commit 16cdb14

Browse files
authored
Merge pull request #100 from salmonumbrella/fix/issue-97-reminders
fix(calendar): force reminders override payload
2 parents ce7c10a + de683a5 commit 16cdb14

3 files changed

Lines changed: 17 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Keyring: persist OAuth tokens across Homebrew upgrades. (#94) — thanks @salmonumbrella.
1919
- Docs: update Gmail command examples in README. (#95) — thanks @chrisrodz.
2020
- Contacts: include birthdays in contact get output. (#102) — thanks @salmonumbrella.
21+
- Calendar: force custom reminders payload to send UseDefault=false. (#100) — thanks @salmonumbrella.
2122

2223
## 0.7.0 - 2026-01-17
2324

internal/cmd/calendar_build.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,11 @@ func buildReminders(reminders []string) (*calendar.EventReminders, error) {
184184
})
185185
}
186186

187+
// ForceSendFields ensures UseDefault=false is sent (not omitted as zero value)
187188
return &calendar.EventReminders{
188-
UseDefault: false,
189-
Overrides: overrides,
189+
UseDefault: false,
190+
Overrides: overrides,
191+
ForceSendFields: []string{"UseDefault"},
190192
}, nil
191193
}
192194

internal/cmd/calendar_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,9 @@ func TestBuildReminders(t *testing.T) {
341341
if got == nil || got.UseDefault || len(got.Overrides) != 2 {
342342
t.Fatalf("unexpected: %#v", got)
343343
}
344+
if !hasStringValue(got.ForceSendFields, "UseDefault") {
345+
t.Fatalf("expected UseDefault to be force-sent, got %#v", got.ForceSendFields)
346+
}
344347
if got.Overrides[0].Method != "popup" || got.Overrides[0].Minutes != 30 {
345348
t.Fatalf("unexpected override[0]: %#v", got.Overrides[0])
346349
}
@@ -358,3 +361,12 @@ func TestBuildReminders(t *testing.T) {
358361
t.Fatalf("expected error for invalid reminder")
359362
}
360363
}
364+
365+
func hasStringValue(values []string, value string) bool {
366+
for _, v := range values {
367+
if v == value {
368+
return true
369+
}
370+
}
371+
return false
372+
}

0 commit comments

Comments
 (0)