diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-06 09:14:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-06 09:14:30 -0500 |
| commit | dca4e105e20d9218277ad61bb9c7f3e199ef699f (patch) | |
| tree | a195a4a3bd43e5efb5f0653d5d9a303a5809a43c /scripts/theme-studio/palette-actions.js | |
| parent | 648c150f6e4e89c9c04158795da1ab13370d7f73 (diff) | |
| download | dotemacs-dca4e105e20d9218277ad61bb9c7f3e199ef699f.tar.gz dotemacs-dca4e105e20d9218277ad61bb9c7f3e199ef699f.zip | |
fix(dirvish): stop webm preview thumbnails flashing blank
dirvish keys its media thumbnail cache on the exact preview-window pixel width (thumbnails/<width>/<md5>.jpg). Fast image thumbnails finish before the window settles, so their width is stable. Slow webm generation loses that race: the jpg is written at one width, then redisplay recomputes the width, and jitter across a floor boundary looks it up in a different bucket, so it misses, regenerates, and flashes blank.
I quantize the computed size to a 100px bucket (cj/dirvish-thumb-width-bucket) so jitter maps to one stable cache key. It's a filter-return advice on dirvish-media--img-size, added once dirvish-widgets loads. It's a local workaround for the upstream cache design. If the settle swing turns out larger than one bucket, widen the bucket or fall back to a width-independent hash.
The quantize math is unit-tested. The live preview render needs a manual check.
Diffstat (limited to 'scripts/theme-studio/palette-actions.js')
0 files changed, 0 insertions, 0 deletions
