Commit Graph

14 Commits

Author SHA1 Message Date
Peter Steinberger
c888a85b1c test: add regression coverage 2025-12-26 19:20:53 +01:00
Peter Steinberger
9d8d36a94e feat: take over PR #18 integration 2025-12-26 15:35:15 +01:00
salmonumbrella
e7fae164f4
feat: add context propagation, security fixes, and new features
Drive:
- Add context propagation to all API calls
- Add path traversal security fix in download

Gmail:
- Add context propagation to labels and thread commands
- Simplify MIME building (remove unused ReplyTo, BodyHTML)
- Add --from flag for send-as aliases in send and drafts
- Simplify base64 decoding
- Add path traversal security fix in attachments

Calendar:
- Add needsAction status support to respond command
- Add --comment flag for response comments
- Add organizer check to prevent self-response

Auth:
- Add browser-based account management command (auth manage)
- Add web UI for managing connected accounts

Maintenance:
- Update golangci-lint config for v2 compatibility
2025-12-24 19:14:01 -08: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
d50d7f7bcc feat(tasks): add Tasks support 2025-12-24 18:50:59 +01:00
Peter Steinberger
4015bc4d91 test: cover drive downloads and gmail helpers 2025-12-12 16:35:41 +00:00
Peter Steinberger
c6e17331d1 test: raise coverage (auth + googleapi + helpers) 2025-12-12 16:32:07 +00:00
Peter Steinberger
f27117ba33 test: raise coverage for drive and googleapi 2025-12-12 16:03:20 +00:00
Peter Steinberger
055b27f9fc Tests: add more coverage for helpers 2025-12-12 15:21:57 +00:00
Peter Steinberger
dbd3846fcc Auth: don't pre-check stored scopes 2025-12-12 15:03:03 +00:00
Peter Steinberger
c0589dca9d OAuth2: bound refresh-token HTTP with timeout 2025-12-12 14:55:19 +00:00
Peter Steinberger
654ce4740f Google API: set default HTTP timeout 2025-12-12 14:51:17 +00:00
Peter Steinberger
001d61210c People API: per-endpoint scopes + other contacts scope 2025-12-12 14:44:40 +00:00
Peter Steinberger
bfbc6e4323 Unify Google CLI with auth, services, and CI 2025-12-12 14:18:38 +00:00