Sync problems

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Tue Nov 22, 2016 10:30 pm Post

I apologize because this is a hit-and-run post; I have been insanely busy with work and personal life (illness) so I'm just going to drop my info here.

What I have been noticing is that, even though I only work with Scrivener now on the iPad (the reason will be clear in a moment), I still get various sync errors. If I take a moment to look at the errors, they are always cases where something that I was quite sure had been synced did not get synced. But the unsynced content is still there on my iPad, so I get asked if I'm sure that Dropbox is synced. I say yes (it's true!), and I wind up with some files in some folders that have changes of one kind or another that did not sync.

So my problem is NOT that I can't keep my computer and my iPad synced. My problem is that, just using the iPad, syncs are failing. I update all apps automatically when there isa new version, so I am by definition using the latest version on the iPad. I do check for updates on the computer even though I do not use the computer at this point for lack of trust in syncing.

From the 'feels' side, syncing feels like it's not something I can rely on at all, and I suppose I could make all projects on the iPad local, but at some point I want to be able to feel I can rely on sync. I would like to know if there is a page somewhere that might the information I need to improve my own habits (could there be things I'm doing that are edge cases?), are there some known problems that I could find workarounds for, and anything else that might help me make sync more reliable.

Again, I'm sorry to just drop this (I've been waiting a while for a time to document this somewhat better, but it hasn't happened). I am trying to write haiku for my own mental health, and I love Scrivener, so please forgive me and help me out with this if you can. I appreciate it.

Dr
Dre Sage
Posts: 12
Joined: Sun Dec 29, 2013 10:47 pm
Platform: Mac

Thu Dec 22, 2016 8:23 am Post

after the update does syncing work?

User avatar
lunk
Posts: 1744
Joined: Wed Aug 21, 2013 4:24 pm
Platform: Mac + iOS
Location: Sweden 64° N

Thu Dec 22, 2016 2:07 pm Post

What made you sure the iPad had copied everything to the Dropbox folder? Did the iPad specifically tell you that everything had been successfully synced?

User avatar
kewms
Posts: 3239
Joined: Fri Feb 02, 2007 5:22 pm
Platform: Mac

Thu Dec 22, 2016 5:00 pm Post

A guide to iOS Sync troubleshooting can be found here:
http://scrivener.tenderapp.com/help/kb/ ... os-syncing

And detailed instructions for configuring synchronization can be found here:
http://scrivener.tenderapp.com/help/kb/ ... g-with-ios

How are you determining that there are synchronization errors? Is Dropbox reporting them, are you inspecting the file on the desktop, or something else?

Katherine
Scrivener Support Team

User avatar
lunk
Posts: 1744
Joined: Wed Aug 21, 2013 4:24 pm
Platform: Mac + iOS
Location: Sweden 64° N

Thu Dec 22, 2016 5:41 pm Post

Dre Sage wrote:after the update does syncing work?

Syncing has worked perfectly since day one. Not a glitch, not a single error, for me.

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Thu Dec 22, 2016 5:44 pm Post

Dre Sage wrote:after the update does syncing work?


It's hard to prove a negative, but I have not seen a sync problem notice from Scrivener on the iPad for a while now. Fingers crossed.

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Thu Dec 22, 2016 5:45 pm Post

lunk wrote:What made you sure the iPad had copied everything to the Dropbox folder? Did the iPad specifically tell you that everything had been successfully synced?


Yes, the iPad automatically syncs everything that has changed when I go to the list of projects. I always wait until the progress dialog finishes before leaving (not sure I need to ...)

User avatar
lunk
Posts: 1744
Joined: Wed Aug 21, 2013 4:24 pm
Platform: Mac + iOS
Location: Sweden 64° N

Thu Dec 22, 2016 6:47 pm Post

Yes you do need to! If you leave the app while it is syncing, you interrupt the process and will end up with differences between the iPad and Dropbox versions of the project, and next time you open the app, it will find the differences and ask for you to decide which version is the correct. In your case, while not using the desktop version, the iPad version will always be the correct version.

Personally I find the automatic syncing a bit impractical. I feel more comfortable if I decide myself when to sync.

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Thu Dec 22, 2016 8:28 pm Post

lunk wrote:... while not using the desktop version, the iPad version will always be the correct version.

Personally I find the automatic syncing a bit impractical. I feel more comfortable if I decide myself when to sync.


I have had syncing errors even when I don't touch the Mac version of the program. That is my major concern. I have conflicts even when it's just been iPad and Dropbox involved.

I haven't tried manual syncing, but knowing me, it would lead to long times between syncs, and if I ever do get the courage to actually do something on the desktop, I would not be synced. :(

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Thu Dec 22, 2016 8:35 pm Post

Dre Sage wrote:after the update does syncing work?


I opened one of my projects on the desktop before I had synced changes from the iPad, but I immediately closed it. (Both iPad and Mac were using latest versions of Scrivener, BTW). So from my point of view, I made no changes.

When I went to the iPad and synced, and then opened the project, I got the warning I see so often: am i sure that the project is synced in dropbox? (Not that I would have any way whatsoever to be sure, mind you.) So I said yes, and it said there were conflicts, then it said that the conflicts have been resolved - perhaps the latter is part of the change in the new iPad version?) I haven't looked yet for detritus from the warnings, it's a busy day here.

FWIW, it would be much better if opening did not touch a project at all. I would strongly prefer to only have a project get touched when I do something concrete that I as a human see as a change. :)

Also, can't a project set a bit that says "opened and edited" even if I have not synced it? Should the Mac version _need_ to know that the project has been changed elsewhere, and not yet synced? Let's say I have a project on my iPad, iPhone, and Mac 1 but not iPad 2 and not Mac 2. Shouldn't there be bits for each of those devices (including the unused, if they are visible to Scrivener), indicating whether the project is "checked out" (in programmer parlance)? If the software cannot reach deterministic tracking on its own (and that does appear to be the problem now), shouldn't it take steps to get there?

This is the equivalent of an "open" flag - which would not let me open a project on another device until its been synced after changes from another device. (OK, with overrides for unforeseen situations).

User avatar
lunk
Posts: 1744
Joined: Wed Aug 21, 2013 4:24 pm
Platform: Mac + iOS
Location: Sweden 64° N

Thu Dec 22, 2016 9:59 pm Post

No.

If sync doesn't work, it's because you don't let things sync before you close, and it's because you don't close before changing device.
Syncing has been described numerous times in here and there is a detailed explanation on the support page. You have a copy on each device AND on the dropbox server. Everything must be given time to copy to/from each device and the dropbox server. If you do, everything works just fine.

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Fri Dec 23, 2016 12:53 am Post

lunk wrote:No.

If sync doesn't work, it's because you don't let things sync before you close, and it's because you don't close before changing device.
Syncing has been described numerous times in here and there is a detailed explanation on the support page. You have a copy on each device AND on the dropbox server. Everything must be given time to copy to/from each device and the dropbox server. If you do, everything works just fine.


Sorry, but no back: I have done all the right things, and still get sync conflicts _even without ever running my desktop software_. I'm going over the links provided by support, and will report when I'm done - but so far, I've done everything right, and still got sync conflicts.

Just to be clear: I never, ever, exit Scrivener on the iPad before it's done syncing. Not even once. And I haven't (until testing today) opened anything on the desktop. And I still got sync conflicts.

I do agree that if I don't sync on a device and open on another (even without making changes on the other), I will get a sync error (that's what the test was earlier today). That's just not what I've done; I have problems when following procedure.

User avatar
kewms
Posts: 3239
Joined: Fri Feb 02, 2007 5:22 pm
Platform: Mac

Fri Dec 23, 2016 3:25 am Post

If you are getting persistent sync conflicts in spite of following good synchronization hygiene, one possibility is that there is pre-existing corruption in the project. This is especially likely if the versions of the project on various devices appear different.

I would recommend manually reviewing the project for conflict files, then using the resulting "good" version to replace all other versions. This will be easier to do on the Mac because Finder makes it easier to look at the internal structure of the project.

If you still have the issue after working through the troubleshooting guides I posted earlier, let me know and I'll post a link to a cleanup procedure.

Katherine
Scrivener Support Team

User avatar
kewms
Posts: 3239
Joined: Fri Feb 02, 2007 5:22 pm
Platform: Mac

Fri Dec 23, 2016 3:31 am Post

rwodaski wrote:Also, can't a project set a bit that says "opened and edited" even if I have not synced it? Should the Mac version _need_ to know that the project has been changed elsewhere, and not yet synced? Let's say I have a project on my iPad, iPhone, and Mac 1 but not iPad 2 and not Mac 2. Shouldn't there be bits for each of those devices (including the unused, if they are visible to Scrivener), indicating whether the project is "checked out" (in programmer parlance)? If the software cannot reach deterministic tracking on its own (and that does appear to be the problem now), shouldn't it take steps to get there?


The nature of iOS is that the project is *always* checked out, whenever the iOS app is open. The nature of Scrivener is that simply opening the project can change the project "state," and therefore cause a sync-able change to the project file.

How is the project supposed to set an "open and edited" bit without syncing? That is, if there is no communication between the device and the Dropbox server (because if there were it would sync), how is the Dropbox server supposed to receive this information?

Katherine
Scrivener Support Team

rw
rwodaski
Posts: 47
Joined: Sun Sep 06, 2009 12:06 am

Fri Dec 23, 2016 3:40 am Post

kewms wrote:
The nature of iOS is that the project is *always* checked out, whenever the iOS app is open. The nature of Scrivener is that simply opening the project can change the project "state," and therefore cause a sync-able change to the project file.

How is the project supposed to set an "open and edited" bit without syncing? That is, if there is no communication between the device and the Dropbox server (because if there were it would sync), how is the Dropbox server supposed to receive this information?

Katherine


Bad on iOS, I guess. That's quite an unpleasant obstacle. Simple fact: the app is always 'open' on my iPad in that I never close it. Or does 'open' in this case refer to 'actively in front of the user'?

I also get that it's hard if the nature of Scrivener that opening a project can change it's state. As I say to my friends who must lower their telescopes to close the roof: fail safe would be better, but if you are diligent, you will have catastrophic failures only occasionally.

I don't follow your second paragraph. A bit can be set without performing a complete sync - a mini sync, if you will, but not in any way connected to content syncs. My hope would be that the state could be stored without all these described constraints, the way you'd store something in a database (and of course one solution is to use a database for state bits). But the information does have to be in Dropbox so that any given device can recognize the 'already open' condition. (but it's severely complicated for most use cases by the fact that Scrivener has a need to write to a project that the user has no desire to write to. I don't know why this exists; I routinely wish to look at files I routinely do not want to modify. Maybe a way to open in read-only mode, so that it's guaranteed that nothing will be changed?

I say all of this blissfully ignorant of how and why all these things exist; I assume that some important functionality is behind these choices. But they are difficult things for reliable sync. Sometimes the baby has to go to save the bathwater. :evil: