
| 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 | 2/26/07 (7061 days ago) |
| Due | |
| Updated | 3/30/07 (7029 days ago) |
| Assigned | 2/26/07 (7061 days ago) |
| Resolved | 3/30/07 (7029 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