Until version 1.2 auto sync happens every 30 minutes. Since 1.3 it happens only once after login. This is also the case in 1.3.1.
The process syncevo-dbus-server is started, but after the first sync it does not do any more. I have to sync manually.
Ubuntu 10.04 32-Bit.
I can reproduce this and wrote an automated test for it. I had tests for corner-cases, but not the key aspect of automated sycning :-/
The fix is a trivial one-line change, but requires a recompilation. I'll see when I can release 1.3.2.
Author: Patrick Ohly <firstname.lastname@example.org>
Date: Sun Nov 4 17:08:22 2012 +0100
auto sync: only synced once (FDO #56667)
A successful sync was incorrectly treated like a sync with a permanent
failure, which prevents further automatic syncing.
Adding a check for "status okay" fixes that problem. A unit test for
this case will be comitted separately.
diff --git a/src/dbus/server/auto-sync-manager.cpp b/src/dbus/server/auto-sync-manager.cpp
index b409c1e..0cb3c9a 100644
@@ -507,7 +507,7 @@ void AutoSyncManager::autoSyncDone(AutoSyncTask *task, SyncMLStatus status)
void AutoSyncManager::anySyncDone(AutoSyncTask *task, SyncMLStatus status)
// set "permanently failed" flag according to most recent result
- task->m_permanentFailure = !ErrorIsTemporary(status);
+ task->m_permanentFailure = status != STATUS_OK && !ErrorIsTemporary(status);
SE_LOG_DEBUG(NULL, NULL, "auto sync: sync session %s done, result %d %s",
Thank you for the fix. I can apply it and compile it for me.
Will be in 1.3.2.