Skip to content

contacts: support --birthday and --notes in contacts update#233

Merged
steipete merged 2 commits intosteipete:mainfrom
rosssivertsen:contacts-update-birthday-notes
Feb 13, 2026
Merged

contacts: support --birthday and --notes in contacts update#233
steipete merged 2 commits intosteipete:mainfrom
rosssivertsen:contacts-update-birthday-notes

Conversation

@rosssivertsen
Copy link
Contributor

@rosssivertsen rosssivertsen commented Feb 12, 2026

This PR extends gog contacts update to support updating two additional People API fields that users commonly need but that weren't previously exposed:

  • --birthday YYYY-MM-DD (writes People API birthdays, primary)
  • --notes <text> (writes People API biographies, primary; TEXT_PLAIN)

Both flags support clearing by passing an empty string.

Implementation details:

  • Fetches existing contact with birthdays,biographies included in the PersonFields mask when running update.
  • Adds the appropriate UpdatePersonFields entries (birthdays, biographies).
  • Parses birthday via Go time parsing (YYYY-MM-DD).

Motivation: we hit this gap while automating contact hygiene, and the underlying People API supports these fields; it's mainly a CLI UX/coverage gap.

Testing:

  • go test ./... passes in a clean env.

@rosssivertsen rosssivertsen force-pushed the contacts-update-birthday-notes branch from bcd0e40 to 82905bc Compare February 12, 2026 14:35
@steipete steipete merged commit 077f9a3 into steipete:main Feb 13, 2026
1 check passed
@steipete
Copy link
Owner

Landed via temp rebase onto main.

  • Gate: \pnpm gate skipped (no package.json)
    0 issues.
    ok github.com/steipete/gogcli/cmd/gog (cached)
    ? github.com/steipete/gogcli/internal/authclient [no test files]
    ok github.com/steipete/gogcli/internal/cmd 15.915s
    ok github.com/steipete/gogcli/internal/config (cached)
    ok github.com/steipete/gogcli/internal/errfmt (cached)
    ok github.com/steipete/gogcli/internal/googleapi (cached)
    ok github.com/steipete/gogcli/internal/googleauth (cached)
    ok github.com/steipete/gogcli/internal/input (cached)
    ok github.com/steipete/gogcli/internal/outfmt (cached)
    ok github.com/steipete/gogcli/internal/secrets (cached)
    ok github.com/steipete/gogcli/internal/timeparse (cached)
    ok github.com/steipete/gogcli/internal/tracking (cached)
    ok github.com/steipete/gogcli/internal/ui (cached)
    ok github.com/steipete/gogcli/scripts (cached)
  • Land commit: b1a26d3
  • Merge commit: 077f9a3

Thanks @rosssivertsen!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants