Commit Graph

366 Commits

Author SHA1 Message Date
Peter Steinberger
22cf640a07 fix: reuse sheets format helpers (#72) (thanks @nilzzzzzz)
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-16 09:56:25 +00:00
Nils Czernig
08398cc0f2 feat(sheets): add format command 2026-01-16 09:52:44 +00:00
Peter Steinberger
6806c8b453
Merge pull request #70 from antons/fix/gmail-watch-stale-history-404
fix(gmail): handle stale watch 404s
2026-01-16 09:38:39 +00:00
Peter Steinberger
39767c7407 fix(gmail): gate notfound on 404 (#70) (thanks @antons) 2026-01-16 09:38:13 +00:00
Anton Sotkov
9a0f127cf5 fix(gmail): handle stale watch 404s
After running for some time, the Gmail watcher in Clawd was failing with:

08:57:37 [gmail-watcher] [gog] watch: handle push failed: googleapi: Error 404: Requested entity was not found., notFound

Addressed by treating this 404 as stale so watch handling triggers a resync.

In addition, we now keep processing the entire push when one message ID no longer exists (fetching it returns 404), instead of failing the whole webhook.
2026-01-16 09:37:11 +00:00
Peter Steinberger
86b09bfd0b
Merge pull request #69 from ryanh-ai/fix/gmail-filter-scope
fix(gmail): add settings.sharing scope for filter operations
2026-01-16 09:11:41 +00:00
Peter Steinberger
2313c1be4c fix: add gmail filter scope regression test (#69) (thanks @ryanh-ai) 2026-01-16 09:11:19 +00:00
Ryan H
0447664fcd fix(gmail): add settings.sharing scope for filter operations
Filter creation requires the gmail.settings.sharing scope. Without it,
users get a 403 insufficientPermissions error when trying to create
filters via `gog gmail settings filters create`.

Fixes #68
2026-01-16 09:08:11 +00:00
Peter Steinberger
29813305b9 chore: update deps + tests (0.6.2 Unreleased) 2026-01-15 17:26:19 +00:00
Peter Steinberger
ff8d8e9b12
Merge pull request #67 from pasogott/feat/drive-shared-drives
feat(drive): add 'drives' subcommand to list shared drives
2026-01-15 17:14:26 +00:00
Peter Steinberger
c94b6d4417 feat(drive): add drives subcommand (#67) (thanks @pasogott) 2026-01-15 17:14:01 +00:00
sheeek
7f764eb143 test(drive): add unit tests for drives subcommand
Tests cover:
- Text and JSON output modes
- Empty drives list handling
- Query parameter filtering
- Pagination token hint
2026-01-15 17:11:19 +00:00
sheeek
174de114fc feat(drive): add 'drives' subcommand to list shared drives
Adds gog drive drives command that calls the Google Drive API drives.list
endpoint to enumerate all shared drives (Team Drives) the user has access to.

Supports:
- --max/--limit for pagination
- --page for continuation
- --query/-q for filtering shared drives
- --json for scripted output
- Standard table output with ID, NAME, CREATED columns

API Reference: https://developers.google.com/drive/api/v3/reference/drives/list
2026-01-15 17:11:19 +00:00
Peter Steinberger
0fcffcafd4
Merge pull request #59 from tompson/main
made show-assigned for tasks default
2026-01-15 16:32:16 +00:00
Peter Steinberger
acc1c78333 docs(changelog): tasks list defaults to --show-assigned (#59) (thanks @tompson) 2026-01-15 16:31:53 +00:00
Thomas Einwaller
5b23c67da4 made show-assigned for tasks default 2026-01-15 16:30:36 +00:00
Peter Steinberger
22c88f9e72 test: fix stdin body lint
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-15 09:51:51 +00:00
Peter Steinberger
750881b8d2 feat(gmail): add --body-file support 2026-01-15 09:51:19 +00:00
Peter Steinberger
d8dcb3ab42 release: v0.6.0
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-11 03:07:12 +01:00
Peter Steinberger
e5f005019d docs(readme): refresh feature set 2026-01-11 03:03:22 +01:00
Peter Steinberger
f2347515d8 fix(keep): use keep.readonly scope (#64) (thanks @jeremys) 2026-01-11 02:24:48 +01:00
Peter Steinberger
13deee9396 docs(changelog): prep 0.6.0 unreleased 2026-01-11 02:10:42 +01:00
Peter Steinberger
3c131fb1e3 feat(auth): support Workspace service accounts (#54) (thanks @pvieito) 2026-01-11 02:09:05 +01:00
Peter Steinberger
fec91e0783 docs: document readonly drive scopes (#58) 2026-01-11 01:15:26 +01:00
Peter Steinberger
7d9b2d8a77
Merge pull request #63 from steipete/temp/test-more-sheets-scopes
test(auth): cover sheets scope matrix
2026-01-10 23:15:23 +00:00
Peter Steinberger
bdace30a35 test(auth): cover sheets scope matrix
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-11 00:13:17 +01:00
Peter Steinberger
528cba360d
Merge pull request #62 from steipete/temp/fix-58-sheets-readonly-drive
fix(auth): include drive scope for sheets export
2026-01-10 23:07:51 +00:00
Peter Steinberger
11562321ec fix(auth): include drive scope for sheets export
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-11 00:06:04 +01:00
Peter Steinberger
d1111cabac
Merge pull request #60 from steipete/temp/issue-58-readonly
feat(auth): add --readonly and --drive-scope
2026-01-10 22:59:26 +00:00
Peter Steinberger
2bb6a8b37c feat(auth): add --readonly and --drive-scope (#58) (thanks @jeremys)
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-10 23:57:15 +01:00
Peter Steinberger
471324b451
Merge pull request #57 from antons/feature/drafts-without-recipient
feat(gmail): allow drafts without a recipient
2026-01-10 22:26:53 +00:00
Peter Steinberger
7899c4feae fix(gmail): preserve draft To on update (#57) (thanks @antons) 2026-01-10 23:26:32 +01:00
Anton Sotkov
4e92b5972b feat(gmail): allow drafts without a recipient 2026-01-10 13:34:26 +02:00
Peter Steinberger
f371b054db release: v0.5.4
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-10 03:53:28 +01:00
salmonumbrella
07ffcb5d84
fix(paths): expand ~ in user-provided file paths (#56)
* fix(paths): expand ~ in user-provided file paths

When users specify paths with ~ (e.g., --out ~/Downloads/file.pdf) and
the path is quoted in the shell command, the tilde is not expanded by
the shell. This caused files to be written to a literal ~/Downloads
directory instead of the user's home directory.

Add config.ExpandPath() function that expands ~ at the beginning of
paths to the user's home directory. Apply this fix to all user-provided
file paths across:

- gmail attachment download (--out)
- drive download/export (--out)
- drive upload (localPath argument)
- auth token export (--out)
- auth credentials/import/keep (input paths)
- gmail thread attachments (--out-dir)
- gmail send/drafts (--attach)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(lint): address wrapcheck and wsl issues

* fix(calendar): support ISO 8601 time format and add 'list' alias

- Add parsing for ISO 8601 datetime with numeric timezone without colon
  (e.g., 2026-01-09T16:38:41-0800), which is the format produced by
  macOS `date +%Y-%m-%dT%H:%M:%S%z`
- Add 'list' as an alias for 'events' subcommand for more intuitive CLI
  usage (gog calendar list instead of gog calendar events)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(changelog): note PR #56

* chore(lint): dedupe file string

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-10 02:19:30 +00:00
Peter Steinberger
8e878fe485 fix(cli): avoid vet shadow
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-10 03:13:12 +01:00
Peter Steinberger
ecef6a0f10 fix(cli): infer default account 2026-01-10 03:12:21 +01:00
Peter Steinberger
7b664d5ac4 chore(release): fix verify-release.sh for tap 2026-01-10 02:12:57 +01:00
Peter Steinberger
0af3c331ff fix(release): embed version in artifacts
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-10 02:06:20 +01:00
Peter Steinberger
c15727e9ab release: v0.5.1
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-09 23:38:59 +01:00
Peter Steinberger
c428b0af5d chore(release): add windows arm64 target 2026-01-09 23:37:22 +01:00
Peter Steinberger
810e0c5257 release: v0.5.0
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-09 22:56:59 +01:00
Peter Steinberger
e05b08992c fix(gmail): avoid err shadow in drafts update 2026-01-09 22:54:51 +01:00
Peter Steinberger
8d918ceb53
Merge pull request #55 from antons/feature/update-drafts
feat(gmail): add drafts update command
2026-01-09 21:48:17 +00:00
Peter Steinberger
95e883dc8f fix(gmail): preserve draft thread headers on update (#55) (thanks @antons) 2026-01-09 22:47:52 +01:00
Anton Sotkov
a528467dcd refactor(drafts): share compose core 2026-01-09 22:46:04 +01:00
Anton Sotkov
21fbf16390 feat(gmail): add drafts update command 2026-01-09 22:46:04 +01:00
Peter Steinberger
6d462c5864 fix(lint): satisfy wsl 2026-01-09 21:05:08 +01:00
Peter Steinberger
b44d1d5d97 feat(auth): add groups service 2026-01-09 21:05:05 +01:00
Peter Steinberger
4af0cb83f1 fix(auth): verify account matches authorized email 2026-01-09 17:30:19 +01:00