Context
The disk image cache under $SKEETS_DATA_DIR/cache/ has no size limit and no eviction during app operation. Every image URL writes a raw RGBA file (typically 20-200KB each). After browsing a few hundred posts, this can consume hundreds of MB on the Kobo's limited eMMC storage (8-32GB shared with books).
The eviction function image_evict_disk_cache(max_bytes) already exists in src/util/image.cpp (implements oldest-first eviction by mtime). It is simply never called.
Sub-tasks
References
- Eviction implementation:
src/util/image.cpp image_evict_disk_cache()
- Cache writes:
src/util/image_cache.cpp
Context
The disk image cache under
$SKEETS_DATA_DIR/cache/has no size limit and no eviction during app operation. Every image URL writes a raw RGBA file (typically 20-200KB each). After browsing a few hundred posts, this can consume hundreds of MB on the Kobo's limited eMMC storage (8-32GB shared with books).The eviction function
image_evict_disk_cache(max_bytes)already exists insrc/util/image.cpp(implements oldest-first eviction by mtime). It is simply never called.Sub-tasks
image_evict_disk_cache(50 * 1024 * 1024)at app startup insrc/kobo/main.cppsKeets.logReferences
src/util/image.cppimage_evict_disk_cache()src/util/image_cache.cpp