Commit Graph

4 Commits

Author SHA1 Message Date
Mortdecai e6af1a6208 fix(composite): recover from sixel encoder panics, clean up debug logging
The go-sixel library panics on certain image dimensions during Resize().
Added panic recovery in drawImage() that falls back to alt text display.
Cleaned up all debug logging from the investigation.
2026-04-07 21:48:37 -04:00
Mortdecai 046ff03f8b fix(composite): async image decode, skip dead pager, prevent UI freeze
- Decode images in background goroutine, not in Draw()
- Show [loading image...] placeholder until decode completes
- Skip pv.term.Draw() when composite is active (pager got no input)
- Thread-safe access to decoded image cache via sync.Mutex
- Invalidate callback triggers redraw when images finish decoding
2026-04-07 21:11:44 -04:00
Mortdecai 20161fedeb feat(msgviewer): re-enable composite renderer with scroll support and inline images
Composite mode now handles j/k/g/G/PgUp/PgDown/mouse wheel for scrolling.
Text uses the configured default style. Images render inline via Vaxis.
Emails without images still use the standard pager path.
2026-04-07 21:04:27 -04:00
Mortdecai 9c7a770daa feat(app): add composite content model for text+image block rendering 2026-04-07 20:08:36 -04:00