aurelienpierreeng / ansel

A darktable fork minus the bloat plus some design vision.
https://ansel.photos
GNU General Public License v3.0
679 stars 21 forks source link

Bug: rating a group of photos in darkroom falsely includes the current photo #350

Open nicorikken opened 3 months ago

nicorikken commented 3 months ago

Code of Conduct

Search previous report

Computer's operating system

Linux

What GPU do you have ?

Intel

Ansel version

fb5a6e4

Type of binary

Pre-built packages provided by the Ansel project (.AppImage, .EXE)

What happened?

When in darkroom editing a photo (with no photo selected from the filmstrip): ansel-0 And I select some images from the filmstrip (3 to the left), which is correctly represented in counter at the top: ansel-1 When I then change the rating using keys (in this case 3 stars), the photo in focus is adjusted as well. ansel-3 This also happens when using the menu: ansel-4

I tested that this scenario also works when working on a single other image in the filmstrip.

This hinders me in my workflow because I often reduce the rating of similar images from a group when I'm satisfied with the edit I did of one of the photos of the group. This is then the keeper and the rest can be discarded. Now the working image gets rated down as well.

Does your problem occur with OpenCL enabled ?

Not tested

Does your problem occur with OpenCL disabled ?

Not tested

Previous Ansel version that use to work

No response

Output of ansel -d all

Output whilst doing these actions ``` 39,090560 [sql] /home/runner/work/ansel/ansel/src/src/libs/duplicate.c:383, function _lib_duplicate_init_callback(): prepare "SELECT i.version, i.id, m.value FROM images AS i LEFT JOIN meta_data AS m ON m.id = i.id AND m.key = ?3 WHERE film_id = ?1 AND filename = ?2 ORDER BY i.version" 39,090722 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,091345 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,091391 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:871, function dt_history_get_items_as_string(): prepare "SELECT operation, enabled, multi_name FROM main.history WHERE imgid=?1 ORDER BY num DESC" 39,091538 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:871, function dt_history_get_items_as_string(): prepare "SELECT operation, enabled, multi_name FROM main.history WHERE imgid=?1 ORDER BY num DESC" 39,091664 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,091704 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:871, function dt_history_get_items_as_string(): prepare "SELECT operation, enabled, multi_name FROM main.history WHERE imgid=?1 ORDER BY num DESC" 39,091827 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,091865 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:871, function dt_history_get_items_as_string(): prepare "SELECT operation, enabled, multi_name FROM main.history WHERE imgid=?1 ORDER BY num DESC" 39,092645 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1" 39,092743 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:399, function _image_local_copy_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id AND i.id = ?1" 39,092821 dt_image_full_path pathname (/mnt/-redacted-/20240623-1547-Nico Rikken-RP-6813.CR3) called from _lib_imageinfo_update_message, cache=0 39,093140 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,093243 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1550" 39,093303 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:871, function dt_history_get_items_as_string(): prepare "SELECT operation, enabled, multi_name FROM main.history WHERE imgid=?1 ORDER BY num DESC" 39,093478 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1547" 39,093570 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1547" 39,093654 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1548" 39,093733 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1548" 39,093807 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1549" 39,093884 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1549" 39,108777 [histogram] took 0,003 secs (0,003 CPU) scope draw 40,383067 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1547" 40,383292 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:285, function dt_image_film_roll(): prepare "SELECT folder FROM main.film_rolls WHERE id = ?1" 40,383882 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1" 40,384030 dt_image_full_path pathname (/mnt/-redacted-/20240623-1547-Nico Rikken-RP-6813.CR3) called from _metadata_view_update_values, cache=0 40,385681 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,385908 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,386151 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,386345 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,386530 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,386696 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,386840 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,387005 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1550) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,387313 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1550) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,536769 [histogram] took 0,004 secs (0,004 CPU) scope draw 40,556826 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1547" 40,557033 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:285, function dt_image_film_roll(): prepare "SELECT folder FROM main.film_rolls WHERE id = ?1" 40,557992 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1" 40,558123 dt_image_full_path pathname (/mnt/-redacted-/20240623-1546-Nico Rikken-RP-6810.CR3) called from _metadata_view_update_values, cache=0 40,559108 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559203 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559265 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559326 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559384 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559442 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559497 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,559567 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1547) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,559727 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1547) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,559996 [sql] /home/runner/work/ansel/ansel/src/src/common/history.c:1614, function dt_history_hash_get_status(): prepare "SELECT CASE WHEN basic_hash == current_hash THEN 1 WHEN auto_hash == current_hash THEN 2 WHEN (basic_hash IS NULL OR current_hash != basic_hash) AND (auto_hash IS NULL OR current_hash != auto_hash) THEN 4 ELSE 1 END AS status FROM main.history_hash WHERE imgid = 1547" 40,560083 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:285, function dt_image_film_roll(): prepare "SELECT folder FROM main.film_rolls WHERE id = ?1" 40,560414 [sql] /home/runner/work/ansel/ansel/src/src/common/image.c:367, function dt_image_full_path(): prepare "SELECT folder || '/' || filename FROM main.images i, main.film_rolls f WHERE i.film_id = f.id and i.id = ?1" 40,560519 dt_image_full_path pathname (/mnt/-redacted-/20240623-1547-Nico Rikken-RP-6813.CR3) called from _metadata_view_update_values, cache=0 40,561452 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561569 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561652 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561734 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561814 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561894 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,561950 [sql] /home/runner/work/ansel/ansel/src/src/common/metadata.c:487, function dt_metadata_get(): prepare "SELECT value FROM main.meta_data WHERE id = ?1 AND key = ?2 ORDER BY value" 40,562018 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1550) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,562165 [sql] /home/runner/work/ansel/ansel/src/src/common/tags.c:635, function dt_tag_get_attached(): prepare "SELECT DISTINCT I.tagid, T.name, T.flags, T.synonyms, COUNT(DISTINCT I.imgid) AS inb FROM main.tagged_images AS I JOIN data.tags AS T ON T.id = I.tagid WHERE I.imgid IN (1550) AND T.id NOT IN memory.darktable_tags GROUP BY I.tagid ORDER by T.name" 40,662781 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:525, function dt_film_set_folder_status(): prepare "DELETE FROM memory.film_folder" 40,662878 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:531, function dt_film_set_folder_status(): prepare "SELECT id, folder FROM main.film_rolls" 40,662935 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:536, function dt_film_set_folder_status(): prepare "INSERT INTO memory.film_folder (id, status) VALUES (?1, ?2)" 40,663304 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1418, function tree_view(): prepare "SELECT folder, film_rolls_id, COUNT(*) AS count, status FROM main.images AS mi JOIN (SELECT fr.id AS film_rolls_id, folder, status FROM main.film_rolls AS fr JOIN memory.film_folder AS ff ON fr.id = ff.id) ON film_id = film_rolls_id WHERE (1=1) GROUP BY folder, film_rolls_id" 40,664403 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,664504 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,664574 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,664913 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:525, function dt_film_set_folder_status(): prepare "DELETE FROM memory.film_folder" 40,664964 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:531, function dt_film_set_folder_status(): prepare "SELECT id, folder FROM main.film_rolls" 40,664997 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:536, function dt_film_set_folder_status(): prepare "INSERT INTO memory.film_folder (id, status) VALUES (?1, ?2)" 40,665321 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1418, function tree_view(): prepare "SELECT folder, film_rolls_id, COUNT(*) AS count, status FROM main.images AS mi JOIN (SELECT fr.id AS film_rolls_id, folder, status FROM main.film_rolls AS fr JOIN memory.film_folder AS ff ON fr.id = ff.id) ON film_id = film_rolls_id WHERE (1=1) GROUP BY folder, film_rolls_id" 40,670162 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,670333 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,670481 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,671129 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:525, function dt_film_set_folder_status(): prepare "DELETE FROM memory.film_folder" 40,671262 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:531, function dt_film_set_folder_status(): prepare "SELECT id, folder FROM main.film_rolls" 40,671378 [sql] /home/runner/work/ansel/ansel/src/src/common/film.c:536, function dt_film_set_folder_status(): prepare "INSERT INTO memory.film_folder (id, status) VALUES (?1, ?2)" 40,671969 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1418, function tree_view(): prepare "SELECT folder, film_rolls_id, COUNT(*) AS count, status FROM main.images AS mi JOIN (SELECT fr.id AS film_rolls_id, folder, status FROM main.film_rolls AS fr JOIN memory.film_folder AS ff ON fr.id = ff.id) ON film_id = film_rolls_id WHERE (1=1) GROUP BY folder, film_rolls_id" 40,673098 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,673227 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,673292 [sql] /home/runner/work/ansel/ansel/src/src/libs/collect.c:1115, function _create_filtered_model(): prepare "SELECT id FROM main.film_rolls WHERE folder LIKE ?1" 40,813129 [sql] /home/runner/work/ansel/ansel/src/src/common/selection.c:537, function dt_selection_get_list(): prepare "SELECT m.imgid FROM memory.collected_images as m WHERE m.imgid IN (SELECT s.imgid FROM main.selected_images as s)" 40,813359 [images to act on] new cache (visible) : 1547 1548 1549 1550 ```

Backtrace

No response

Jiyone commented 3 months ago

Same thing when one deletes/remove a picture.

aurelienpierre commented 3 months ago

I think allowing to perform DAM actions in darkroom is a mistake in itself. One view, one task.

Jiyone commented 3 months ago

It's very useful to do things in darkroom, you know ? ... it's takes too much time to go back to lighttable to delete an image while the thumbnail is visible at the bottom !

pedrorrodriguez commented 3 months ago

I agree with AP. Culling should happen in the lighttable

nicorikken commented 3 months ago

Sure this functionality is not strictly necessary in this view, but it can help speed up users workflow. It is already present, so why not keep it around if possible. So rather than cutting it out completely for sake of simplicity, perhaps the bug can be addressed in its minimal form, so just the false change on the current photo.

RyanHarvieStark commented 2 months ago

This is not something I have ever done. Usually I have rated the opened image which is definitely useful. Deleting images and especially multiple images is another thing because I can rate them and then delete in Lighttable as a later step depending on the rating or rejection.