Skip to content

Adopt gogcli improvements: keyring, calendar safety, contacts, quoted mail#3

Merged
jaredpalmer merged 5 commits intomainfrom
adopt-gogcli-1-4
Feb 19, 2026
Merged

Adopt gogcli improvements: keyring, calendar safety, contacts, quoted mail#3
jaredpalmer merged 5 commits intomainfrom
adopt-gogcli-1-4

Conversation

@jaredpalmer
Copy link
Copy Markdown
Owner

Summary

Implements the first four upstream-adoption items from the gogcli review in a dedicated branch/worktree.

1) Secrets/keyring hardening

  • Adds auto|keychain|file backend resolution.
  • Uses native macOS keychain via security when available.
  • Keeps file backend fallback.
  • Treats MOG_KEYRING_PASSWORD empty value as intentional (headless-safe).

2) Calendar patch safety

  • Splits event update PATCHes when reminder fields and attendees are changed together.
  • Sends non-attendee fields first, then attendees-only patch.

3) Richer contacts + deterministic custom fields

  • Adds contact flags: --org, --title, --url, --note, --custom key=value.
  • Expands Graph contact select set.
  • Encodes/merges custom fields through categories using mog.custom.* keys.
  • Normalizes returned custom fields in deterministic order.

4) Mail quoted replies

  • Adds mog mail send --quote <message-id>.
  • Allows quote-only send when --body is omitted.
  • Builds quoted reply block from source message metadata/body preview.

Docs

  • Updates README.md usage/config notes.
  • Updates docs/microsoft-port-plan.md implementation status.

Testing

  • go test ./internal/secrets
  • go test ./internal/services/calendar ./internal/cmd
  • go test ./internal/services/contacts ./internal/cmd
  • go test ./internal/cmd ./internal/services/mail
  • go test ./...

Commits

  1. Implement native keychain backend resolution and headless password semantics
  2. Split calendar attendee and reminder update patches for Graph safety
  3. Expand contacts fields and add deterministic custom field handling
  4. Add quoted reply support to mail send command
  5. Document keyring, contacts, calendar, and mail quote enhancements

@jaredpalmer jaredpalmer merged commit 3e43382 into main Feb 19, 2026
2 checks passed
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.

1 participant