Hi,
after updating NC to version 11 my Contact app were deactivated. After activating again, no contacts shown. My contacts, however, are all gone. At least the contactpage remains empty and reports "no contacts found". I'm convinced that the contacts are still available but somehow the databaseconnection does not seem to fit any more.
I hope anybody can help!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hello! Do you have access to your database?
no access with phpmyadmin. only blank page. I'll contact my provider.
I have the same experience. Upgraded to NC11 from NC10 and the contacts list is empty. However only for one user, which is odd.
I do have access to the database but I have no idea where to start looking to resolve this issue.
I did search some more in the db and it appears the card data itself is still available in the oc_cards table. I don't understand why it's not listed anymore though.
Same happened to me. Working with contacts synchronized to my mobile still works. Seems to be an UI issue.
Found time today to investigate some more. So some additional findings:
I'm using DavDroid to sync contacts between Nextcloud (11) and my Samsung smartphone. The smartphone appears to still have all contacts in its davdroid address book. I'm also synchronizing on a linux desktop with KAddressbook. This one is not showing me any contact any more, exactly like the nextcloud web interface.
Another observation - when loading the Contacts page on the nextcloud web interface it will display "No contacts in here" after a delay. Yet at the same time the spinning wheel will continue to spin indefinitely. So it seems the page continues to wait for data but never gets a reply.
When opening the web interface for Contacts, I see this message appear in the logs:
{
"reqId":"WRbWmKpqGvMCxF@9@bv17QAAAMg",
"remoteAddr":"192.168.93.4",
"app":"webdav",
"message":{
"Message":"Unsupported VALUE parameter for PHOTO property. You supplied \"binary\u00febinary\u00c3\u00bebinary\u00c3\u0083\u00c2\u00bebinary\u00c3\u0083\u00c2\u0083\u00c3\u0082\u00c2\u00beuri\"",
"Exception":"Sabre\\VObject\\InvalidDataException",
"Code":0,
"Trace":"
#0 /var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php(453): Sabre\\VObject\\Document->createProperty('PHOTO', NULL, Array)
#1 /var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php(234): Sabre\\VObject\\Parser\\MimeDir->readProperty('PHOTO;VALUE=bin...')
#2 /var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php(181): Sabre\\VObject\\Parser\\MimeDir->parseLine('PHOTO;VALUE=bin...')
#3 /var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Parser/MimeDir.php(89): Sabre\\VObject\\Parser\\MimeDir->parseDocument()
#4 /var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Reader.php(46): Sabre\\VObject\\Parser\\MimeDir->parse('BEGIN:VCARD\\r\VE...', 0)
#5 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php(855): Sabre\\VObject\\Reader::read('BEGIN:VCARD\\r\VE...')
#6 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php(494): Sabre\\CardDAV\\Plugin->convertVCard('BEGIN:VCARD\\r\VE...', 'vcard3')
#7 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/CardDAV/Plugin.php(203): Sabre\\CardDAV\\Plugin->addressbookQueryReport(Object(Sabre\\CardDAV\\Xml\\Request\\AddressBookQueryReport))
#8 [internal function]: Sabre\\CardDAV\\Plugin->report('{urn:ietf:param...', Object(Sabre\\CardDAV\\Xml\\Request\\AddressBookQueryReport), 'addressbooks/us...')
#9 /var/www/html/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
#10 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(718): Sabre\\Event\\EventEmitter->emit('report', Array)
#11 [internal function]: Sabre\\DAV\\CorePlugin->httpReport(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))
#12 /var/www/html/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php(105): call_user_func_array(Array, Array)
#13 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php(479): Sabre\\Event\\EventEmitter->emit('method:REPORT', Array)
#14 /var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php(254): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))
#15 /var/www/html/nextcloud/apps/dav/lib/Server.php(227): Sabre\\DAV\\Server->exec()
#16 /var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php(30): OCA\\DAV\\Server->exec()
#17 /var/www/html/nextcloud/remote.php(165): require_once('/var/www/html/n...')
#18 {main}",
"File":"/var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Document.php",
"Line":220,
"User":"geert"
},
"level":4,
"time":"2017-05-13T11:49:14+02:00",
"method":"REPORT",
"url":"/remote.php/dav/addressbooks/users/geert/contacts/",
"user":"geert",
"version":"11.0.2.7"
}
I gather from this there's a contact photo nextcloud doesn't like. I'm having some trouble discovering from the log message which one that would be though. Otherwise I could try to remove that image on my smartphone and see if that fixes it. On the other hand if no contact are listed because the code chokes on the photo associated with one image I believe this may qualify as a bug. The behaviour would be much more elegant if this (potentially) bad image or whole card would be skipped but the rest still loaded, together perhaps with a warning to the user about what just happened.
Note I only have this issue for one user. The others all still work ok.
Can you help debug here @nextcloud/contacts @nextcloud/javascript? :)
@gjanssens is this still happening?
@skjnldsv yes. Nothing has changed. But I'll add I haven't had time yet to upgrade to a more recent nextcloud version. Are there commits in a more recent version that would suggest this to be fixed ?
Maybe the next contact version, 1.5.4.
Once deploy, please test and report here. :)
Ok. That version doesn't appear to be released yet though...
An update. I still haven't had time to update my nextcloud environment. However after an update on my cell phone it chose to force a synchronization. Due to this bug my cell phone stopped displaying contacts as well.
That forced me to dig deeper and by trial and error I found 6 contacts with a PHOTO property that nextcloud considered bad. I have exported them to a csv file and would like to link a file with one such bad card to this issue so others can also test/verify whether the issue is fixed or not. What's the best way to do so ?
@gjanssens have you tried our nightlies? :)
Can I install a nightly of contacts only and revert back to 1.5.3 if it causes other issues ?
It should not! :)
It did and I have reverted back to 1.5.3 for now. The graphical interface of the current nightly is lacking in several ways:
Those are only visual glitches though, not relevant to my specific issue. I only mention them for completeness.
With the new contacts app installed, I have tried to restore one of the bad vcards from the data I exported directly from postgresql into a csv file. To that end I have opened phpPgAdmin and re-entered the vcard info directly there (for some reason the import function in phpPgAdmin is missing on my system). I think I did this correctly, even keeping the id of the record the same, to ensure the data that was still in the oc_card_properties for this vcard would be matching.
Next I tried to sync on my phone, and immediately got a sync failure again. However this time without details. This is different from the errors I mentioned above, which suggests the contacts app fails to parse the data in the PHOTO attribute of a certain card.
I also tried to reload the contacts web interface and with the bad card back in it also fails. It reports no contacts found (which is a rather extreme reaction to only one bad card IMO).
So to back out, I have again removed the bad record in phpPgAdmin. The phone sync started working again afterwards, however the contact app web interface went downhill from there. Reloading the page it still doesn't find contacts, and the list of categories on the left now displays some cryptic codes in {} pairs. One line of codes like that per category I have. And for some reason this affects all users I have on my system.
At this point I decided the nightly is not stable enough yet and reverted back to 1.5.3. To that end I replaced the contacts directory in nextcloud/apps with the original one which I had set aside before the experiment. And then it got scary because even with the old app back in place (I did the replacement while in maintenance mode) the web interface still didn't work! It took a full httpd/php-fpm restart to get that version back to normal functioning.
So knowing I can restore to a working stable situation I decided to retry the nightly once more, this time
After that I reloaded the webinterface, but with the nightly the webinterface continues to malfunction. The categories remain the cryptic codes in curly braces and it doesn't load the contact any more. So I reverted back to 1.5.3 again, which is still working ok.
Unfortunately this whole experiment hasn't lead to any more insight in whether the original issue is fixed in the current nightlies. I didn't get that far due to all the other issues.
@gjanssens Thanks for your incredible feedback! ! :)
Thanks for taking the time to write this.
This is definitely not coming from the contact app, You need to debug your broken vcard. Let me check really quick ;)
Is this still happening?
Meanwhile I have upgraded to nextcloud 12, contacts app 2.0.1 (and I now see there's another update available to 2.1.1).
I have not bothered yet to re-enter the 6 failing contacts (or more precisely the 6 bad images of these contacts). My other contacts so far are still working fine. I suggest to close this issue as obsolete unless @triller123 or @poeschke still have issues.
Let's close this. If it's still an issue with the latest on nc13, let's create new ones so we can update the ressources :)