My KeePassOTP stores data as Plugin Data in the database.
If this data is deleted and the database is synchronized afterwards, the deleted data is available again.
Based on my analysis, this is due to method MergeInDbProperties of class PwDatabase
This method compares the last modification timestamp of an entry in booth source & target database.
Deleting an entry also deletes this last modification timestamp.
Without a last modification timestamp in the saved (target) database, the corresponding entry in the source database is used and the just deleted entry is restored.
Technically:
odtT.HasValue is false (line 1614)
odtS.HasValue is true (line 1615)
I do believe that the last modification timestamp should be set the the timestamp of deletion.
If the current behviour is correct, please explain how deletion of plugion data on db level can be synchronized
Reference: https://github.com/Rookiestyle/KeePassOTP/issues/188