Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New contact information doesn't synch to android contacts (but I *know* why) #19706

Closed
WNYmathGuy opened this issue Feb 28, 2020 · 10 comments
Closed
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info

Comments

@WNYmathGuy
Copy link

Steps to reproduce

  1. Change the contents of an existing address, phone number, or etc. field.
  2. Synchronize the account with CardDAV app. DAVx²
  3. Note that the change doesn't propagate to the mobile device despite it being persistent on the server.

Expected behaviour

The changes should propagate over.

Actual behaviour

They do not propagate over.

Suspected reason

The code for marking a record dirty is not working at the field level anymore. Long ago it did (c. 9-months to a year maybe), but now it doesn't.

Last night I tried deleting the Home address item and inserting a new Home address item with the same field-level data. After trying the CardDAV synch, the new information made it to my Android device. The system used to know if field-level data was altered and it would synch, now it doesn't.

Red Herrings?

The mobile device is a Nexus 6p Huawei spy-brick so the auto-synch client (DAVx²) app is very difficult to keep on.

Server configuration

https://cloud.ruppssites.com/index.php/s/qxQ3j7jD9WP7gRG

Password:3ZXsop9a8PeAa+VkQ+KS

Updated from an older Nextcloud/ownCloud or fresh install: Upgraded.

Where did you install Nextcloud from: Nextcloud site.

Signing status:

Signing status
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.

Results
=======
- secsignid
	- EXCEPTION
		- OC\IntegrityCheck\Exceptions\InvalidSignatureException
		- Signature could not get verified.

Raw output
==========
Array
(
    [secsignid] => Array
        (
            [EXCEPTION] => Array
                (
                    [class] => OC\IntegrityCheck\Exceptions\InvalidSignatureException
                    [message] => Signature could not get verified.
                )

        )

)

Client configuration

Operating system: Ubuntu 18.04 LTS Workstation.

@WNYmathGuy WNYmathGuy added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Feb 28, 2020
@kesselb
Copy link
Contributor

kesselb commented Feb 28, 2020

You asked that question at https://help.nextcloud.com before?

@WNYmathGuy
Copy link
Author

You asked that question at https://help.nextcloud.com before?

No. This bug had me irritated for months, but it wasn't life-altering, so I just figured I'd get around to trying to see if I could get it to work. I've tried disconnecting the account from the mobile device and so forth, but the stale data would always reappear on the mobile.

@georgehrke
Copy link
Member

@WNYmathGuy So you are saying when you edit the value of a property in the Contacts App in Nextcloud, the Contacts app does not update the REV property?

If that's the case, this issue should be moved to the contacts repo.

@WNYmathGuy
Copy link
Author

@WNYmathGuy So you are saying when you edit the value of a property in the Contacts App in Nextcloud, the Contacts app does not update the REV property?

If that's the case, this issue should be moved to the contacts repo.

Normally, I just edit the text fields in NextCloud Contacts when somebody moves; address line, city, and postal code. That way stopped synchronization to the mobile device about 9 months ago. I just discovered that removing a whole address object and then making a new address object did synchronize correctly.

@georgehrke
Copy link
Member

cc @skjnldsv

@skjnldsv
Copy link
Member

skjnldsv commented Mar 1, 2020

Any output from davx logs to tell us why there is no sync?
Do you know more about the reasons it fails?

@kesselb
Copy link
Contributor

kesselb commented Mar 1, 2020

I did some testing with Nextcloud Calendar. ETag and REV seems to be changed accordingly. But probably the format for REV is invalid.

https://tools.ietf.org/html/rfc2426#section-3.6.4 (v3): REV:1995-10-31T22:27:10Z
https://tools.ietf.org/html/rfc6350#section-6.7.4 (v4): REV:19951031T222710Z

BEGIN:VCARD
VERSION:3.0
PRODID:-//Sabre//Sabre VObject 4.1.6//EN
UID:114548c0-f4f0-4534-a2d9-426171fe0ead
REV;VALUE=DATE-AND-OR-TIME:20200301T204641Z
FN:Kontakt B
ADR;TYPE=HOME:;;street 3a;test;aaaaaa;;
EMAIL;TYPE=HOME:
TEL;TYPE="HOME,VOICE":
END:VCARD

I don't know if VALUE=DATE-AND-OR-TIME is already supported by v3 and applicable for REV value at all.

https://github.com/mangstadt/ez-vcard/blob/53d15f4ee373cf72b0ccd9a289c8395f3951dbb6/src/main/java/ezvcard/io/scribe/RevisionScribe.java#L117-L127

The library used by DAVx5 seems to expect a date value as revision.

https://gitlab.com/bitfireAT/vcard4android/-/blob/master/src/main/java/at/bitfire/vcard4android/Contact.kt#L239-244

But DAVx5 seems to remove invalid / empty values anyway. Probably the "wrong" REV value is not relevant.

@skjnldsv
Copy link
Member

skjnldsv commented Mar 2, 2020

Ping @rfc2822 :)
Would our REV format work?

@skjnldsv
Copy link
Member

skjnldsv commented Mar 2, 2020

Ah I'm an idiot, I remember this issue now:
nextcloud/contacts#1352

@skjnldsv
Copy link
Member

skjnldsv commented Mar 2, 2020

Duplicate of nextcloud/contacts#1352

@skjnldsv skjnldsv marked this as a duplicate of nextcloud/contacts#1352 Mar 2, 2020
@skjnldsv skjnldsv closed this as completed Mar 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info
Projects
None yet
Development

No branches or pull requests

4 participants