diff --git a/SESSION.md b/SESSION.md new file mode 100644 index 0000000..cd067c3 --- /dev/null +++ b/SESSION.md @@ -0,0 +1,26 @@ +# aerc Inline Images — Session Context + +## Git State +- Branch: `feat/inline-images` (12 commits on top of pristine 0.20.0) +- Remote: `git.sethpc.xyz/Seth/aerc-inline-images` +- All tests pass, builds clean + +## Config State (reverted to stock) +- `~/.config/aerc/aerc.conf`: `text/html=html-unsafe` (system default) +- To re-enable images: change to `text/html=html-kitty-unsafe` +- Custom filter at `~/.local/libexec/aerc/filters/html-kitty` (backup at `.backup/`) +- Logging disabled (`#log-file=`, `#log-level=info`) + +## Key Discovery: Filter Output Interception +The spec's architecture was wrong. OSC markers are in filter stdout, not pv.source. +Fix: buffer filter.Stdout in attemptCopy(), run ExtractImages on buffer. + +## Key Discovery: Vaxis Sixel Crash +`vaxis.(*Sixel).Resize()` spawns a goroutine that panics in go-sixel on certain dimensions. +Cannot be caught with defer/recover (different goroutine). Only affects non-Kitty terminals. +Kitty protocol path is stable. + +## What Needs Work +1. HTML rendering quality — composite view is bare text, no pager features +2. Study existing TUI image viewers for better rendering patterns +3. Token auto-refresh for IMAP OAuth