Commit Graph

348 Commits

Author SHA1 Message Date
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
Peter Steinberger
b14c0ce908 fix(auth): filter non-token keys in auth tokens list 2026-01-09 16:43:14 +01:00
Peter Steinberger
3606b751ad docs(auth): link OAuth client setup 2026-01-09 15:29:20 +01:00
Peter Steinberger
bfe101a45f fix(lint): satisfy wsl/err113 2026-01-09 13:26:52 +01:00
Peter Steinberger
82a75efc41 docs(readme): remove lefthook mention 2026-01-09 13:22:21 +01:00
Peter Steinberger
334570fa8e fix(auth): skip keychain access for file backend 2026-01-09 11:29:36 +01:00
Peter Steinberger
7e12fa212f docs(readme): refresh features and auth/keyring 2026-01-09 11:08:15 +01:00
Peter Steinberger
962ccf3353 feat(auth): hint keyring file password 2026-01-09 10:52:52 +01:00
Peter Steinberger
abb3e63638 test(gmail): prevent watch serve CI hang 2026-01-09 10:35:25 +01:00
Peter Steinberger
dacfa8a178 fix(cli): keyring config UX + make gog args 2026-01-09 10:32:33 +01:00
Peter Steinberger
fde7e6ffd4 ci: fix fmt-check and lint 2026-01-09 10:09:53 +01:00
Peter Steinberger
269f8e5a1f feat(auth): add keyring backend config command 2026-01-09 10:05:40 +01:00
Peter Steinberger
ba41885b1c test: raise coverage to 85% 2026-01-09 09:18:16 +01:00
Peter Steinberger
6c6a354e54
Merge pull request #53 from visionik/fix/recurring-event-timezone
fix(calendar): add timezone to EventDateTime for recurring events
2026-01-09 05:00:19 +00:00
Peter Steinberger
00dcff3f20 fix(calendar): infer timeZone for recurring events (#53, thanks @visionik) 2026-01-09 05:58:01 +01:00
Jonathan Taylor
6ec670d0df fix(calendar): add timezone to EventDateTime for recurring events
Google Calendar API requires an explicit TimeZone field on EventDateTime
when creating recurring events. Without it, the API returns:
'Missing time zone definition for start time.'

This change extracts the timezone from the RFC3339 offset in the --from/--to
values and maps common US offsets to IANA timezone names.

Fixes recurring event creation via:
  gog calendar create primary --summary 'Test' \
    --from '2026-01-08T11:00:00-05:00' \
    --to '2026-01-08T11:30:00-05:00' \
    --rrule 'RRULE:FREQ=DAILY;INTERVAL=28'
2026-01-09 05:53:40 +01:00
Peter Steinberger
8fe47fce70
Merge pull request #35 from salmonumbrella/feature/email-tracking
feat(tracking): add optional email open tracking
2026-01-09 03:51:04 +00:00
Peter Steinberger
8b18ae87c9 fix(lint): resolve wsl lint findings (#35)
Thanks @salmonumbrella.

Co-authored-by: salmonumbrella <salmonumbrella@users.noreply.github.com>
2026-01-09 04:49:53 +01:00
Peter Steinberger
852083613f fix(lint): tidy wsl spacing (#35)
Thanks @salmonumbrella.

Co-authored-by: salmonumbrella <salmonumbrella@users.noreply.github.com>
2026-01-09 04:41:05 +01:00