GNOME Bugzilla – Bug 763329
Thumbnails don't reflect edited state
Last modified: 2017-06-30 18:45:39 UTC
If you edit a photo, the thumbnail isn't updated - it shows the original image rather than the edited version.
This is something that I am targeting for 3.20.1, not 3.20.0. We will have to replace the current thumbnail code based on GIO and gnome-desktop with our own custom thumbnail creation and query code. The issue is that the platform's builtin thumbnail API is not meant to handle source-file-plus-some-modifications, which is what we have. We could have used gnome-desktop to create the thumbnails and then applied the modifications on top of it inside the application, but that won't work very well if you consider crops. Darktable, which has a similar data model, does the same [1]. I haven't yet investigated what shotwell does. Either way, I am not comfortable sneaking such a big change during the freezes. [1] https://www.darktable.org/usermanual/ch02s02s03.html.php
Shotwell, also, has its own thumbnail cache in ~/.cache/shotwell/thumbs/ There is some background literature for those who are interested: https://wiki.gnome.org/Apps/Shotwell/Architecture/Caching
(In reply to Debarshi Ray from comment #1) > We will have to replace the current thumbnail code based on GIO and > gnome-desktop with our own custom thumbnail creation and query code. The > issue is that the platform's builtin thumbnail API is not meant to handle > source-file-plus-some-modifications, which is what we have. We could have > used gnome-desktop to create the thumbnails and then applied the > modifications on top of it inside the application, but that won't work very > well if you consider crops. We now have a thumbnailer (bug 690255) that can handle our edits. What's left to do is to tell it to re-create the thumbnail when edits are made to an item.
Patches in gnome-photos:wip/rishi/thumbnailer are now capable of updating the thumbnails. I'll merge them after some more testing.
Created attachment 346541 [details] [review] thumbnailer-dbus: Add a Cancel method to support cancellation
Created attachment 346542 [details] [review] thumbnailer: Use a GCancellable when handling GenerateThumbnail
Created attachment 346543 [details] [review] thumbnailer: Track the invocations and cancellables of ongoing jobs
Created attachment 346544 [details] [review] thumbnailer: Implement cancellation
Created attachment 346545 [details] [review] thumbnail-factory: Implement cancellation
Created attachment 346546 [details] [review] base-item: Use a GCancellable when creating a thumbnail
Created attachment 346547 [details] [review] base-item: Delete the thumbnail if create_thumbnail was cancelled
Created attachment 346548 [details] [review] base-item: Refresh the thumbnail whenever the pipeline is saved
Created attachment 354747 [details] [review] thumbnailer: Fix typo and complete the right D-Bus call