Files previews: the cache is one database file, <data dir>/thumbs.db

bbolt instead of a tree of hash-named JPEGs: pure Go, so the binary stays static; one
file per machine; an entry carries where the preview came from (engine, codec, size,
when) beside the picture, and a count rides along so the tab can say what it holds
without walking anything. A miss never creates the file, so a machine nobody browses
with previews on never has one; a cache that cannot be opened is logged and previews
are still made and served, just not kept.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Mitchell-Johnson
2026-10-11 16:04:12 -07:00
co-authored by Claude Fable 5.1
parent 51c718e8e3
commit e198471f8c
7 changed files with 259 additions and 68 deletions
+1
View File
@@ -5,6 +5,7 @@ go 1.26.0
require (
github.com/coder/websocket v1.8.15
github.com/creack/pty v1.1.24
go.etcd.io/bbolt v1.5.0
golang.org/x/crypto v0.57.0
golang.org/x/term v0.46.0
)