Repository navigation
Conversation
This was referenced Nov 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Leaving a folder or scrolling past its tiles cancels their image requests, but helpers already running keep their workers until they finish. Pass each response's cancellation flag through the existing thumbnail pipeline, reusing #67's process cleanup.
Stacked on #67, which builds on #66. This targets
thumbnail-rowsso the diff contains only the cancellation change. Once #67 lands, I will rebase ontomain, repeat the checks and retarget this PR before marking it ready.Thanks to @thisisgm and @dhh for the thumbnailer work in #67. No dependency is added.
Evidence
thumbnailsStopWorkWhenItsImagesGoAwayneeds 2.5 seconds on the unchanged Thumbnails: pictures in rows, sturdier thumbnailers #67 head, failing its 1-second deadline. After: the same QML regression passes.Backend/FolderGrid, F3D and a 46.8 MiB STL, six pairs per scenario: navigating from 24 STL entries to a PNG folder gives 636 → 89 ms median toImage.Ready; jumping to the last of 600 entries gives 1351 → 782 ms. The entries are private links to the same model. These run offscreen with an empty application cache and warm OS page cache; physical display latency is not measured.git diff --checkpass. The complete local suite with the Qt image plugins from CI's dependency list reports 220 passed, 0 failed. With this desktop's additional KDE RAW plugin, 219 pass and 1 fails:previewerPicksAViewerForEachTypeexpects CR2 to use a thumbnail although that plugin can decode it. The unchanged parent has the same failure (214 pass, 1 fail). This is local validation, not a claim that GitHub CI has run.Merge Danger
Door: two-way. Reverting restores the old scheduling behavior; no data migration.
Blast Radius: thumbnails. Cancellation applies to external helpers. In-process decoding still finishes its current call before observing cancellation.