diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-01 15:01:37 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-01 15:01:37 -0500 |
| commit | 76f983eff93e6d37d0710d2854361a8314f63d79 (patch) | |
| tree | 3da153ac912e8974008c4103d7756ada9cc75146 /.claude | |
| parent | 143abcb3d0afebc81be6f79f07fc199351c4931b (diff) | |
| download | dotemacs-76f983eff93e6d37d0710d2854361a8314f63d79.tar.gz dotemacs-76f983eff93e6d37d0710d2854361a8314f63d79.zip | |
docs(rules): record auth-source credential cache in live-reload caveats
Updating authinfo.gpg in a running daemon does nothing until auth-source-forget-all-cached clears its two-hour result cache. I added the symptom, cause, and fix to the running-Emacs caveats so the next session reaches for the cache clear instead of re-diagnosing a "key not set" error.
Diffstat (limited to '.claude')
| -rw-r--r-- | .claude/rules/emacs.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/.claude/rules/emacs.md b/.claude/rules/emacs.md index 2e996371..702b40e7 100644 --- a/.claude/rules/emacs.md +++ b/.claude/rules/emacs.md @@ -18,6 +18,7 @@ This re-evaluates the file and redefines its `defun`s live. For straight functio - **`use-package` `:config` / `:init` re-run on a full file `load`.** That re-adds hooks, re-binds keys, re-runs setup — functionally fine, but it stacks state and isn't pristine. For an edit inside a `:config` block, prefer eval-ing just the changed form, or accept the restacking, or restart for a clean state. - **Faces and themes need re-applying.** Editing a theme/face file does nothing until the theme is re-applied: `(load-theme 'THEME t)`. - **Baked or rendered state must be regenerated.** Values computed at load time (e.g. a list built from `nerd-icons-*` calls) and already-drawn buffers (e.g. `*dashboard*`) do not update from a var reload alone — regenerate them (e.g. `dashboard-refresh-buffer`). This is the stale-buffer trap: the variable looks correct but the visible buffer is old. It once made a screenshot look right when the live buffer was still wrong. +- **`auth-source` caches credentials for two hours.** Editing `authinfo.gpg` (or syncing in a fresh copy) does not take effect in the running daemon until `(auth-source-forget-all-cached)`. The result cache holds both positive and negative lookups for `auth-source-cache-expiry` (default 7200s), so a key you just added still reads as "not set" until the cache clears or Emacs restarts. Symptom: a freshly-added credential keeps erroring as missing even though the entry is in the file. Fix: `emacsclient -e '(auth-source-forget-all-cached)'`, then re-trigger the lookup. (2026-06-01, diagnosing a Linear/pearl "API key not set" after the key landed in authinfo via a dotfiles sync.) ## The reload-and-verify loop (default for visible Emacs changes) |
