From a24c28c91c8c65bfd158ebafa7cc042d3d025c99 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 6 Nov 2025 01:02:43 -0600 Subject: feat: Add high-priority task for Google Calendar password prompts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added comprehensive TODO to Method 1 (priority A) to fix the irritating issue where gcal-sync triggers password prompts every 15 minutes, interrupting workflow and breaking concentration. Task includes: - Current setup documentation (GPG agent, plstore, auth-source config) - Problem analysis (plstore cache, oauth2-auto token refresh) - Six investigation paths to try - File references for debugging - V2MOM alignment (violates "Frictionless" value) This is a daily irritant that needs fixing - password prompts every 15 minutes during calendar sync defeat the purpose of having 400-day GPG cache configured. Related files: - modules/auth-config.el (plstore and GPG configuration) - modules/org-gcal-config.el (org-gcal and oauth2-auto setup) - ~/.gnupg/gpg-agent.conf (GPG agent cache settings) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- todo.org | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/todo.org b/todo.org index dfaadec7..a2a9aaf7 100644 --- a/todo.org +++ b/todo.org @@ -17,7 +17,7 @@ If the answer is "no" to all five → DON'T ADD IT. V2MOM is located at: [[file:docs/emacs-config-v2mom.org][emacs-config-v2mom.org]] Research/ideas that don't serve vision: [[file:docs/someday-maybe.org][someday-maybe.org]] -* Method 1: Make Using Emacs Frictionless [8/13] +* Method 1: Make Using Emacs Frictionless [8/14] ** DONE [#A] Remove network check from startup (saves 1+ seconds) CLOSED: [2025-10-31 Fri] @@ -194,6 +194,52 @@ Generate transcript (once transcription workflow exists). Daily workflow improvement. +** TODO [#A] Fix Google Calendar password prompts every 15 minutes + +IRRITANT: gcal-sync triggers password prompts approximately every 15 minutes, +interrupting workflow and breaking focus. This defeats the purpose of having +passphrase caching configured. + +**Current Setup:** +- GPG agent configured with 400-day cache (gpg-agent.conf): + - default-cache-ttl 34560000 + - max-cache-ttl 34560000 + - allow-loopback-pinentry enabled +- Plstore caching enabled (auth-config.el:54): + - plstore-cache-passphrase-for-symmetric-encryption t + - plstore-encrypt-to nil (symmetric encryption) +- Auth-source cache: 24 hours (auth-config.el:31) +- Auto-sync interval: 30 minutes (org-gcal-config.el:50) + +**Problem:** +Despite proper GPG agent caching, oauth2-auto.plist prompts for passphrase +every ~15 minutes during gcal-sync operations. This suggests: +1. plstore may not be using GPG agent cache properly for symmetric encryption +2. oauth2-auto token refresh might be bypassing cache +3. EPinentry mode may need explicit configuration (currently commented out) + +**Goal:** +Passphrase should be entered ONCE per Emacs session, then cached until Emacs +closes. No interruptions during normal work. + +**Investigation Paths:** +1. Check if oauth2-auto respects plstore passphrase caching +2. Investigate plstore symmetric encryption cache behavior with GPG agent +3. Test enabling epa-pinentry-mode 'loopback (auth-config.el:42) +4. Check oauth2-auto token refresh cycle vs password prompt timing +5. Consider oauth2-auto configuration options for token persistence +6. Review org-gcal or oauth2-auto issues for similar problems + +**Files:** +- modules/auth-config.el (plstore and GPG configuration) +- modules/org-gcal-config.el (org-gcal and oauth2-auto setup) +- ~/.gnupg/gpg-agent.conf (GPG agent cache settings) +- oauth2-auto.plist (encrypted OAuth tokens - prompts every access?) + +**Related:** +This violates the "Frictionless" value - interruptions every 15 minutes during +calendar sync breaks concentration and workflow momentum. + ** TODO [#B] Optimize org-agenda performance using built-in profiler THE BOTTLENECK. Currently 30+ seconds, target < 5 seconds. -- cgit v1.2.3