contacts are there but can't be accessed from webgui

Created on 6 Jan 2020  路  20Comments  路  Source: nextcloud/contacts

since some nc-versions i can't see any contacts whenever i am trying to access them via webgui of nextcloud. all i can see is something like "no address picked" on the mainscreen... and on the left side "Alle Kontakte" (all contacts) which is clickable but doesn't do anything.
contacts are there, though as i can access them via mobile and/or via carddav

Steps to reproduce

  1. login to nc
  2. chose contacts
  3. look at empty screen

Expected behaviour

  1. see all contacts

Actual behaviour

see above - more or less an empty screen

Server configuration detail

Operating system: Linux 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l

Webserver: Apache (fpm-fcgi)

Database: mysql 10.3.17

PHP version:

7.3.11-1~deb10u1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, sodium, standard, cgi-fcgi, mysqlnd, PDO, xml, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, igbinary, intl, json, ldap, exif, mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, smbclient, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, libsmbclient, Zend OPcache

Nextcloud version: 17.0.2 - 17.0.2.1

Updated from an older Nextcloud/ownCloud or fresh install: updated from 16.0.5 (where it didn't work, either)

Where did you install Nextcloud from: nextcloudpi.com

Signing status

Array
(
)

List of activated apps

Enabled:
 - activity: 2.10.1
 - admin_audit: 1.7.0
 - analytics: 1.2.2
 - announcementcenter: 3.6.1
 - apporder: 0.9.0
 - audioplayer: 2.8.4
 - bookmarks: 2.3.4
 - bruteforcesettings: 1.4.0
 - calendar: 1.7.1
 - circles: 0.17.10
 - cloud_federation_api: 1.0.0
 - cms_pico: 1.0.4
 - comments: 1.7.0
 - contacts: 3.1.6
 - cookbook: 0.5.7
 - data_request: 1.4.0
 - dav: 1.13.0
 - dropit: 0.3.0
 - event_update_notification: 1.0.0
 - extract: 1.2.2
 - federatedfilesharing: 1.7.0
 - federation: 1.7.0
 - files: 1.12.0
 - files_accesscontrol: 1.7.0
 - files_downloadactivity: 1.6.0
 - files_external: 1.8.0
 - files_markdown: 2.1.0
 - files_pdfviewer: 1.6.0
 - files_rightclick: 0.15.1
 - files_sharing: 1.9.0
 - files_trackdownloads: 1.6.0
 - files_trashbin: 1.7.0
 - files_videoplayer: 1.6.0
 - firstrunwizard: 2.6.0
 - flowupload: 0.1.7
 - gallery: 18.4.0
 - guests: 1.3.1
 - impersonate: 1.4.0
 - issuetemplate: 0.6.0
 - logreader: 2.2.0
 - lookup_server_connector: 1.5.0
 - mail: 0.21.0
 - metadata: 0.10.0
 - nextcloud_announcements: 1.6.0
 - notifications: 2.5.0
 - oauth2: 1.5.0
 - password_policy: 1.7.0
 - passwords: 2020.1.0
 - phonetrack: 0.5.11
 - polls: 0.10.4
 - previewgenerator: 2.2.0
 - privacy: 1.1.0
 - provisioning_api: 1.7.0
 - quota_warning: 1.6.0
 - rainloop: 6.0.4
 - ransomware_protection: 1.5.1
 - registration: 0.4.7
 - serverinfo: 1.7.0
 - sharebymail: 1.7.0
 - sharerenamer: 2.7.3
 - social: 0.2.101
 - socialsharing_email: 1.0.6
 - socialsharing_facebook: 1.0.5
 - socialsharing_twitter: 1.0.5
 - spreed: 7.0.2
 - tasks: 0.11.3
 - text: 1.1.1
 - twofactor_backupcodes: 1.6.0
 - updatenotification: 1.7.0
 - uploaddetails: 0.1.2
 - viewer: 1.2.0
 - workflowengine: 1.7.0
Disabled:
 - accessibility
 - encryption
 - external
 - files_versions
 - nextcloudpi
 - previewgenerator.orig
 - recommendations
 - support
 - survey_client
 - systemtags
 - theming
 - user_ldap

Configuration (config/config.php)

{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": {
        "0": "localhost",
        "1": "INFO DELETED",
        "2": "nextcloud.local",
        "4": "INFO DELETED",
        "5": "INFO DELETED",
        "7": "nextcloudpi",
        "8": "nextcloudpi.lan",
        "11": "INFO DELETED",
        "12": "INFO DELETED"
    },
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "tempdirectory": "\/media\/USBdrive\/ncdata\/tmp",
    "overwrite.cli.url": "https:\/\/INFO DELETED\/",
    "dbtype": "mysql",
    "version": "17.0.2.1",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "ssl",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "465",
    "loglevel": 0,
    "maintenance": false,
    "theme": "",
    "updater.release.channel": "stable",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0,
        "timeout": 0,
        "password": "***REMOVED SENSITIVE VALUE***"
    },
    "log_type": "file",
    "defaultapp": "apporder",
    "simpleSignUpLink.shown": false,
    "htaccess.RewriteBase": "\/",
    "data-fingerprint": "INFO DELETED",
    "jpeg_quality": "60",
    "app_install_overwrite": [
        "announcementcenter"
    ],
    "mail_sendmailmode": "smtp",
    "mail_smtpauth": 1,
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "LOGIN",
    "updater.secret": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: of no interest here, i think

Are you using encryption:

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Client configuration

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

Operating system: windows10 (64) pro v1903

Logs

Web server error log

Insert your web server log here 

Nextcloud log

no errors concerning this case

Browser log

JQMIGRATE: Migrate is installed, version 1.4.1 jquery-migrate.min.js:2:551
oc_config is deprecated: use OC.config instead globals.js:26:15
oc_config is deprecated: use OC.config instead globals.js:26:15
New search handler registered search.js:67:12
Diese Seite verwendet die nicht standardisierte Eigenschaft "zoom". Stattdessen sollte calc() in den entsprechenden Eigenschaftswerten oder "transform" zusammen mit "transform-origin: 0 0" verwendet werden. injectStylesIntoStyleTag.js:201:10
Connected to dav!
Object { rootUrl: "https://INFO DELETED/remote.php/dav/", advertisedFeatures: (17) [鈥, currentUserPrincipal: {鈥, principalCollections: (4) [鈥, calendarHomes: [], publicCalendarHome: {鈥, addressBookHomes: (1) [鈥, parser: {鈥, _isConnected: true, _request: {鈥 }
Contacts.vue:299
The escapeHTML library is deprecated! It will be removed in nextcloud 19. 17 globals.js:26:15
No response received, retrying notifications.js:14:50456
Source-Map-Fehler: Error: NetworkError when attempting to fetch resource.
Ressourcen-Adresse: https://INFO DELETED/apps/notifications/js/notifications.js?v=13ed73ce
Source-Map-Adresse: notifications.js.map

The escapeHTML library is deprecated! It will be removed in nextcloud 19. 8 globals.js:26:15
OC.requestToken changed undefined index.js:265:9
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: https://INFO DELETED/csrftoken
Zeile Nr. 1, Spalte 1: csrftoken:1:1
OC.requestToken changed undefined index.js:265:9
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: https://INFO DELETED/csrftoken
Zeile Nr. 1, Spalte 1: csrftoken:1:1
OC.requestToken changed undefined index.js:265:9
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: https://INFO DELETED/csrftoken
Zeile Nr. 1, Spalte 1: csrftoken:1:1
OC.requestToken changed undefined index.js:265:9
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: https://INFO DELETED/csrftoken
Zeile Nr. 1, Spalte 1:

bug help wanted

Most helpful comment

how embarrassing is that?
just discovered with the new v.3.1.8 that all of my contacts had been _disabled_ (i dunno why since i didn't tinker around there)
so _enabling_ them just solved the problem for me. thus i'm closing this "issue" and feel sorry having caused such trouble. 馃槉

All 20 comments

Judging by the browser log, this might not be an issue with the Contacts app. Looks like the CSRF token cannot be fetched (which would prevent any calls to the backend from working.)

Could you execute curl -D- https://your-nextcloud-domain.com/csrftoken on the command line and paste the output here?

HTTP/2 200
date: Wed, 08 Jan 2020 16:44:19 GMT
server: Apache
expires: Thu, 19 Nov 1981 08:52:00 GMT
pragma: no-cache
cache-control: no-cache, no-store, must-revalidate
content-security-policy: default-src 'none';base-uri 'none';manifest-src 'self'
feature-policy: autoplay 'none';camera 'none';fullscreen 'none';geolocation 'non e';microphone 'none';payment 'none'
set-cookie: ocah3xtdazof=0349anf2mpuaciesi95tm5hcp7; path=/; secure; HttpOnly
set-cookie: oc_sessionPassphrase=a8VjCSI7ywBYBxfY3LCt79owNBUf%2FME9R41MTdNhz7L69 31%2BrREirdQXcD55Bmf70CT2Gsii7Z4cCRy57Yp1Pbw51aeiIopp%2BOo26FD9Xru%2FTo25oTQEqcf 84BThRiUy; path=/; secure; HttpOnly
set-cookie: __Host-nc_sameSiteCookielax=true; path=/; httponly;secure; expires=F ri, 31-Dec-2100 23:59:59 GMT; SameSite=lax
set-cookie: __Host-nc_sameSiteCookiestrict=true; path=/; httponly;secure; expire s=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict
strict-transport-security: max-age=15768000; includeSubDomains; preload
referrer-policy: no-referrer
x-content-type-options: nosniff
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-robots-tag: none
x-xss-protection: 1; mode=block
content-length: 102
content-type: application/json; charset=utf-8

{"token":"Wiy5y8bPxGv5K4ceuuXaNQK2UgceuPX6cxFyBGhOaTs=:MW\/qu4K38Dy3fLNL2dCzBWPS

of course it can't be a browserproblem (only) b/c i tried it with several browsers on different OSses...
and updating to calendar 1.7.2. didn't solve the problem.

so if you would need more info that i could convey, please let me know

calendar 1.7.2

I guess this is a mistyping and you mean contacts 3.1.6 :smile:

Could you check, whether the carddata blobs in the database-table oc_cards are vCards version >= 3.0?
To not fiddle around in the database you could easily export your contacts with help of the script https://github.com/BernieO/calcardbackup and then open the saved .vcf-file with a Texteditor.

I guess this is a mistyping and you mean contacts 3.1.6 馃槃

oopps 馃う鈥嶁檪 - that was a complete loss of mine, i guess. of course it's contacts 3.1.6 馃槉

and here we go with the first entry of my database (grabbed with your tool)

BEGIN:VCARD
VERSION:3.0
N:familyname;firstname;;;
FN:familyname\, firstname
ADR;TYPE=HOME,PREF:;;street no;town\, region;;zip;country
ADR;TYPE=WORK:;;;;;;D
BDAY:2001-05-04
CLASS:PUBLIC
EMAIL;TYPE=INTERNET,WORK:emailaddress@tld
EMAIL;TYPE=INTERNET,HOME:[email protected]
NICKNAME:nickname
NOTE:phone no\n another phone\n and a third phone
ORG:company name
TEL;TYPE=CELL,PREF:cellphone no
TEL;TYPE=HOME: more phone
TEL;TYPE=WORK: even more phone
TEL;TYPE=FAX,WORK: thats a fax no
UID:DELETED
END:VCARD

Sorry, I was a bit unclear: are there any vCards in version 2.1 in your addressbooks?
You can check with

grep 'VERSION:2.1' /path/to/uncompressed/backup/folder/*.vcf 

grep 'VERSION:2.1' /path/to/uncompressed/backup/folder/*.vcf

done. no output. apparently no 2.1. vCards,

of course it can't be a browserproblem (only) b/c i tried it with several browsers on different OSses...

That's right. My suspicion is that something other than the Contacts app itself causes this issue.
The browser log you pasted contains the following:

OC.requestToken changed undefined index.js:265:9

The request token is necessary for the browser to fetch the contacts list from the server. If it's missing (which seems to be the case here) the server will refuse to return any data which would result in an empty contacts list. Which is exactly what you are seeing.

This token should normally be included in the HTML code. If you check the source code of your contacts page you should see something along the lines of:

<head [some other stuff] data-requesttoken="LOTS OF LETTERS AND NUMBERS">

Which should be enough to load the contacts list. You can check whether the token is there, but I suspect it is.


Now, coming back to that message from your browser log: This is written by the main Nextcloud at this point:
https://github.com/nextcloud/server/blob/master/core/src/OC/index.js#L281

The only place where this event (csrf-token-update) is emitted on a vanilla Nextcloud setup is this one:
https://github.com/nextcloud/server/blob/master/core/src/session-heartbeat.js

Given your configuration, this should only happen after 15 minutes. But your browser log seems like it's happening multiple times right at the start (unless you spent an hour looking at an empty page before copying the browser log.)

So if my assumptions so far aren't wrong, I suspect that any of the other apps (of which you have quite a few installed) is introducing a broken mechanism of updating this request token, which then breaks the Contacts app.

So if my assumptions so far aren't wrong, I suspect that any of the other apps (of which you have quite a few installed) is introducing a broken mechanism of updating this request token, which then breaks the Contacts app.

@hanzi ok... thats underdstood by me so far. do you think temporarily disabling all (3rd party)apps and rechecking with contacts would be a way to a possible solution? and if so then turning them on one by one again to find out which one would be responsible?

I have the same problem. Can see my contacts via carddav, but I don't see them in the Contacts App. This worked earlier, but as I don't use it very often I have no idea when it stopped.
Currently I am runnning Contacts 3.1.6 and NC 17.0.1.

I have no terminal access to my server, so I did not download all my vcf-files. (still thinking it might the same problem)

As it was speculated that other apps, might be the problem here my App list (all official):

Accessibility   1.3.0   Offiziell   
Activity    2.10.1  Offiziell   
Auditing / Logging  1.7.0   Offiziell   
Brute-force settings    1.4.0   Offiziell    
Calendar    1.7.2   Offiziell   
Collaborative tags  1.7.0   Offiziell   
Comments    1.7.0   Offiziell   
Contacts    3.1.6   Offiziell   
Deleted files   1.7.0   Offiziell   
Federation  1.7.0   Offiziell   
File sharing    1.9.0   Offiziell   
First run wizard    2.6.0   Offiziell   
Gallery 18.4.0  Offiziell   
Log Reader  2.2.0   Offiziell   
Monitoring  1.7.0   Offiziell   
Nextcloud announcements 1.6.0   Offiziell   
Notifications   2.5.0   Offiziell   
Password policy 1.7.0   Offiziell   
PDF viewer  1.6.0   Offiziell   
Privacy 1.1.0   Offiziell   
Recommendations 0.5.0   Offiziell   
Right click 0.15.1  Offiziell   
Share by mail   1.7.0   Offiziell   
Support 1.0.1   Offiziell   
Theming 1.8.0   Offiziell   
Update notification 1.7.0   Offiziell   
Usage survey    1.5.0   Offiziell   
Versions    1.10.0  Offiziell   
Video player    1.6.0   Offiziell   
Viewer  1.2.0   Offiziell

As it was speculated that other apps, might be the problem here my App list (all official):

whoa... that woud mean, trying to draw logical assumptions, that it wouldn't neccessarily be a 3rdparty app causing the problem but some official one.

This would be true (if our similar problem has the same cause)

As it was speculated that other apps, might be the problem here my App list (all official):

whoa... that woud mean, trying to draw logical assumptions, that it wouldn't neccessarily be a 3rdparty app causing the problem but some official one.

This would be true (if our similar problem has the same cause)

Given your list of apps, the only ones both of you are using an I am not are admin_audit, bruteforcesettings and nextcloud_announcements. But even if I install those, Contacts keeps working just fine.

Sorry guys, running out of ideas.

To be clear: When you look into the HTML source of your Contacts page, the <head> element contains a data-requesttoken attribute with something that looks like an actual token, right?

To be clear: When you look into the HTML source of your Contacts page, the element contains a data-requesttoken attribute with something that looks like an actual token, right?

apparently yes. at least it looks like it

<!DOCTYPE html>
<html class="ng-csp" data-placeholder-focus="false" lang="de" data-locale="de_DE" >
    <head data-user="USERNAME" data-user-displayname="First & Familyname" data-requesttoken="kTByQdO6jcp3j0YOCvtl0qr3ef/b2hlRhJbTe4YeIu8=:5FZDAKTVzvgm+SdvZrYDhJiuS7Cso3Ma89mBHfQvdLc=">
        <meta charset="utf-8">
        <title> ...

Are you using cloudflare? Or any kind of page caching ?

Are you using cloudflare?

definitly no

Or any kind of page caching ?

not that i know of. maybe some built-in stuff? as far as i remember i haven't turned on anything special for page caching. but if you'd tell me where to look for it i'd tell you about the outcome...

not that i know of. maybe some built-in stuff? as far as i remember i haven't turned on anything special for page caching. but if you'd tell me where to look for it i'd tell you about the outcome...

Unless this is a front balancer cache, it's most likely not the issue. Cloudflare was known to strip off some headers, including the etag one :)

Could you send me a test account on [email protected] maybe?

@skjnldsv just sent you a welcome mail for a test account - hopefully it works
and @skjnldsv again: just sent you another email with all the data needed...

how embarrassing is that?
just discovered with the new v.3.1.8 that all of my contacts had been _disabled_ (i dunno why since i didn't tinker around there)
so _enabling_ them just solved the problem for me. thus i'm closing this "issue" and feel sorry having caused such trouble. 馃槉

Was this page helpful?
0 / 5 - 0 ratings

Related issues

spoorun picture spoorun  路  3Comments

Kalytis picture Kalytis  路  4Comments

silverhook picture silverhook  路  5Comments

jtrees picture jtrees  路  3Comments

despens picture despens  路  3Comments