PlainText syncing issues and solutions

There are two sync issues that you might run into when using PlainText. Here are when they occur, and how you can avoid them.

Problem: File name syncs, but document content isn’t synced to Dropbox.
Solution: To resolve this problem set the time on your iPad forward 5 minutes.
Background: First, thanks to Michael Wheatley for helping us track this one down.

For some users only document titles sync to Dropbox, the document content remains empty. The problem resolves itself eventually, but makes for an unpredictable sync process.

It turns out the problem is due to differences in time between the local iOS device and Dropbox.com. I thought that I had already accounted for this in the sync algorithm, but it turns out that I was using a > operator at one point where I should have been using a != operator.

The good news is that I now have a test case and a fix for this sync issue. Unfortunately it’s going to take a few weeks before it shows up in the app store. I need to wait two approval cycles… first for 1.1 to be approved. And then once that’s approved I’ll submit this fix. In the meantime you can avoid the problem by setting the clock forward on your iOS device.

Problem: Changes don’t sync when quitting PlainText**
Solution: To resolve this problem allow PlainText to finish its last sync before quitting.*
Background: Behind the scenes your files are saved to disk after 5 seconds of inactivity, or any time you change views, close keyboard, things like that. When your file is saved a new sync session is also started, that will sync your changes to Dropbox.

But in PlainText 1.0 there is a problem… if you quit PlainText before it has a chance to sync your changes, then those changes won’t show up on Dropbox until next time you launch PlainText (and give it a chance to sync your changes).

PlainText 1.1 (in the app store approval queue) fixes this problem by keeping PlainText running in the background until it has finished the last sync. PlainText 1.0 users can avoid this issue by waiting for sync to finish (indicated by network indicator in iOS status bar) before quitting PlainText.

Comments (View)
blog comments powered by Disqus