tomboy-notes / tomdroid

Tomboy notes on Android
https://play.google.com/store/apps/details?id=org.tomdroid
GNU Lesser General Public License v2.1
18 stars 14 forks source link

Tomdroid Modifies last-change-date of note when note hasn't changed. #66

Open obilodeau opened 8 years ago

obilodeau commented 8 years ago

When syncing to SDCard, when Tomdroid finds a modified note it'll ask which to overwrite. When overwriting it changes the last-change-date and time of the note even though the note itself hasn't been modified.

It shouldn't modify the note. It should just import the note with the data as it is. When it changes the last-change-date time it makes it appear as if the note was edited at that time. But the note isn't being edited. It's just being imported/synced into the Android.

When Tomdroid changes the last-change-date, this confuses all the other programs that are checking the notes for updates.

If the note isn't being editing the last-change-date should remain the same and only be changed when the note is actually being changed.

If it were important to know when the note was introduced into the database, that should be a separate entry... not information for last-change-date entry. I really don't see a reason to want to record when the note was introduced to the database, so I'm sure that could just be left out.

The original last-change-date should reflect when the user last edited the note.


Imported from Launchpad using lp2gh.

obilodeau commented 8 years ago

(by j-4) Thanks for your report. This is a known issue. There exists a tag which should be changed instead of the last-change-date. It is called last-metadata-change-date. However, we do not store the latter, meaning that we need to change something else. This bug will be resolved, as soon as i push the rewritten sync procedure.

When Tomdroid changes the last-change-date, this confuses all the other programs that are checking the notes for updates. What do you mean with 'confuse'. The note is just on top of the list, right? There is no data-loss or anything like this?!

obilodeau commented 8 years ago

(by ljames) Thanks for your attention on this.

I'm very glad to have the opportunity to participate in this fine project. The utility of tomboy/tomdroid is fantastic.

For my two cents, of which I might have made clear in my original message, I hope you consider not modifying anything except the file name, so that (of course) it'll be filed twice, and the title, so that the user can review the title and decide which one to keep. I'm hoping the lastchange date will remain the same in both copies. This will relieve the user in having to try to figure out what to do with which one. If the copy (because it's duplicated) is the same date of the last change the user has made, then it'll be easy for him to remove the dup.
You change the last change day, the user would have to spend a lot of time trying to study the file to see what he might have added or modified, in trying to avoid loosing some thing.

I don't see the same significants (of importance) of modifying the metadata-change-date. If you want to change something, I hope you would consider changing that.

I believe the creation date has similar importance/significants as the last change date. Arbitrarily changing the last change date can make the program appear haphazard is the user has enough wits to recall the last time he had focused on making some update to his note.

-- L. James

L. D. James

obilodeau commented 8 years ago

(by ljames) What do I mean by "confuse"? I have notes that dates back to when I first started using Tomboy (a couple of years ago).
At a glance I can have a scope of a lot of the significants of the notes and their importance (by the last-change-date/the last time I updated the note. If I glance at my notes that have I haven't viewed or made any changes to in a year and find out that it has been modified last week or last month, I'm confused, trying to figure out what was on my mind and what change I made.

If my reference to confusing still isn't clear, I could probably elaborate a bit more.

-- L. James

obilodeau commented 8 years ago

(by a-servedio) bump.

I just started using more then 1 client program for tomboy notes. Which is Tomboy and Tomdroid. I have to agree that Tomdroid "Confuses" other programs.

Simple Test:

obilodeau commented 8 years ago

(by j-4) @Anthony

I agree - there is for sure something wrong. The whole sync procedure is something that needs a major rework. Also in my hands these situations appear, however until now without dataloss. Did you use any data? I will try to work on tromdroid again and fix some major problems like this! Thanks for the reminder ;-)

obilodeau commented 8 years ago

(by a-servedio) @Stefan

Hi, and thanks for the reply!

I did occur data loss the first time I synced. For some reason, all my notes disappear from my server, then Tomboy did the same on sync, leaving me with no notes at all. But I did have a backup.

Now I don't think I get data loss at this point, just fake updates from tomdroid.

Any chance I can use tomdroid in read-only / one-way sync fashion? And yes I'm using data!

obilodeau commented 8 years ago

(by ljames) @Stefan. Is it possible that you can at least remove the bug where Tomdroid changes the file last-change-date entry when no changes has happened to the note.

This happens when copying backups of files to the usb drive then importing them. If it would actually import the file as is, this includes all the xml entries including the "last-change-date" entry.

This is my effort to try to further clarify the problem that I'm trying to express in this bug issue. I'm sure there are other bugs and features to discuss. But I don't think the lack of retaining the last-change-date entry can be associated with data lost.

obilodeau commented 8 years ago

(by j-4) @Larry: I fear this cannot be done easily. We do not maintain a manifest.xml at the moment when syncing to sdcard. therefore we somehow need to "taint" the note as soon as it is imported. And as we do not store "last-metadata-change-date" either, it is the only way to get the importing done.

solution is to rewrite the whole sync method and implement it as it is in tomboy - with a "server" and a "client" state, with revision comparisions etc. however, this takes more than a couple of hours and therefore i do not dare to start it just in between other things. However, I am looking forward to the christmas holidays :-)

@Anthony: because of one-way sync. if you do not edit anything there should be no upload - except for the bug of course. however, i can't think of an easy method to require one-way-sync atm.

obilodeau commented 8 years ago

(by a-servedio) @Stefan: Thanks for trying.. I may have an easy method to make tomdroid read-only! If I remember correctly, older versions where read-only. ;)

Anyways, I can survive until christmas holidays :P