Commit Graph

169 Commits

Author SHA1 Message Date
Peter Steinberger
5cbee7e455 fix: satisfy lint in secrets store
Some checks failed
ci / test (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2026-01-03 05:04:11 +01:00
Peter Steinberger
7094ea1f2e docs: add drive comments changelog 2026-01-03 05:02:55 +01:00
Jonathan Taylor
61d9c4b4df Add drive comments subcommand
New commands under 'gog drive comments':
- list: List comments on a file (with --include-quoted flag)
- get: Get a comment by ID
- create: Create a comment (with --quoted flag for anchor text)
- update: Update a comment
- delete: Delete a comment
- reply: Reply to a comment

Note: The --quoted flag sets quotedFileContent but does not create a
proper anchor. Comments appear in the comments pane but aren't visually
anchored to specific text in the document. Proper anchoring requires
the Google Docs API to resolve text positions to kix.* anchor IDs.
2026-01-02 15:47:53 -05:00
Peter Steinberger
19d833fd3e feat: add token validation + keyring backend override 2026-01-02 14:03:06 +01:00
Peter Steinberger
dce692e4de chore: update copyright year to 2026 2026-01-01 14:18:47 +01:00
Peter Steinberger
208bcfebac docs(changelog): start 0.4.3 cycle 2025-12-31 20:31:50 +01:00
Peter Steinberger
0f6294a114 chore: fix formula parsing in verify script 2025-12-31 20:19:54 +01:00
Peter Steinberger
e941709dbc chore: fix mktemp usage 2025-12-31 20:17:21 +01:00
Peter Steinberger
70b9fb1d2a chore: fix release scripts 2025-12-31 20:16:32 +01:00
Peter Steinberger
6a17462eab chore: add release verification scripts 2025-12-31 20:15:56 +01:00
Peter Steinberger
ac8cfe23fe release: v0.4.2
Some checks failed
ci / test (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2025-12-31 20:04:34 +01:00
Peter Steinberger
3c1afc6caf chore: tighten lint rules and fix findings 2025-12-31 19:47:32 +01:00
Peter Steinberger
e616a5b733 chore: tighten lint rules 2025-12-31 17:51:45 +01:00
Peter Steinberger
ddef9fa17a chore(lint): tighten golangci rules 2025-12-31 17:38:29 +01:00
Peter Steinberger
625ccf85cd refactor(cli): add kong helpers 2025-12-31 17:24:42 +01:00
Peter Steinberger
4252ad53f4 refactor(cli): migrate to kong 2025-12-31 17:24:31 +01:00
Peter Steinberger
0a51e93c27 test: expand CLI coverage 2025-12-31 15:36:10 +01:00
Peter Steinberger
348f6d2a05 test: raise coverage and tighten lint 2025-12-31 14:31:49 +01:00
Peter Steinberger
8f8c2d9245 docs: update changelog for auth ui 2025-12-31 13:30:31 +01:00
Peter Steinberger
e0dfc7eecc docs(auth): clarify auth flow wait 2025-12-31 13:19:51 +01:00
salmonumbrella
35951f75d2 docs(auth): document login as alias for manage command
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
4e063e2244 test(auth): add test for context cancellation in waitPostSuccess
Extract inline select block into waitPostSuccess function and add
unit tests verifying context cancellation behavior for Ctrl+C support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
35ee438109 refactor(auth): standardize sync comment format
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
815ba0d371 fix(auth): inject countdown value via template to eliminate sync requirement
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
032c86bf16 refactor(auth): consolidate success templates into one
- Merge success_new.html content/layout into success.html
- Add animated gradient orbs from original success.html
- Use Go template conditionals to handle both cases:
  - With email/services (account manager flow)
  - Without email (simple OAuth flow)
- Delete redundant success_new.html
- Rename renderSuccessPageNew to renderSuccessPageWithDetails
- Update tests to cover both template modes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
ed1a299677 refactor(auth): deduplicate GitHub icon SVG via CSS mask
Replace inline SVG icons with a reusable `.icon-github` CSS class
that uses mask-image with a data URI. Each template now includes
a comment noting the other files to update if the icon changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
a263ba6ffa refactor(auth): extract magic number 30 as postSuccessDisplaySeconds constant
Add a named constant for the 30-second display delay after OAuth success.
This keeps the Go code and HTML templates in sync, with comments in the
HTML pointing to the authoritative constant definition in oauth_flow.go.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
c4edbd5615 fix(auth): add countdown timer to success_new.html
Add the same 30-second countdown JavaScript that exists in success.html
to success_new.html for consistency. The countdown shows "Closing in X
seconds..." and updates to "You can close this window." when complete.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
be6ff4f2f3 refactor(auth): consolidate login and manage commands using Cobra alias
Replace duplicate newAuthLoginCmd() with Cobra alias on newAuthManageCmd().
Both commands had identical RunE logic calling googleauth.StartManageServer.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
salmonumbrella
d4a1ab847b fix(auth): make post-success sleep cancellable via Ctrl+C
Replace blocking time.Sleep with select statement using time.After
and ctx.Done() so the 30-second post-success display period can be
interrupted by context cancellation (Ctrl+C).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:19:01 +01:00
Peter Steinberger
6a41decf00 docs(readme): add thread modify example 2025-12-31 13:14:22 +01:00
Peter Steinberger
d44fdac2ef docs: update changelog for thread modify 2025-12-31 13:10:16 +01:00
Peter Steinberger
e70b576dc9 fix: refine gmail thread modify command 2025-12-31 13:10:16 +01:00
Alex Hillman
804db7e5b6 Add thread modify command for batch label operations
This adds a new `gmail thread modify` subcommand that uses the Gmail API's
Threads.Modify endpoint to apply label changes to all messages in a thread
at once.

Usage:
  gog gmail thread modify <threadId> --add "Label1,Label2" --remove "Label3"

Features:
- Resolves label names to IDs automatically
- Supports both adding and removing labels in a single operation
- JSON output mode for programmatic use

BREAKING CHANGE: The `gmail thread` command is now a parent command with
subcommands. Use `gmail thread get <id>` instead of `gmail thread <id>`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 13:09:26 +01:00
Peter Steinberger
20757b1aba release: v0.4.1
Some checks failed
ci / test (push) Has been cancelled
ci / darwin-cgo-build (push) Has been cancelled
2025-12-28 18:53:37 +01:00
Peter Steinberger
191feb70b8 docs: make release checklist always full 2025-12-28 18:50:36 +01:00
Peter Steinberger
7d461b36c8 build: enable cgo for darwin releases 2025-12-28 18:43:36 +01:00
Peter Steinberger
6e63c6efdb docs(readme): add emoji tagline 2025-12-26 22:50:45 +01:00
Peter Steinberger
5c95f9560e chore(release): v0.4.0
Some checks failed
ci / test (push) Has been cancelled
2025-12-26 22:42:17 +01:00
Peter Steinberger
2d3896eab8 docs(site): link footer author 2025-12-26 22:25:11 +01:00
Peter Steinberger
05069448ce feat(docs): create/copy/info/text 2025-12-26 22:24:22 +01:00
Peter Steinberger
f158aa7ebf fix(gmail): thread attachment downloads 2025-12-26 21:34:08 +01:00
Peter Steinberger
fa246dac39 docs(site): add gogcli.sh landing page 2025-12-26 21:18:04 +01:00
Peter Steinberger
9c255b4a9a
Create CNAME 2025-12-26 21:10:45 +01:00
Peter Steinberger
2b86e5c7fe style(googleauth): improve success footer contrast 2025-12-26 20:56:43 +01:00
Peter Steinberger
f6910f4395 fix(drive): permissions list without empty page token 2025-12-26 20:53:06 +01:00
Peter Steinberger
f44758d2fc docs(refactor): clean up notes 2025-12-26 20:39:54 +01:00
Peter Steinberger
c888a85b1c test: add regression coverage 2025-12-26 19:20:53 +01:00
Peter Steinberger
eedfba8a5f fix(sheets): avoid --json flag collision 2025-12-26 19:20:44 +01:00
Peter Steinberger
720dec78ee fix(googleauth): restore accounts template 2025-12-26 19:20:40 +01:00