SUMMARY Dolphin is not saving thumbnails to the cache and instead regenerates them every time a folder is opened. It will however still use cached thumbnails if they're available(ie, generated with gwenview) STEPS TO REPRODUCE 1. Clear ~/.cache/thumbnails 2. Browse a folder with pictures, let thumbnails generate 3. Check ~/.cache/thumbnails, it's still empty OBSERVED RESULT thumbnail cache remains empty EXPECTED RESULT thumnails should be saved to the cache SOFTWARE/OS VERSIONS KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 ADDITIONAL INFORMATION
This issue only seems to appear when ~/.cache is a btrfs subvolume.
This is happening to me, too. I think it's been happening for a long time for me, since I've noticed Dolphin regenerating thumbnails whenever I'd enter directories for a good while, but didn't look into it until now. Operating System: Arch Linux KDE Plasma Version: 6.2.4 KDE Frameworks Version: 6.8.0 Qt Version: 6.8.0 Kernel Version: 6.12.1-arch1-1 (64-bit) Graphics Platform: Wayland
*** Bug 489762 has been marked as a duplicate of this bug. ***
*** Bug 513325 has been marked as a duplicate of this bug. ***
This is annoying enough I hacked on a work-around patch, essentially needing to ignore `.isLocalFile()` in KFileItemModelRolesUpdater::startPreviewJob() and possibly KFileItemModelRolesUpdater::loadNextHoverSequencePreview(). I'd appreciate either a setting to always write thumbnails and ignore any "security benefits" (I can manage on my own, especially if using containers, bwrap, bind mounts, etc.) or better detection of acceptable "local" partitions including allowing tmpfs home folder, allowing thumbnailing anything in bind mounts, /mnt, or any mount points derived from permanent drives with luks containers, ZFS, LVM, etc. ``` diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 679370455..ffb9ac1e1 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -984,7 +984,7 @@ void KFileItemModelRolesUpdater::startPreviewJob() KIO::PreviewJob *job = new KIO::PreviewJob(items, cacheSize(), &m_enabledPlugins); job->setDevicePixelRatio(m_devicePixelRatio); - job->setIgnoreMaximumSize(referenceItem.isLocalFile() && !referenceItem.isSlow() && m_localFileSizePreviewLimit <= 0); + job->setIgnoreMaximumSize(!referenceItem.isSlow() && m_localFileSizePreviewLimit <= 0); if (job->uiDelegate()) { KJobWidgets::setWindow(job, qApp->activeWindow()); } @@ -1093,7 +1093,7 @@ void KFileItemModelRolesUpdater::loadNextHoverSequencePreview() KIO::PreviewJob *job = new KIO::PreviewJob({m_hoverSequenceItem}, cacheSize(), &m_enabledPlugins); job->setSequenceIndex(loadSeqIdx); - job->setIgnoreMaximumSize(m_hoverSequenceItem.isLocalFile() && !m_hoverSequenceItem.isSlow() && m_localFileSizePreviewLimit <= 0); + job->setIgnoreMaximumSize(!m_hoverSequenceItem.isSlow() && m_localFileSizePreviewLimit <= 0); if (job->uiDelegate()) { KJobWidgets::setWindow(job, qApp->activeWindow()); } ```