Summary | Sync.php: createUidMap not called for last entry in each message |
Queue | Synchronization |
Type | Bug |
State | Not A Bug |
Priority | 1. Low |
Owners | karsten (at) horde (dot) org |
Requester | patrick.abiven (at) apitech (dot) fr |
Created | 02/26/2007 (6679 days ago) |
Due | |
Updated | 03/30/2007 (6647 days ago) |
Assigned | 02/26/2007 (6679 days ago) |
Resolved | 03/30/2007 (6647 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Not A Bug
But strange that it breaks with older pear packages...
It seems to be more complex that what I suggested.
We have two horde instances (test, production) having different pear packages.
In the test instance, we need to add the last entry of each message
(such as I suggested), otherwise the entry is missing.
HTTP_
Request 1.4.0XML_Parser 1.2.7
XML_RPC 1.5.1
But in the production instance, the CVS code works fine (If we add the
suggested code, the last entry of each message is doubled).
HTTP_
Request 1.3.0XML_Parser 1.0.1
WML_RPC 1.1.0
Regards
Patrick
Assigned to Karsten Fourmont
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Sync.php: createUidMap not called for last entry in each message
Queue ⇒ Synchronization
State ⇒ Unconfirmed
When synchronizing (reload device) a large number of turba contacts
(525), the last contact of each SyncML message is added (log 'add:
<suid>') but the corresponding uidMap is not created (the log 'created
Map for .. ' is missing). So at the end, we get 512 contacts instead
of 525.
It seems that in Sync.php a few lines are missing in createSyncOutput().
After detecting that 'max msg size approached', we still need to add
the last entry, before calling the return statement.
}
line 438: + $output->outputSyncCommand('Add',
$clientContent,
$clientContentType,
$clientEncodingType,
null,
$suid);
line 444: + $this->_server_add_count++;
$messageFull = true;
Hope this helps.
Regards
Patrick