Le 13/05/2017 à 20:56, Patrick Ohly a écrit :
So the "Chloe" contact was the one you deleted after the
"refresh-from-remote" sync?
Absolutely!
I bet it wasn't actually deleted when you marked it as deleted on
the
phone.
Let's verify that hypothesis.
Use "syncevolution --print-items @default contacts". It'll give you an
ID string for each contact. Then use "syncevolution --export - @default
contacts <id string of Chloe>" to dump the contact to your console.
Example (for my local setup, with "addressbook" instead of
"contacts"):
$ syncevolution --print-items @default addressbook
pas-id-5406E78700000000: John Doe
$ syncevolution --export - @default addressbook pas-id-5406E78700000000
BEGIN:VCARD
VERSION:3.0
UID:pas-id-5406E78700000000
PRODID:-//Synthesis AG//NONSGML SyncML Engine V3.4.0.47//EN
REV:2014-09-03T12:03:08Z(1)
N:Doe;John;;;
FN:John Doe
X-EVOLUTION-FILE-AS:Doe\, John
END:VCARD
Is there anything in your "Chloe" contact that might mark it as
"deleted"?
If unsure, then dump it directly after the refresh-from-remote and again
after deleting it in the UI. If you can still dump it after deleting,
then it definitely wasn't deleted for real.
Okay, let's try that. Firstly, I've created a contact on the server.
Then on the phone, I use a refresh-from-remote sync and your commands to
export a contact in the console:
$ syncevolution --export - @default contacts pas-id-5918A52200000119
BEGIN:VCARD
VERSION:3.0
PRODID:-//Synthesis AG//NONSGML SyncML Engine V3.4.0.47//EN
REV:20170514T184149Z
N:AAA;AAA;;;
FN:AAA AAA
X-EVOLUTION-FILE-AS:AAA\, AAA
NICKNAME:AAA
EMAIL;TYPE=WORK:aaa@aaa.aa
X-MOZILLA-HTML:FALSE
UID:pas-id-5918A52200000119
END:VCARD
Now, I delete it from the Contacts app and retry:
$ syncevolution --export - @default contacts pas-id-5918A52200000119
BEGIN:VCARD
VERSION:3.0
X-DELETED-AT:2017-05-14T20:47:23
UID:pas-id-5918A52200000119
PRODID:-//Synthesis AG//NONSGML SyncML Engine V3.4.0.47//EN
REV:2017-05-14T18:47:23Z(423)
N:AAA;AAA;;;
FN:AAA AAA
X-EVOLUTION-FILE-AS:AAA\, AAA
NICKNAME:AAA
EMAIL;TYPE=WORK:aaa@aaa.aa
X-MOZILLA-HTML:FALSE
END:VCARD
As you suspected, the delete operation doesn't work properly. But there
is a second problem. Let's try a normal sync, to see what happen next:
$ syncevolution owncloud contacts
[WARNING] owncloud: ignoring username , it is not needed
[INFO] @default/9frfrenchholiday: inactive
[INFO] @default/9rd2q8ps5e2r48skvidunfkoms8: inactive
[INFO] @default/addressbook: inactive
[INFO] @default/calendar: inactive
[INFO] @default/memo: inactive
[INFO] @default/todo: inactive
[WARNING] owncloud: ignoring username , it is not needed
[INFO @owncloud] target side of local sync ready
[INFO @owncloud] @owncloud/addressbook: inactive
[INFO @owncloud] @owncloud/calendar: inactive
[INFO @owncloud] @owncloud/memo: inactive
[INFO @owncloud] @owncloud/todo: inactive
[INFO @owncloud] @owncloud/contacts: using configured
database=[censored]/remote.php/carddav/addressbooks/Vincent/contacts
[INFO @owncloud] @owncloud/contacts: starting normal sync, two-way (peer
is server)
[INFO] @default/contacts: starting normal sync, two-way (peer is client)
[INFO] creating complete data backup of datastore contacts before sync
(enabled with dumpData and needed for printChanges)
@default data changes to be applied during synchronization:
*** @default/contacts ***
Comparison was impossible.
[INFO] @default/contacts: started
[INFO] @default/contacts: sent 1
[INFO @owncloud] @owncloud/contacts: started
[INFO @owncloud] @owncloud/contacts: updating "AAA AAA"
[INFO @owncloud] @owncloud/contacts: received 1/1
[INFO] @default/contacts: normal sync done successfully
[INFO @owncloud] @owncloud/contacts: normal sync done successfully
Synchronization successful.
Changes applied during synchronization (@owncloud):
+---------------|-----------------------|-----------------------|-CON-+
| | @owncloud | @default | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| contacts | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| two-way, 0 KB sent by client, 0 KB received |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Sun May 14 20:49:51 2017, duration 0:10min |
| synchronization completed successfully |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO] creating complete data backup after sync (enabled with dumpData
and needed for printChanges)
Synchronization successful.
Changes applied during synchronization:
+---------------|-----------------------|-----------------------|-CON-+
| | @default | @owncloud | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| contacts | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| two-way, 0 KB sent by client, 0 KB received |
| item(s) in database backup: 141 before sync, 141 after it |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Sun May 14 20:49:50 2017, duration 0:11min |
| synchronization completed successfully |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
Data modified @default during synchronization:
*** @default/contacts ***
Comparison was impossible.
Whatever the problem is, the contact has been updated on the server but
no information has changed. I can see it in another client
(Thunderbird). Finally, I try again a refresh-from-remote, that is
supposed to completely reset the local problem on the phone, and surprise:
$ syncevolution --sync refresh-from-remote owncloud contacts
[WARNING] owncloud: ignoring username , it is not needed
[INFO] @default/9frfrenchholiday: inactive
[INFO] @default/9rd2q8ps5e2r48skvidunfkoms8: inactive
[INFO] @default/addressbook: inactive
[INFO] @default/calendar: inactive
[INFO] @default/memo: inactive
[INFO] @default/todo: inactive
[WARNING] owncloud: ignoring username , it is not needed
[INFO @owncloud] target side of local sync ready
[INFO @owncloud] @owncloud/addressbook: inactive
[INFO @owncloud] @owncloud/calendar: inactive
[INFO @owncloud] @owncloud/memo: inactive
[INFO @owncloud] @owncloud/todo: inactive
[INFO @owncloud] @owncloud/contacts: using configured
database=[censored]/remote.php/carddav/addressbooks/Vincent/contacts
[INFO @owncloud] @owncloud/contacts: starting first time sync from
client (peer is server)
[INFO @owncloud] @owncloud/contacts: sent 141/141
[INFO] @default/contacts: starting slow sync from client (peer is client)
[INFO] creating complete data backup of datastore contacts before sync
(enabled with dumpData and needed for printChanges)
@default data changes to be applied during synchronization:
*** @default/contacts ***
Comparison was impossible.
[INFO] @default/contacts: deleting "AAA AAA"
[...]
[INFO] @default/contacts: adding "AAA AAA"
[...]
[INFO] @default/contacts: received 141
[INFO @owncloud] @owncloud/contacts: started
[INFO] @default/contacts: slow sync done successfully
[INFO @owncloud] @owncloud/contacts: first time sync done successfully
Synchronization successful.
Changes applied during synchronization (@owncloud):
+---------------|-----------------------|-----------------------|-CON-+
| | @owncloud | @default | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| contacts | 0 | 0 | 0 | 0 | 141 | 0 | 0 | 0 | 0 |
| refresh-from-local, 44 KB sent by client, 0 KB received |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Sun May 14 20:51:55 2017, duration 0:28min |
| synchronization completed successfully |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO] creating complete data backup after sync (enabled with dumpData
and needed for printChanges)
Synchronization successful.
Changes applied during synchronization:
+---------------|-----------------------|-----------------------|-CON-+
| | @default | @owncloud | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| contacts | 141 | 0 | 141 | 0 | 0 | 0 | 0 | 0 | 0 |
| refresh-from-remote, 0 KB sent by client, 44 KB received |
| item(s) in database backup: 141 before sync, 141 after it |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Sun May 14 20:51:54 2017, duration 0:30min |
| synchronization completed successfully |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
Data modified @default during synchronization:
*** @default/contacts ***
Comparison was impossible.
The AAA contact can't be seen in the Contact app at this time! Even if
you previous command reveal it in the database:
$ syncevolution --print-items owncloud contacts
pas-id-5918A76400000233: AAA AAA
[...]
By the way I can see a lot of contacts I've deleted from the phone that
are always on the server and printed by this command.