[Bug] No contact visible on 3.0.0

nc15
update_problems

#1

Hello,

I just have upgraded from 14.0.4 to 15.0.0 and updated the Contacts app (3.0.0).

Using Firefox, I now only can see the list of groups in the first left panel : the second (contacts names) and third (contacts details) panels stay blank.

Strangely, when I create a new contact with my Android phone, and attach it to a group, the number of members of this group is correctly incremented in Firefox. However, the new contact doesn’t appear on Android…

I did some researchs: it seems that this issue could be caused by a wrong VCF in the MySQL database, but I’m not sure of what this means.

Benoît


#2

Hello Benoit!

I will need your browser console log to investigate this issue.
Open your console, reload your page and/or do the action leading to this issue and copy/paste the log in this thread.

How to access your browser console (Click to expand)

Chrome

  • Press either CTRL + SHIFT + J to open the “console” tab of the Developer Tools.
  • Alternative method:
    1. Press either CTRL + SHIFT + I or F12 to open the Developer Tools.
    2. Click the “console” tab.

Safari

  • Press CMD + ALT + I to open the Web Inspector.
  • See Chrome’s step 2. (Chrome and Safari have pretty much identical dev tools.)

IE9

  1. Press F12 to open the developer tools.
  2. Click the “console” tab.

Firefox

  • Press CTRL + SHIFT + K to open the Web console (COMMAND + SHIFT + K on Macs).
  • or, if Firebug is installed (recommended):
    1. Press F12 to open Firebug.
    2. Click on the “console” tab.

Opera

  1. Press CTRL + SHIFT + I to open Dragonfly.
  2. Click on the “console” tab.

#3

Hello John!

And thank you for spending time on this issue.

It seems to be related to the oc_cards MySQL table. I’ve recently migrated to MariaDB, maybe is this linked? Here are the facts.

When I try to display the Contacts app, I only see on the left the different groups of contacts: when clicking on one of them, or just on All the contacts, the contacts list stay empty, and the details panel says: ‘No contact selected’ (I translate from french, maybe this is not exactly the english message).
Clicking on the bottom left settings icon, there’s no addressbook, and the message: ‘Import not available because there’s no addressbook’.

I’ve had a look in the MySQL oc_addressbooks table: my user do have an addressbook with id 29.

Using the bottom left settings field, I’ve created a new addressbook: it got the id 31 and appears of course empty. I’ve dropped the previous addressbook (29).

I’ve gradually found and replaced from 29 to 31 the oc_cards.addressbookid and oc_cards_properties.addressbookid of some contacts using PhpMyAdmin: so they’ve one by one appeared in my new addressbook.

I’ve finally found some contacts in the old addressbook (29) that have reproduced the issue: with 31’ addressbookid, all the contacts groups display empty. If I set oc_cards_properties.addressbookid back to 29, the issue stays; if I also set oc_cards.addressbookid to 29, I get my 31’ contacts back.

I’m trying to compare the contacts that cause the issue with those who don’t, but I don’t manage to see the point.

I’ve reset to 31 the addressbookid fields of a contact that reproduce the issue, here is the console output:

Content Security Policy: La source dupliquée « 'unsafe-inline' » a été ignorée.
Content Security Policy: Impossible d’analyser l’hôte invalide 'unsafe-inline'
Content Security Policy: La directive « child-src » est obsolète. Veuillez utiliser la directive « worker-src » pour contrôler des workers ou la directive « frame-src » pour contrôler des images.
JQMIGRATE: Migrate is installed, version 1.4.0 core.js:7:542
@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning. contacts.js:38:51118
New search handler registered search.js:67:4
State changed to INITIATING jsxc.min.js:1:2054
State changed to PREVCONFOUND jsxc.min.js:1:2054
check master jsxc.min.js:1:2054
Connected to dav! 
Object { rootUrl: "https://nextcloud.../remote.php/dav/", advertisedFeatures: (17) […], currentUserPrincipal: {…}, principalCollections: (4) […], calendarHomes: [], addressBookHomes: (1) […], parser: {…}, _isConnected: true, _request: {…} }
contacts.js:310:29401
TypeError: "e.value is null"
	sortedContacts https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:401:2227
	sortContacts https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:401:2180
	Dn https://nextcloud../apps/contacts/js/contacts.js?v=1171267c-8:336:4757
	commit https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:336:5962
	commit https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:336:5940
	_withCommit https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:336:7223
	commit https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:336:5912
	commit https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:336:2587
	t https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:380:5055
	I https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:38:27686
	I https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:38:27554
	c https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8:38:35413
contacts.js:380:5134
I am master. jsxc.min.js:1:2054
State changed to ESTABLISHING jsxc.min.js:1:2054
Try to attach jsxc.min.js:1:2054
SID: a4e82372681665e707a5b8e015021f832eba6963 jsxc.min.js:1:2054
ATTACHED: null jsxc.min.js:1:2054
UI State changed to INITIATING jsxc.min.js:1:2054
discover http upload service jsxc.min.js:1:2054
UI State changed to READY jsxc.min.js:1:2054
DSA key loaded jsxc.min.js:1:2054
State changed to READY jsxc.min.js:1:2054
Erreur dans les liens source : TypeError: NetworkError when attempting to fetch resource.
URL de la ressource : https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8
URL du lien source : contacts.js.map[En savoir plus]
Erreur dans les liens source : TypeError: NetworkError when attempting to fetch resource.
URL de la ressource : https://nextcloud.../apps/ojsxc/js/jsxc/jsxc.min.js?v=1171267c-8
URL du lien source : jsxc.min.js.map[En savoir plus]

And the console output when I rule out this contact from the new addressbook:

Content Security Policy: La source dupliquée « 'unsafe-inline' » a été ignorée.
Content Security Policy: Impossible d’analyser l’hôte invalide 'unsafe-inline'
Content Security Policy: La directive « child-src » est obsolète. Veuillez utiliser la directive « worker-src » pour contrôler des workers ou la directive « frame-src » pour contrôler des images.
JQMIGRATE: Migrate is installed, version 1.4.0 core.js:7:542
@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning. contacts.js:38:51118
New search handler registered search.js:67:4
State changed to INITIATING jsxc.min.js:1:2054
State changed to PREVCONFOUND jsxc.min.js:1:2054
check master jsxc.min.js:1:2054
Connected to dav! 
Object { rootUrl: "https://nextcloud.../remote.php/dav/", advertisedFeatures: (17) […], currentUserPrincipal: {…}, principalCollections: (4) […], calendarHomes: [], addressBookHomes: (1) […], parser: {…}, _isConnected: true, _request: {…} }
contacts.js:310:29401
I am master. jsxc.min.js:1:2054
State changed to ESTABLISHING jsxc.min.js:1:2054
Try to attach jsxc.min.js:1:2054
SID: a4e82372681665e707a5b8e015021f832eba6963 jsxc.min.js:1:2054
ATTACHED: null jsxc.min.js:1:2054
UI State changed to INITIATING jsxc.min.js:1:2054
discover http upload service jsxc.min.js:1:2054
UI State changed to READY jsxc.min.js:1:2054
DSA key loaded jsxc.min.js:1:2054
State changed to READY jsxc.min.js:1:2054
Erreur dans les liens source : TypeError: NetworkError when attempting to fetch resource.
URL de la ressource : https://nextcloud.../apps/ojsxc/js/jsxc/jsxc.min.js?v=1171267c-8
URL du lien source : jsxc.min.js.map[En savoir plus]
Erreur dans les liens source : TypeError: NetworkError when attempting to fetch resource.
URL de la ressource : https://nextcloud.../apps/contacts/js/contacts.js?v=1171267c-8
URL du lien source : contacts.js.map[En savoir plus] 

I’m stuck here, and available for further tests: I’d like to find what’s wrong with some contacts, to avoid moving them one by one from the old to the new addressbook…

Benoît


#5

Same issue here. None of my contacts appear anymore after the Nextcloud 15 upgrade and Contacts 3.0.0, and now 3.0.1. I’m seeing this in the console:

TypeError: "t.value is null"
	sortedContacts https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:175
	sortContacts https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:175
	Pn https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	commit https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	commit https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	_withCommit https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	commit https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	commit https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:110
	t https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:154
	M https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	M https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	c https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	e https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	e https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	n https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:339
	n https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	4 https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	i https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	149 https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:84
	i https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	<anonymous> https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	<anonymous> https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
 contacts.js:154:5328
	t https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:154
	M https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	M https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	c https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	e https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	e https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:275
	n https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:339
	n https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	exports https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	4 https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:244
	i https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	149 https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:84
	i https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	<anonymous> https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1
	<anonymous> https://cloud.mynextcloud/apps/contacts/js/contacts.js?v=8fbcc429-18:1


#6

Hello!

No change after upgrade to 3.0.1.

Regards,

Benoît


#7

Bonjour,

Je rencontre le même problème.
Linux Manjaro / Firefox ou chromium, même constat : première colonne affichée et aucune autre. Aucun clic ne produit d’action.
Merci de votre aide, ça me fait vraiment peur !

Pascal

Voici la console firefox :

JQMIGRATE: Migrate is installed, version 1.4.0 core.js:7:542
New search handler registered search.js:67:4
Connected to dav!
{…}

ob: {…}
​​
dep: Object { id: 92, subs: [] }
​​
value: Object { rootUrl: Getter & Setter, advertisedFeatures: Getter & Setter, currentUserPrincipal: Getter & Setter, … }
​​
vmCount: 0
​​
: Object { walk: walk(), observeArray: observeArray(), … }

_isConnected: Getter & Setter

_request: Getter & Setter

addressBookHomes: Getter & Setter

advertisedFeatures: Getter & Setter

calendarHomes: Getter & Setter

currentUserPrincipal: Getter & Setter

parser: Getter & Setter
​​
: function get()
​​
: function set()

principalCollections: Getter & Setter

rootUrl: Getter & Setter

: Object { … }
Contacts.vue:237
TypeError: “t.value is null”
sortedContacts httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:175:2203
sortContacts httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:175:2180
Pn httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:4757
commit httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:5962
commit httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:5940
_withCommit httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:7223
commit httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:5912
commit httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:110:2587
t httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:154:5249
M httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:275:27686
M httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:275:27554
c httpsdeuxPointsSlashSlashMonUrlVersNextcloud15/apps/contacts/js/contacts.js?v=cad83d1e:275:35413
addressbooks.js:385:4


#8

This bug was discussed in the bug tracker. It was related to an invalid contact. The version 3.0.1 should at least show the contacts. Have a look at the topic how they debugged the situation, more improvements are on the way:


#9

Hi!

I’ve read the entire thread: the errors I get in the browser’s console are not the same, but it had made me look into the oc_cards.carddata blob field.

First thing: some contacts are in the VCard 2.1 format, others in the 3.0, and others again in the 4.0. It seems that contacts that cause the problem are in the 2.1 format and, for reasons I ignore, miss some values that may be required (N and FN appearingly).

Is that related to the app, or to the devices I use?

I thought that maybe this blob field was made from the oc_cards_properties records, so I removed the blob from one contact and refreshed the browser… Bad guess, the blob has not been “rebuild”.

Is there any way to convert all the .vcf in this blob field into the 4.0 version, fixing the bad format contacts?

Benoît


#10

Then perhaps create a new topic on the bug tracker that they don’t miss your case. If you can add some samples of the broken records (somehow anonymized), they can perhaps help you what client might be responsible. Or try to create a new contact with all your devices to see the problem (you can use this example data for the report).

Not with Nextcloud tools (yet?). I haven’t looked into alternative tools, perhaps there are some.


#11

Hello !
My contacts appear now.
inspiring by Benoit’s comment, I’ve exported my oc_card_properties table and looked at it in a ‘dynamic table’ in libreoffice spreasheet. I’ve noticed that for 348 uid, there were only 344 FN fields.
For each of the 4 cards (that was some ‘entreprise’ contact for witch i had not fill any name value), I’ve deleted any of the fields (ie the entries with the same cardID) in the oc-cards-propoerties table, and the field with this same id in the oc_cards table. (all this in phpmyadmin)
the i’ve relaoded the contact app and all is fine now.

Now, I’m gonna to create the four cards I deleted with the values in my spreadsheet, now whith a fake name to avoid the same problem.

hope this can be useful.

You have understand, English is not my native language.
Pascal


#12

Hello everyone!

Sorry about the delay, I was out of office during the previous weeks.
I will investigate the e.value is null issue

@psklb could you give me one of the vcard that was causing issue on your setup?
Was it just because the FN field was missing?


#13

Hello,

Here are two cards that I’ve deleted. I can’t export vcard because it doesn’t exist anymore. These are the entries copied from a total backup of my contacts.
no modifications except email and phone ‘randomised’

BEGIN:VCARD
VERSION:3.0
EMAIL;TYPE=INTERNET:jnenydaou@free.fr
ORG:JENNY Audio
UID:3095efba-e24c-4906-93db-56d705a6c12e
END:VCARD

or

BEGIN:VCARD
VERSION:3.0
TEL;TYPE=WORK:+33 311111110
ORG:IUFM Metz
UID:20d2443f-afa4-4afa-95f3-29ba99a3b54f
END:VCARD

Was it just because the FN field was missing?

I can’t say this. I’ve notice that 4 cards had FN missing, and as Benoit was talking about these fields, i’ve tested by deleting. And it works now. But it could exist another reason in these cards, that were ‘minimalist’

best regards,


#14

Hello,

Same problem here, after an upgrade to 15.0 (not sure if 15.0.0 or 15.0.2). Here is the console log, I get a CSP message and the infamous “e.value is null”

16:37:29.404 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”).... Tous les contacts:1:1
16:43:10.219 JQMIGRATE: Migrate is installed, version 1.4.0 core.js:7:542
16:44:57.446 TypeError: "e.value is null"
sortedContacts https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:175:2227
sortContacts https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:175:2180
Pn https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:4757
commit https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:5962
commit https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:5940
_withCommit https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:7223
commit https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:5912
commit https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:110:2587
t https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:154:5249
M https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:275:27686
M https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:275:27554
c https://nextcloud/thirdparty/contacts/js/contacts.js?v=1ecd03af:275:35413
 addressbooks.js:385:4

#15

Csp error is unrelated,

Is it fixed on latest contacts 3.0.3? (It should) :slight_smile:


#16

Hello,
Just upgraded to 15.0.4. Problem seems solved, the contacts are now properly shown.
Thanks.