When a top-level folder is created in Outlook, which name is only a number, Syncroton fails to sync this folder. Error in the log (displayname=2016):
[06-Apr-2016 09:34:14 +0200]: DB Error: [1048] Column 'folderid' cannot be null (SQL Query: INSERT INTO syncroton_folder (folderid, parentid, displayname, type, creation_time, device_id, class, id) VALUES(NULL, '0', '2016', '12', '2016-04-06 07:34:13', '80170bf417c1d98a26b78e0ab63110538088a29f', 'Email', 'e21eb9b8881b6546f418d26e3419e68350932b00')) in /usr/share/roundcubemail/program/lib/Roundcube/rcube_db.php on line 539 (POST /Microsoft-Server-Active
Sync?Cmd=FolderSync&User=szszep&DeviceId=32D57F3C354A4D5089FC2C4EF456D8CB&DeviceType=WindowsOutlook15)
When the folder is named something else (like "year2016"), it is OK.
This patch solves the problem for me (maybe it would be better to catch the number earlier?):
--- a/lib/kolab_sync_backend.php +++ b/lib/kolab_sync_backend.php @@ -726,9 +726,10 @@ class kolab_sync_backend // ActiveSync expects folder identifiers to be max.64 characters // So we can't use just folder name - if ($name === '' || !is_string($name)) { + if ($name === '') { return null; } + $name=(string)$name; if (isset($this->folder_uids[$name])) { return $this->folder_uids[$name];