Contacts: Broken contact links in web interface

Created on 18 Feb 2018  路  14Comments  路  Source: nextcloud/contacts

Opened this issue in the server repo but I was told it belongs here. :innocent:

I recently upgraded to NC 13 and it seems some links in the Contacts app are not working in the web interface.

When I hover the contacts in the contact list (no click) I see 2 different types of links:

  1. https://domain.com/apps/contacts/#/Group/e5c9a57f-d84c-4b8c-a59b-ee742e1b42a1
  2. https://domain.com/apps/contacts/#/Group/https://[email protected]/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf

The second link type is broken (i.e.: if I click it, I get redirected to the Group's default page, which is the first contact in the group).

This did not happen before upgrade. Is it a known issue? Is there any way I can fix that?

Please, tell me if you need any further information.

Notes

  • The contact information is intact and correct (i.e.: no information lost). Only the link is broken.
  • Contacts that have the second-type link are older (i.e.: were created maybe long time ago). Contacts that have the first-type link are all more recent contacts.
  • The second link contains "old.domain.com" too. The domain change is, however, something I did some time ago, before even upgrading to NC 12. And I didn't have this problem with NC 12.

Some extra information

  • Server:

    • OS: Ubuntu 16.04.3 LTS (Linux nextcloud 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux)

    • Web server: Apache

    • PHP version: PHP 7.0.25-0ubuntu0.16.04.1

    • Nextcloud version: 13.0.0

    • Upgraded from: Nextcloud 12 (fully upgraded when 13.0.0 was released)

3. to review bug high

All 14 comments

Hum, is the old domain active?
How can this appear here if you already migrated the data? 馃

@skjnldsv Well, there is a redirection still placed in the server (i.e.: old_domain ---> new_domain), so that people trying to reach the old domain name land in the new domain. I could remove it if necessary. Do you think that could help?

I do not know why it appears here. As I mentioned, the migration happened even before NC 12, and while using NC 12, never saw this happening. It was after upgrading to NC 13. :thinking:

As I said, let me know if I can provide any further information. :blush:

Hum, no you can keep it that way for now, I'll think about it! :/
@Henni, any idea?

@skjnldsv I removed the redirection anyway. It has been years since the domain change, so it was about time... :blush: (doing that did not help though)

Can you post the vcard ?

@skjnldsv I have stripped personal data and the profile picture in one of the cards, I hope you do not mind.

  1. Working fine: e5c9a57f-d84c-4b8c-a59b-ee742e1b42a1.vcf.txt
  2. Broken: 2EAF6525-17ADC861-38D6BB1D.vcf.txt

I could provide more samples, I have plenty of them! :joy:

UID:https://[email protected]/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf

Aaaand we have our answer here! :)
@henni, how should we do this? Rewrite the uid? Urlencode it?

@skjnldsv I do not know the possible side-effects, nor which of those options is easier, but if I was asked: "would you rather keep this ID (URL-encoded) or have a new one that matches the rest of UUIDs style in your contacts?" I would definitely prefer the latter. I have no interest in keeping that weird-looking UUID, so rewriting the UUID sounds good to me (unless it could break something... :joy:).

I agree with you. But we may be missing a downside to this behavior that we don't know! :)

URL encoding is the right way to go here:
The UID field expects a uri or text. A UUID is suggested but not required:

Free-form text MAY also be used.

Shame... would not have missed those ugly URL-like identifiers... :joy:

@Henni or we could md5 the uid if it's not an uid. I love consistency :)

@skjnldsv that could work... We would have to add an id property for this to the contacts model (but isn't represented in the vcard). This property would be defined by calculating md5(uid) and would be used for identification of contacts in our app (e.g. in the url / as key inside the contactsCache).

Yes, since we can't md5-reverse! :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

juzim picture juzim  路  3Comments

silverhook picture silverhook  路  5Comments

caugner picture caugner  路  3Comments

ArnY picture ArnY  路  5Comments

keunes picture keunes  路  4Comments