Commit Graph

949 Commits

Author SHA1 Message Date
Peter Steinberger
8b8fd09fa2
docs: add generated command pages site 2026-05-04 07:25:56 +01:00
Peter Steinberger
33284f03bb
feat(gmail): add sanitized content reads
Co-authored-by: urasmutlu <urasmutlu@gmail.com>
2026-05-04 07:04:45 +01:00
Peter Steinberger
d37caabdd7
feat(install): add Docker image publishing 2026-05-04 06:21:48 +01:00
Peter Steinberger
ef8e634e04
docs(changelog): credit safety profile hardening 2026-05-04 05:55:33 +01:00
Drew Burchfield
46900109e0
fix(safety): compile baked policy to code to resist binary tampering
Compile baked safety-profile policies into generated hash switches so the raw allow/deny rule strings are no longer embedded as a patchable YAML blob.

Verification before merge:
- `go test ./cmd/bake-safety-profile ./internal/safetyprofile ./internal/cmd`
- `make lint`
- `./build-safe.sh safety-profiles/agent-safe.yaml -o bin/gog-agent-safe-review`
- `./build-safe.sh safety-profiles/readonly.yaml -o bin/gog-readonly-review`
- runtime block checks for agent-safe and readonly baked binaries

Co-authored-by: drewburchfield <drewburchfield@gmail.com>
2026-05-04 05:55:05 +01:00
Peter Steinberger
6fd874075e
feat(calendar): add event ownership transfer 2026-05-04 05:50:28 +01:00
Peter Steinberger
c453cbd5a0
feat(calendar): add meet updates 2026-05-04 05:28:02 +01:00
Peter Steinberger
2e2974732f
docs(auth): clarify Google API setup boundaries 2026-05-04 05:22:52 +01:00
Peter Steinberger
6867fe850c
feat(docs): add tab-aware editing fixes
Co-authored-by: Don Bowman <5131923+donbowman@users.noreply.github.com>
Co-authored-by: JoseLuis Vilar <13889217+chopenhauer@users.noreply.github.com>
2026-05-04 05:22:49 +01:00
Peter Steinberger
6af52a406b
fix(version): infer module version for source installs
Co-authored-by: Josh Avant <830519+joshavant@users.noreply.github.com>
2026-05-04 05:22:43 +01:00
Peter Steinberger
7ab00e691b
fix(calendar): accept events list selector forms 2026-05-04 05:22:39 +01:00
Peter Steinberger
0a280923b2
chore: update tracking dependencies 2026-05-04 02:01:40 +01:00
Peter Steinberger
f26af3adba
feat(safety): add baked safety profiles (#536)
* feat(safety): add baked safety profiles

Co-authored-by: Drew Burchfield <1084679+drewburchfield@users.noreply.github.com>

* fix(safety): narrow readonly profile parent allows

* fix(safety): verify basename safe-build outputs

* fix(backup): promote Gmail checkpoints into final manifest

* docs(safety): explain baked safety profiles

* feat(safety): filter profiled help and schema

* fix(safety): avoid help filter shadow warnings

* fix(backup): make plaintext export resilient

* docs(changelog): mention safety help filtering

* fix(backup): satisfy export lint checks

---------

Co-authored-by: Drew Burchfield <1084679+drewburchfield@users.noreply.github.com>
2026-04-29 03:35:18 +01:00
Peter Steinberger
c21a3b5914
docs: start 0.15.0 changelog 2026-04-28 11:18:22 +01:00
Peter Steinberger
469f4b4382
release: v0.14.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-28 10:38:04 +01:00
Peter Steinberger
20004a3fdb
docs: reorder unreleased changelog 2026-04-28 10:36:49 +01:00
Peter Steinberger
d295443985
chore(deps): update dependencies 2026-04-28 10:35:05 +01:00
Peter Steinberger
e98f44d665
fix(tracking): rotate email tracking keys 2026-04-28 10:22:55 +01:00
Peter Steinberger
7b6b161236
fix(tracking): make worker deploy reusable 2026-04-28 09:51:03 +01:00
Peter Steinberger
9ce77eff13
fix(tracking): expire old open records 2026-04-28 09:32:26 +01:00
Peter Steinberger
dfc5b75f86
fix(tracking): rate-limit pixel recording 2026-04-28 09:19:13 +01:00
Peter Steinberger
0a5d06e98b
fix(auth): tolerate unreadable file keyring tokens 2026-04-28 09:15:19 +01:00
Peter Steinberger
77a16d10ef
feat(gmail): append send-as signatures 2026-04-28 08:40:43 +01:00
Peter Steinberger
ec3ac8daa5
docs(auth): clarify testing refresh token expiry 2026-04-28 08:22:58 +01:00
Peter Steinberger
2892765ea3
ci: pin workflow actions 2026-04-28 08:14:59 +01:00
Peter Steinberger
4d585b1680
fix(auth): guard manual auth token storage 2026-04-28 08:12:43 +01:00
Peter Steinberger
1eaad2556c
feat(backup): add markdown Gmail export 2026-04-28 07:29:27 +01:00
Peter Steinberger
d51e94a8ca
docs(readme): document docs tab export 2026-04-28 06:39:58 +01:00
Peter Steinberger
539de113c1
fix(gmail): reject label slash collisions 2026-04-28 06:38:02 +01:00
Peter Steinberger
1763b3905f
fix(docs): harden tab export landing
Co-authored-by: Ben Lewis <johnbenjaminlewis@gmail.com>
2026-04-28 06:30:38 +01:00
Ben Lewis
26e01cfa97
feat(cli): add --tab flag for per-tab Google Doc export
Add experimental --tab flag to `gog docs export` and `gog drive download`
that exports a single tab from a Google Doc by title or ID. Uses the
undocumented per-tab Docs export endpoint with a custom redirect policy
that rejects non-Google redirects to detect auth failures early.

(cherry picked from commit 5a741be7ce0df13f75a10bc7a70df9fbab9475da)
2026-04-28 06:09:41 +01:00
Peter Steinberger
9362a7664e
docs(readme): clarify gmail trash workflow 2026-04-28 05:40:08 +01:00
Peter Steinberger
4bd3172aa1
test(gmail): cover nested label names 2026-04-28 05:32:25 +01:00
Peter Steinberger
8f6791f9f9
refactor(googleapi): expose authenticated HTTP client
Co-authored-by: Ben Lewis <johnbenjaminlewis@gmail.com>
2026-04-28 05:08:14 +01:00
Peter Steinberger
7ee069d88d
feat(backup): push gmail checkpoints asynchronously 2026-04-28 04:52:13 +01:00
Peter Steinberger
8addfcee8b
fix(auth): backfill account subjects on refresh 2026-04-28 04:19:39 +01:00
Peter Steinberger
532601a0f1
fix(auth): preserve accounts across Google email renames 2026-04-28 04:01:06 +01:00
Peter Steinberger
d6111be738
fix(backup): split gmail checkpoints by plaintext size 2026-04-28 04:01:00 +01:00
Peter Steinberger
7b9197ebd1
feat(auth): add auth doctor diagnostics 2026-04-28 02:49:38 +01:00
Peter Steinberger
b58964cc89
fix(backup): shrink gmail checkpoint shards 2026-04-28 02:29:31 +01:00
Peter Steinberger
8e4f5acebb
fix(drive): support stdout downloads 2026-04-28 02:26:43 +01:00
Peter Steinberger
e30d870b3f
feat(contacts): export vCards
Co-authored-by: Dinakar Sarbada <dinakars777@users.noreply.github.com>
2026-04-28 02:01:07 +01:00
Peter Steinberger
81cedf4e9e
fix(backup): ignore interrupted shard temps 2026-04-28 01:46:50 +01:00
Peter Steinberger
9d7ca4ec5f
feat(backup): checkpoint long gmail fetches 2026-04-28 01:41:58 +01:00
Peter Steinberger
e6b6046bb1
fix(slides): harden text edit commands 2026-04-28 01:18:26 +01:00
Chris Sanchez
d047a0325f
feat(slides): add insert-text and replace-text commands
Thin wrappers around presentations.batchUpdate for surgical text edits on
an existing deck.

- insert-text inserts text into a page element by objectId, with
  --insertion-index, --replace (emits DeleteText+InsertText), and
  stdin support via '-'.
- replace-text runs ReplaceAllText across the deck, with --match-case
  and repeatable --page for slide-scoped replacements.

Both honor the global --dry-run (prints the batchUpdate request body as
JSON without calling the API) and --json (emits the full
BatchUpdatePresentationResponse). Plain output gives a one-line
confirmation with revisionId + replies/replaced count. Style mirrors
existing update-notes and replace-slide commands.
2026-04-28 01:10:16 +01:00
Peter Steinberger
0d93cb2a05
refactor(slides): share speaker notes helpers 2026-04-28 01:09:34 +01:00
Peter Steinberger
65db353926
fix(docs): format markdown append writes
Co-authored-by: Eric Liu <eric@ericxliu.me>
2026-04-27 23:36:18 +01:00
Peter Steinberger
6e0af2c463
test(gmail): cover html body-format search 2026-04-27 22:42:45 +01:00
Alex Hillman
d458ed435c
Delete 4a477a05f.json
Unintended commit

(cherry picked from commit 4e92450b6f12427f138c4c6c5e54a5b26ce1438a)
2026-04-27 22:38:57 +01:00