Contacts app does not show

[details=“Support intro”]

  • Nextcloud Server version (e.g., 29.x.x):
    • 30.0.4
  • Operating system and version (e.g., Ubuntu 24.04):
    • FreeBSD 14.2
  • Web server and version (e.g, Apache 2.4.25):
    • Apache 2.4.62
  • PHP version (e.g, 8.3):
    • 8.3.15
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • After latest upgrade from 30.0.3
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • bare metal
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Upon clicking on the CONTACTS icon, nothing happens. I used the lastest FF, WaterFox, LibreFox and Chromium (tried as well with new profile to avoid possible plugin issues).

Using a “non-supported browser” like PaleMoon or Basilisk, the contacts page gets displayed.

Steps to replicate it (hint: details matter!):

  1. Login to NC
  2. Click on CONTACTS icon
  3. see nothing

Log entries

Nextcloud

{"reqId":"GBqLfP7aAoNx3BYOGibD","level":0,"time":"2024-12-27T23:41:15+00:00","remoteAddr":"10.x.x.x","user":"XXXXXXXX","app":"contacts","method":"GET","url":"/nextcloud/index.php/apps/contacts/","message":"Could not find resource file \"/nextcloud/apps/contacts/css/contacts-index.css\"","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0","version":"30.0.4.1","data":{"app":"contacts"}}
{"reqId":"8cVjfEnhcJkkiu3ZOo9L","level":0,"time":"2024-12-27T23:41:16+00:00","remoteAddr":"10.x.x.x","user":"XXXXXXXX","app":"dav","method":"GET","url":"/nextcloud/ocs/v2.php/apps/user_status/api/v1/user_status","message":"No status relevant events found, skipping calendar status change","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0","version":"30.0.4.1","data":{"app":"dav","user":"XXXXXXXX"}}
{"reqId":"iFgVuBTrxi0kwwwkMkYm","level":0,"time":"2024-12-27T23:41:16+00:00","remoteAddr":"10.x.x.x","user":"XXXXXXXX","app":"dav","method":"PUT","url":"/nextcloud/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json","message":"No status relevant events found, skipping calendar status change","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0","version":"30.0.4.1","data":{"app":"dav","user":"XXXXXXXX"}}
{"reqId":"ZPSefRjzthJ6ZCWo9QQw","level":3,"time":"2024-12-27T23:41:16+00:00","remoteAddr":"10.x.x.x","user":"XXXXXXXX","app":"index","method":"GET","url":"/nextcloud/index.php/avatar/XXXXXXXX/64?v=13","message":"Call to undefined function OC\\Avatar\\imagettfbbox() in file '/var/www/nextcloud/lib/private/Avatar/Avatar.php' line 193","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0","version":"30.0.4.1","exception":{"Exception":"Exception","Message":"Call to undefined function OC\\Avatar\\imagettfbbox() in file '/var/www/nextcloud/lib/private/Avatar/Avatar.php' line 193","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\AvatarController"},"getAvatar"]},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\AvatarController","getAvatar",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"userId":"XXXXXXXX","size":"64","_route":"core.avatar.getavatar"}]},{"file":"/var/www/nextcloud/lib/base.php","line":1003,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/avatar/XXXXXXXX/64"]},{"file":"/var/www/nextcloud/index.php","line":31,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","Line":146,"Previous":{"Exception":"Error","Message":"Call to undefined function OC\\Avatar\\imagettfbbox()","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/Avatar/Avatar.php","line":157,"function":"imageTTFCenter","class":"OC\\Avatar\\Avatar","type":"->","args":[{"__class__":"GdImage"},"G","/var/www/nextcloud/lib/private/Avatar/../../../core/fonts/NotoSans-Regular.ttf",409]},{"file":"/var/www/nextcloud/lib/private/Avatar/UserAvatar.php","line":205,"function":"generateAvatar","class":"OC\\Avatar\\Avatar","type":"->","args":["XXXXXXXX",1024,false]},{"file":"/var/www/nextcloud/core/Controller/AvatarController.php","line":135,"function":"getFile","class":"OC\\Avatar\\UserAvatar","type":"->","args":[64]},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":208,"function":"getAvatar","class":"OC\\Core\\Controller\\AvatarController","type":"->","args":["XXXXXXXX",64,false]},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\AvatarController"},"getAvatar"]},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\AvatarController"},"getAvatar"]},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\AvatarController","getAvatar",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"userId":"XXXXXXXX","size":"64","_route":"core.avatar.getavatar"}]},{"file":"/var/www/nextcloud/lib/base.php","line":1003,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/avatar/XXXXXXXX/64"]},{"file":"/var/www/nextcloud/index.php","line":31,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/nextcloud/lib/private/Avatar/Avatar.php","Line":193},"message":"Call to undefined function OC\\Avatar\\imagettfbbox() in file '/var/www/nextcloud/lib/private/Avatar/Avatar.php' line 193","exception":{},"CustomMessage":"Call to undefined function OC\\Avatar\\imagettfbbox() in file '/var/www/nextcloud/lib/private/Avatar/Avatar.php' line 

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see https://www.php.net/manual/en/book.pcntl.php
Additionally the function 'pcntl_signal' and 'pcntl_signal_dispatch' need to be enabled in your php.ini.
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "30.0.4.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "theme": "",
        "maintenance": false,
        "forcessl": true,
        "trusted_domains": [
            "xxxxxxxx.co.uk",
            "xxxxxxx.xxx",
            "10.0.0.0",
            "xxxxxxx"
        ],
        "secret": "***REMOVED SENSITIVE VALUE***",
        "appstore.experimental.enabled": false,
        "appstore.enabled": false,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "loglevel": 0,
        "trashbin_retention_obligation": "auto",
        "htaccess.RewriteBase": "\/nextcloud",
        "proxy": "http:\/\/xxxxx.xxx:8000",
        "overwrite.cli.url": "https:\/\/xxxxxxxx.xxx\/nextcloud",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_smtpport": "25",
        "app_install_overwrite": [
            "joplin",
            "dashboard",
            "files_antivirus",
            "ransomware_protection"
        ],
        "updater.release.channel": "stable",
        "default_phone_region": "44"
    }
}

Apps

Enabled:

  • activity: 3.0.0
  • admin_audit: 1.20.0
  • app_api: 4.0.3
  • bruteforcesettings: 3.0.0
  • calendar: 5.0.8
  • cloud_federation_api: 1.13.0
  • comments: 1.20.1
  • contacts: 6.1.2
  • contactsinteraction: 1.11.0
  • dashboard: 7.10.0
  • dav: 1.31.1
  • federatedfilesharing: 1.20.0
  • federation: 1.20.0
  • files: 2.2.0
  • files_downloadlimit: 3.0.0
  • files_pdfviewer: 3.0.0
  • files_reminders: 1.3.0
  • files_sharing: 1.22.0
  • files_trashbin: 1.20.1
  • files_versions: 1.23.0
  • logreader: 3.0.0
  • lookup_server_connector: 1.18.0
  • mail: 4.1.1
  • nextcloud_announcements: 2.0.0
  • notifications: 3.0.0
  • oauth2: 1.18.1
  • password_policy: 2.0.0
  • photos: 3.0.2
  • privacy: 2.0.0
  • provisioning_api: 1.20.0
  • recommendations: 3.0.0
  • related_resources: 1.5.0
  • serverinfo: 2.0.0
  • settings: 1.13.0
  • sharebymail: 1.20.0
  • support: 2.0.0
  • systemtags: 1.20.0
  • text: 4.1.0
  • theming: 2.5.0
  • twofactor_backupcodes: 1.19.0
  • updatenotification: 1.20.0
  • user_status: 1.10.0
  • viewer: 3.0.0
  • webhook_listeners: 1.1.0-dev
  • workflowengine: 2.12.0
    Disabled:
  • circles: 30.0.0 (installed 22.1.0)
  • encryption: 2.18.0 (installed 2.6.0)
  • files_external: 1.22.0
  • firstrunwizard: 3.0.0 (installed 2.10.0)
  • survey_client: 2.0.0 (installed 1.8.0)
  • suspicious_login: 8.0.0
  • twofactor_nextcloud_notification: 4.0.0
  • twofactor_totp: 12.0.0-dev
  • user_ldap: 1.21.0
  • weather_status: 1.10.0 (installed 1.0.0)

This looks a bit strange, do you have this file? Can you try to disable and enable the app?

Also try to login with the private mode, just to be sure there is nothing old cached from previous versions.

Forced way: Delete the contacts folder. This will disable the app. Via app store you can enable it again and it will download the code again.

1 Like

Hi
thanks for the response.

The file does not exist. There I removed the apps folder completely and reinstalled from the store. No change.
I will download the archive file and deploy that instead now. So far any inline update went just fine.

Update: Working from the archive - same error:

{“reqId”:“w9qFfDoO4mO6FdcITsKh”,“level”:3,“time”:“2024-12-29T23:35:47+00:00”,“remoteAddr”:“10.216.70.9”,“user”:“horst”,“app”:“index”,“method”:“GET”,“url”:“/nextcloud/index.php/avatar/horst/64?v=13”,“message”:“Call to undefined function OC\Avatar\imagettfbbox() in file ‘/var/www/nextcloud/lib/private/Avatar/Avatar.php’ line 193”,“userAgent”:“Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0”,“version”:“30.0.4.1”,“exception”:{“Exception”:“Exception”,“Message”:“Call to undefined function OC\Avatar\imagettfbbox() in file ‘/var/www/nextcloud/lib/private/Avatar/Avatar.php’ line 193”,“Code”:0,“Trace”:[{“file”:“/var/www/nextcloud/lib/private/AppFramework/App.php”,“line”:161,“function”:“dispatch”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”,“args”:[{“class”:“OC\Core\Controller\AvatarController”},“getAvatar”]},{“file”:“/var/www/nextcloud/lib/private/Route/Router.php”,“line”:302,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:“::”,“args”:[“OC\Core\Controller\AvatarController”,“getAvatar”,{“class”:“OC\AppFramework\DependencyInjection\DIContainer”},{“userId”:“horst”,“size”:“64”,“_route”:“core.avatar.getavatar”}]},{“file”:“/var/www/nextcloud/lib/base.php”,“line”:1003,“function”:“match”,“class”:“OC\Route\Router”,“type”:“->”,“args”:[“/avatar/horst/64”]},{“file”:“/var/www/nextcloud/index.php”,“line”:31,“function”:“handleRequest”,“class”:“OC”,“type”:“::”,“args”:}],“File”:“/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“Line”:146,“Previous”:{“Exception”:“Error”,“Message”:“Call to undefined function OC\Avatar\imagettfbbox()”,“Code”:0,“Trace”:[{“file”:“/var/www/nextcloud/lib/private/Avatar/Avatar.php”,“line”:157,“function”:“imageTTFCenter”,“class”:“OC\Avatar\Avatar”,“type”:“->”,“args”:[{“class”:“GdImage”},“G”,“/var/www/nextcloud/lib/private/Avatar/…/…/…/core/fonts/NotoSans-Regular.ttf”,409]},{“file”:“/var/www/nextcloud/lib/private/Avatar/UserAvatar.php”,“line”:205,“function”:“generateAvatar”,“class”:“OC\Avatar\Avatar”,“type”:“->”,“args”:[“horst”,1024,false]},{“file”:“/var/www/nextcloud/core/Controller/AvatarController.php”,“line”:135,“function”:“getFile”,“class”:“OC\Avatar\UserAvatar”,“type”:“->”,“args”:[64]},{“file”:“/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“line”:208,“function”:“getAvatar”,“class”:“OC\Core\Controller\AvatarController”,“type”:“->”,“args”:[“horst”,64,false]},{“file”:“/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,“line”:114,“function”:“executeController”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”,“args”:[{“class”:“OC\Core\Controller\AvatarController”},“getAvatar”]},{“file”:“/var/www/nextcloud/lib/private/AppFramework/App.php”,“line”:161,“function”:“dispatch”,“class”:“OC\AppFramework\Http\Dispatcher”,“type”:“->”,“args”:[{“class”:“OC\Core\Controller\AvatarController”},“getAvatar”]},{“file”:“/var/www/nextcloud/lib/private/Route/Router.php”,“line”:302,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:“::”,“args”:[“OC\Core\Controller\AvatarController”,“getAvatar”,{“class”:“OC\AppFramework\DependencyInjection\DIContainer”},{“userId”:“horst”,“size”:“64”,“_route”:“core.avatar.getavatar”}]},{“file”:“/var/www/nextcloud/lib/base.php”,“line”:1003,“function”:“match”,“class”:“OC\Route\Router”,“type”:“->”,“args”:[“/avatar/horst/64”]},{“file”:“/var/www/nextcloud/index.php”,“line”:31,“function”:“handleRequest”,“class”:“OC”,“type”:“::”,“args”:}],“File”:“/var/www/nextcloud/lib/private/Avatar/Avatar.php”,“Line”:193},“message”:“Call to undefined function OC\Avatar\imagettfbbox() in file ‘/var/www/nextcloud/lib/private/Avatar/Avatar.php’ line 193”,“exception”:{},“CustomMessage”:“Call to undefined function OC\Avatar\imagettfbbox() in file ‘/var/www/nextcloud/lib/private/Avatar/Avatar.php’ line 193”}}

(moved the org install sideways and extracted “lastet.zip” with original config.file. Downloaded and enabled CONTACTS-App)

I suspect if you visit your Admin settings->Overview you’ll find some setup checks that are failing that will give you clues about some dependencies missing in your environment.

Thanks.

Turned out to be the mime-type. Had to change
application/javascript js
to
application/javascript js mjs

Works fine again, thanks a lot.

Happy new year to you guys!