Bug 433405 - Renaming or reordering tags does not respect the "Use lazy synchronization" option.
Summary: Renaming or reordering tags does not respect the "Use lazy synchronization" o...
Status: REPORTED
Alias: None
Product: digikam
Classification: Applications
Component: Tags-Manager (other bugs)
Version First Reported In: 8.0.0
Platform: Debian stable Linux
: NOR minor
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-21 21:06 UTC by Paul Krause
Modified: 2023-05-20 18:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Krause 2021-02-21 21:06:53 UTC
SUMMARY
Renaming or reordering tags does not respect the "Use lazy synchronization" metadata option.


STEPS TO REPRODUCE
1. Ensure the "Use lazy synchronization" is checked.
2. Ensure the "Image tags" option under "Write this information to the metadata" is checked.
3. Rename or reorder a tag with some items, i.e., a non-empty one.


OBSERVED RESULT
If less then approx 100 items are changed:
  1a) Immediate write of the metadata to the file
If more:
  2) A dialog appears "This operation can take a long time in the background. Do you want to write the metadata to XXX files now?"
  2b) Selecting no: nothing happens at all
  2c) Selecting yes: Immediate write to the file


EXPECTED RESULT
No dialog, no immediate writing, add the items to the metadata writing queue regardless of number of items.


SOFTWARE/OS VERSIONS
digikam-7.2.0-beta2-x86-64.appimage 


ADDITIONAL INFORMATION
Reproducible: Always
Thank you!
Comment 1 Maik Qualmann 2021-02-22 07:07:18 UTC
There are other tasks in digiKam where we have to ignore lazy synchronization, e.g. also when writing faces (after image rotation). The problem here is that when you rename tags, they have to be written into the images. If a re-read of the metadata were triggered by an external process or an internal copying process, a previously deleted or renamed tag would re-appear in the tag tree. Everything cannot be postponed until later with lazy synchronization.

Maik
Comment 2 Paul Krause 2021-05-01 19:40:08 UTC
Dear Maik,

your objections are clearly valid. Unluckily I do not share them personally, but please correct me if I'm wrong.

I) I can mess up my tags anyway already. By selecting No on the "write XXX items later" dialog, regardless of the lazy synchronization option.
So why not give the user this option consistently for any number of items?
Maybe as an additional sub-option beneath lazy synchronization?

II) Additional I wish for changing 2b):
Selecting No on the "write XXX items later" dialog, or if lazy synchronization would be respected, should add these items to the metadata write queue.
At the moment nothing happens. Thus the writing of the metadata is not only postponed until later, but indefinitely until some other request for metadata writing is done for these items.

Thank you very much!
Paul
Comment 3 caulier.gilles 2023-05-06 08:28:09 UTC
Paul,

I suppose that problem still present in 8.0.0 ?

Gilles Caulier
Comment 4 Paul Krause 2023-05-20 17:22:19 UTC
Dear Gilles,

I confirm.
It is still present in 8.0.0.

Regarding comment 1 and 2, please let me know about the latest opinion of the digikam developers.

Best, Paul