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
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