Discuss all things Remember The Milk.


Repeatable syncing problem

nah.why says:
I think I have found a repeatable syncing problem.
Here's the sequence.
Update the web app. With me it was editing an existing note.
Go to iphone app, which has been paused for a while.
At least the iphone app itself has been paused. or sleeping, even if the iphone has been doing other things.
Say the last time you used the RTM iphone app you were on the same task you just edited on the web, with notes in view.
This is to make it fast, because this is a timing thing.
Quickly edit the same note and change text on iphone.
If you're fast (and sometimes I am ;) you can do this BEFORE the iphone app gets its sync of the update from the web.
Actually, you only have to hit edit. Once the editor is open, you can take all the time you want. The update from the web is blocked until you hit save. It appears.
If you hit cancel, even after 5 minutes, the web update will sync.
If you hit save, the web edit will be discarded, and your iphone edit will overwrite.
And now this iphone edit then syncs back to the web.
And the web edit is lost.

Explicit example:
So say you are on the web and you add text to your note saying:
"line one".
then you go to iphone.
"line one" is not there because it has not yet synced. It can take 10 sec in my experience for it to sync.
In that time, before it syncs, you edit that note, and add "line two" and save.
Then you can (I just did this) literally watch your web app change the note from "line one" to "line two".
"line one" is deleted.
But you may have mean to *add* line two, not replace. (That was what I intended.)

If I could guess/speculate about the error it is this:
Since the iphone app has been paused, it has not received the new note text, ie the update to the note text.
Yet it allows that same note to be edited in the mobile app.
It does not see any conflict.
But I feel like there is a conflict: there is a pending change to note text and the mobile app lets a new change go over top of it.

Continuing speculating: You can't do something like "make sure there are no pending updates from anywhere else first" because there could *always* be an update that's on the way and you are about to get it in 1/10th of a second, but you don't have it now. You can't wait forever.

In my case, tho, it might be possible that the iphone app knows it is OUT of date. Maybe it's not a race condition? Maybe it knows or can know it is stale because it has been sleeping and hasn't yet got fresh updates from server. Or something. I don't know what that threshold would be. Haven't heard from (even pinged) the server in, 1 sec? I still might be able to get a quick edit in that time. 500 ms? There's got to be some limit, I guess? Again, I'm speculating.

Or maybe it could warn that you are about to save a note, but while you were editing this note it changed from some other source. Give a chance to copy the text to somewhere else, at least.

Also, my PC and internet are fast, and my phone is slow. If there is some longer than expected delay, it would probably be in the iphone app waking up and making contact with the server. That might be too slow for this sequence to work reliably.

My guess would be web/mobile/etc doesnt matter the order or sequence. I just saw it in my example as 1. web, 2. mobile erases web.
And my example was note content. It could happen with other edits/updates, but I haven't seen it.
Also I was updating an existing note. Could it be the only way this bug evinces it self? Dunno.

Web is firefox v69.0.3 (up to date) on Windows 10 Home 1803 (I have prevented updates).
mobile is iPhone 5s with iOS 10.0.2. yes both very old ;)
(Because forced updates from providers are as often negative for the user as they are positive.)
Posted at 6:40pm on October 16, 2019
andrewski (Remember The Milk) says:
Hi nah.why,
Thanks for all the details here! I've passed this on to the development team to review to see if this is expected and/or what we could do about it.

In the meantime, as you mentioned this should be a timing thing when a change is recent enough not to have synced. If you're switching between apps quickly, you may prefer to sync manually in the iPhone app by swiping down to force it to update before making any changes.

Let us know if we can ever help with anything else!
Posted 1 year ago
This topic has now been closed automatically due to a lack of responses in the past 90 days.