Commit Graph

17 Commits

Author SHA1 Message Date
Peter Steinberger
a2acb50163 refactor(gmail): simplify date selection 2026-01-08 21:07:09 +01:00
Peter Steinberger
9e9e51cafd fix(gmail): pick thread date by message timestamp 2026-01-08 20:07:26 +01:00
Kyu Park
e131aba76a feat(gmail): show last message date in thread search
- Default behavior now shows the date of the last (newest) message in thread
- This aligns with Gmail API sort order (threads sorted by last message)
- Add --oldest flag to show first message date instead
- Add lastMessage() helper function

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 20:05:16 +01:00
Peter Steinberger
1d595747f5 feat(calendar,gmail): calendar parity + email open tracking (#38) 2026-01-08 04:44:18 +01:00
Peter Steinberger
6021818391 feat(gmail): surface list-unsubscribe links 2026-01-08 03:55:17 +01:00
Peter Steinberger
4dab3566f6 feat(help): improve help output 2026-01-07 18:10:01 +01:00
salmonumbrella
141c89a590 feat(cli): add flag aliases and improve error messages
- Add --limit as alias for --max across all commands
- Add --thread-id and --in-reply-to as aliases for --reply-to-message-id
- Enhance unknown flag errors with "Run with --help" hint
- Add tests for Kong parse error formatting and flag aliases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 13:02:59 +01:00
Peter Steinberger
3c1afc6caf chore: tighten lint rules and fix findings 2025-12-31 19:47:32 +01:00
Peter Steinberger
4252ad53f4 refactor(cli): migrate to kong 2025-12-31 17:24:31 +01:00
Peter Steinberger
30fbee4a8f refactor(cmd): unify drive exports and table output 2025-12-26 18:32:06 +01:00
Peter Steinberger
9d8d36a94e feat: take over PR #18 integration 2025-12-26 15:35:15 +01:00
Peter Steinberger
18f2a9fd4f feat(cli)!: switch to --json/--plain 2025-12-26 10:15:12 +00:00
salmonumbrella
d2be673d10
feat: add retry logic, concurrent fetching, and extended commands
Resilience:
- RetryTransport with circuit breaker for 429/5xx resilience
- Exponential backoff with jitter, respects Retry-After headers
- Circuit breaker auto-resets after 30s of successful requests

Performance:
- Concurrent gmail thread fetching (fixes N+1 query pattern)
- Bounded concurrency with semaphore (max 10 parallel)

New calendar commands:
- colors: list available event/calendar colors
- conflicts: check availability across calendars
- search: find events by text query
- time: show current time in multiple timezones

New gmail commands:
- autoforward: get/enable/disable auto-forwarding
- delegates: list/add/remove mail delegation
- filters: list/create/delete inbox filters
- forwarding: manage forwarding addresses
- sendas: manage send-as aliases
- vacation: get/enable/disable vacation responder
- batch: bulk operations (mark-read, archive, label, delete)
- watch: Pub/Sub push with webhook forwarding

New services:
- Sheets: read/write/append spreadsheet data
- Tasks: manage tasklists and tasks

Developer experience:
- Shell completion (bash, zsh, fish, powershell)
- version command with build info
- --debug flag for verbose logging
- lefthook for pre-commit hooks

Documentation:
- Expanded README with examples
- Gmail watch/Pub/Sub guide (docs/watch.md)
- Architecture spec (docs/spec.md)
- Release process (docs/RELEASING.md)
2025-12-24 17:51:21 -08:00
Peter Steinberger
b59ea1e8cb feat: add gmail watch and history commands 2025-12-24 17:53:48 +00:00
Peter Steinberger
7d8e93cdc2 feat(gmail): add message get and attachment download 2025-12-17 21:24:51 +01:00
Peter Steinberger
0ebd388875 test: cover gmail + contacts via Execute 2025-12-12 16:51:01 +00:00
Peter Steinberger
bfbc6e4323 Unify Google CLI with auth, services, and CI 2025-12-12 14:18:38 +00:00