Commit Graph

855 Commits

Author SHA1 Message Date
Peter Steinberger
5cd913e287
release: v0.13.0
Some checks failed
ci / test (push) Has been cancelled
ci / worker (push) Has been cancelled
ci / windows (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-04-20 23:09:30 +01:00
Peter Steinberger
5f396e6f49
fix(docs): honor create dry-run 2026-04-20 23:04:20 +01:00
Peter Steinberger
a6e6d82423
build(deps): update dependency pins 2026-04-20 22:55:31 +01:00
Peter Steinberger
d3ac6b7311
docs(changelog): organize unreleased notes 2026-04-20 21:15:41 +01:00
Peter Steinberger
e22ae86289
fix(sheets): preserve chart sheet ID zero
Co-authored-by: Andrea Bergonzo <andybergon@gmail.com>
2026-04-20 20:53:57 +01:00
Peter Steinberger
acb40a8152
feat(sheets): add chart commands
Co-authored-by: Andrea Bergonzo <andybergon@gmail.com>
2026-04-20 20:41:15 +01:00
Peter Steinberger
7850415b87
refactor(cmd): keep landed PR paths lint-clean
Co-authored-by: iskkw9973 <ishikawam.dev@gmail.com>
Co-authored-by: klodr <klodr@users.noreply.github.com>
2026-04-20 19:20:54 +01:00
Peter Steinberger
64ab3772bf
feat(gmail,contacts): land label style and contact gender
Co-authored-by: iskkw9973 <ishikawam.dev@gmail.com>
Co-authored-by: klodr <klodr@users.noreply.github.com>
2026-04-20 19:17:47 +01:00
Peter Steinberger
dbeca138c3
docs: add generated command reference 2026-04-20 19:06:53 +01:00
Peter Steinberger
35d0ff4f47
test(gmail): extend live no-send smokes 2026-04-20 19:06:48 +01:00
Peter Steinberger
0ea676369d
refactor(gmail): centralize compose send plumbing 2026-04-20 19:06:45 +01:00
spencer-c-reed
13a1aaea13
feat(gmail): add forward command
Add `gog gmail forward` / `gog gmail fwd` with optional notes, verified send-as selection, forwarded headers, thread metadata, and attachment carry-over.

Hardening in this landing pass:
- include forward/fwd in Gmail no-send guard paths
- enforce per-account no-send before any Gmail API fetch/send work
- de-duplicate forwarded header formatting and test service setup
- update README, spec, and changelog

Validation:
- make fmt
- go test ./internal/cmd -run Forward\|NoSend
- make lint && make test && make build
- make ci
- clawdbot live smoke: read-only gmail search/thread get, forward dry-run with real message id, --gmail-no-send forward blocked before send

Co-authored-by: Spencer Reed <spencer.cavendish.reed@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 17:28:27 +01:00
Alex Hillman
db3a32432c
feat(calendar): add secondary calendar creation
Adds `gog calendar create-calendar` / `new-calendar` for secondary Google Calendar creation with summary, description, timezone, and location.

Landing polish:
- removed unrelated `.byline` cache files from the PR branch
- validates IANA timezone names locally
- dry-run no longer opens the Calendar service
- includes location in text output
- added request/body, text, dry-run, and validation tests
- README/spec/CHANGELOG entries

Local verification:
- go test ./internal/cmd -run TestCalendarCreateCalendarCmd
- make lint
- make test
- make build
- make ci
- live Calendar smoke with clawdbot@gmail.com: created secondary calendar, verified summary/timezone/location, deleted it via the same auth path

Thanks @alexknowshtml.

Co-authored-by: Alex Hillman <alex@indyhall.org>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 17:14:11 +01:00
Gianfranco P
a1fd0a8333
feat(slides): add rendered slide thumbnails
Adds `gog slides thumbnail` / `thumb` for rendered slide thumbnail URLs and optional PNG/JPEG downloads.

Landing polish:
- supports `--out` with `--output` alias
- uses shared output-file helper for expansion, parent creation, and private perms
- preserves close/write errors
- adds missing presentation-id test plus docs/spec/CHANGELOG

Local verification:
- go test ./internal/cmd -run TestSlidesThumbnail
- make lint
- make test
- make build
- make ci
- live Slides smoke with clawdbot@gmail.com: created deck, listed slide, downloaded medium PNG thumbnail, verified PNG bytes, trashed deck

Thanks @gianpaj.

Co-authored-by: gianpaj <gianpa@gmail.com>
2026-04-20 16:52:53 +01:00
Ben Lewis
5d332f7746
feat(drive): convert Markdown uploads to Docs
Adds Markdown upload conversion to Google Docs via `--convert` / `--convert-to doc`, strips leading YAML frontmatter by default, and provides `--keep-frontmatter` for the opt-out path.

Landing polish:
- byte-based frontmatter stripping with BOM/CRLF coverage
- Drive upload media tests for stripped and preserved frontmatter
- README/spec/CHANGELOG coverage

Local verification:
- focused `go test ./internal/cmd -run ...`
- make lint
- make test
- make build
- make ci
- live Drive smoke with clawdbot@gmail.com: converted Markdown upload, Markdown export verified no frontmatter, opt-out verified preserved content, both files trashed

Thanks @johnbenjaminlewis.

Co-authored-by: Ben Lewis <johnbenjaminlewis@gmail.com>
2026-04-20 16:39:48 +01:00
takashiyamaguchi
c73bb23fec
feat(auth): add credentials remove command
Adds `gog auth credentials remove [<client>|all]` with token/domain cleanup, JSON output, dry-run support, docs, and regression tests.

Local verification:
- make fmt
- make lint
- make test
- make build
- make ci

Thanks @yamagucci.

Co-authored-by: takashiyamaguchi <yama0628taka@gmail.com>
2026-04-20 16:32:03 +01:00
Peter Steinberger
2d0533557c
docs(readme): sync examples with CLI 2026-04-20 16:15:51 +01:00
Peter Steinberger
d84148a424
feat(gmail): add command and send safety guards
Co-authored-by: EricYangTL <eric@topazlabs.com>
Co-authored-by: spookyuser <16196262+spookyuser@users.noreply.github.com>
Co-authored-by: VeteranBV <henrysowell@gmail.com>
2026-04-20 16:05:19 +01:00
Peter Steinberger
4f5e474059
fix(cli): improve completion and Windows live testing
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: gagradebnath <salemdebnath@gmail.com>
2026-04-20 16:05:12 +01:00
Peter Steinberger
a8531f26b8
style(secrets): satisfy lint 2026-04-20 15:31:03 +01:00
Peter Steinberger
67ff204d1d
feat(drive,sheets): polish listings and tab commands
Co-authored-by: laihenyi <henyi@henyi.org>

Co-authored-by: Alex Hillman <alex@indyhall.org>

Co-authored-by: Umar Khan <ufkhan97@gmail.com>

Co-authored-by: Matthias Kurz <m.kurz@irregular.at>
2026-04-20 15:29:14 +01:00
Peter Steinberger
c4665c4bff
feat(auth): add ads service and keyring namespace override
Co-authored-by: Umar Khan <ufkhan97@gmail.com>

Co-authored-by: Matthias Kurz <m.kurz@irregular.at>
2026-04-20 15:29:03 +01:00
Peter Steinberger
3d63ebcc3e
fix(gmail): mark non-ascii html mime as 8bit
Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
2026-04-20 15:28:58 +01:00
Peter Steinberger
ade1214edc
refactor: split command test helpers
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 15:11:55 +01:00
Peter Steinberger
e13b2c102d
refactor: clarify recently landed PR helpers
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 14:55:46 +01:00
Peter Steinberger
c92d2e6371
feat(drive): support commenter share role (#443)
Co-authored-by: pavelzak <2132599+pavelzak@users.noreply.github.com>
2026-04-20 14:33:47 +01:00
Peter Steinberger
fe06c3cfb7
feat(gmail): add full message search bodies (#447)
Co-authored-by: Dewaldt Huysamen <5792287+GodsBoy@users.noreply.github.com>
2026-04-20 14:33:41 +01:00
Peter Steinberger
f1cef0d2da
feat(chat): support substring space lookup (#506)
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-04-20 14:33:33 +01:00
Peter Steinberger
a3f083c906
fix(tracking): prefer file secrets over stale keyring (#469)
Co-authored-by: Alex <1514933+alexuser@users.noreply.github.com>
2026-04-20 14:33:27 +01:00
Peter Steinberger
b048241696
fix(docs): restore markdown replace writes (#501)
Co-authored-by: twilsher <273817+twilsher@users.noreply.github.com>
2026-04-20 14:33:19 +01:00
Peter Steinberger
9e53b8681e
docs(agents): require co-author trailers for contributor work 2026-04-20 14:25:25 +01:00
Peter Steinberger
89916a5d9f
docs(changelog): thank contributors for landed fixes 2026-04-20 14:17:08 +01:00
Peter Steinberger
570294cdbd
fix(tasks): clear due date with empty flag 2026-04-20 14:16:57 +01:00
Peter Steinberger
0aa06b4706
fix(gmail): avoid stale charset re-decode 2026-04-20 14:16:54 +01:00
Peter Steinberger
df3e97faed
fix(calendar): correct event timezone and day bounds 2026-04-20 14:16:50 +01:00
Peter Steinberger
b371214104
style(time): satisfy weekday test lint 2026-04-20 14:03:01 +01:00
Peter Steinberger
4e6f485092
refactor(time): share weekday parsing 2026-04-20 14:01:37 +01:00
Peter Steinberger
b0a19c545f
fix(docs): preserve sed backreference formatting 2026-04-20 13:57:47 +01:00
Peter Steinberger
8482fbb1c0
fix(docs): use utf16 offsets for sed matches 2026-04-20 13:51:24 +01:00
Peter Steinberger
e427012c16
fix(time): parse common weekday aliases 2026-04-20 13:46:25 +01:00
Peter Steinberger
42476087f7
fix(cmd): reuse default literal constant 2026-04-20 13:34:05 +01:00
Peter Steinberger
c442d134a0
docs(changelog): thank PR 440 contributor 2026-04-20 13:32:41 +01:00
7. Sun
e781023fb4
fix(cmd): accept common weekday aliases
Parse tues, thur, and thurs as weekday expressions.\n\nThanks @sjhddh.
2026-04-20 13:32:28 +01:00
Peter Steinberger
8f88ec1414
docs(changelog): thank PR 467 contributor 2026-04-20 13:32:22 +01:00
Matt Van Horn
52c4a30fcd
fix(auth): clean config on account removal
Remove account aliases and client mappings when auth remove deletes a stored token.\n\nThanks @mvanhorn.
2026-04-20 13:32:02 +01:00
Peter Steinberger
7d5b96c29e
docs(changelog): thank PR 439 contributor 2026-04-20 13:31:53 +01:00
Claude Perrin
9e407bde74
fix(contacts): reject conflicting from-file update flags
Reject all individual contact update flags when --from-file is used.\n\nThanks @klodr.
2026-04-20 13:31:36 +01:00
Peter Steinberger
70076e3cd1
docs(changelog): thank PR 476 contributor 2026-04-20 13:31:26 +01:00
Shashank Kumar
e787894cdf
fix(gmail): preserve plain text body wrapping
Encode plain text MIME parts as quoted-printable so long body lines survive transport without hard wrapping.\n\nThanks @shashankkr9.
2026-04-20 13:30:09 +01:00
Peter Steinberger
c92333d730
docs(changelog): thank PR 483 contributor 2026-04-20 13:29:53 +01:00