nextcloud / nextcloud/deck

Error when clicking on Talk conversation that contains Deck card links

Open
#5,454 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug feature: sharing integration
Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Describe the bug
In the nextcloud.log file there are sometimes errors when I click on a Talk conversation that contains a link to a Deck card.
I am not sure if the links got inserted via the smart picker or if it was just a copy paste of the link.
There is one conversation where only one link to a Deck card exists and this link does not get rendered. It is just a link. Clicking on this conversation I am able to reproduce the error. Some other conversations just work witout any errors.

Also strange: I am pretty sure, that the link got rendered successfully for the first few days. Now it does not (see screenshot)

To Reproduce
Steps to reproduce the behavior:

  1. Go to Talk
  2. Paste a link to a Deck card
  3. Here I don't know what is going wrong. Perhaps wait some time?
  4. Click on the Talk conversation
  5. See error in the nextcloud.log file

Expected behavior
No errors in nextcloud.log

Screenshot
Image

Client details:

  • OS: Windows 10
  • Browser: Firefox ESR (but same behaviour with Microsoft Edge)
  • Version: 115.6.0esr (64-Bit)
  • Device: Laptop
Server details

Operating system: Ubuntu 22.04 LTS

Web server: Apache

Database: PostgreSQL 14.10

PHP version: 8.1.2

Nextcloud version: 26.0.10

Where did you install Nextcloud from: nextcloud.com

Signing status:

No errors have been found.

List of activated apps:

Enabled:
  - activity: 2.18.0
  - admin_audit: 1.16.0
  - bookmarks: 13.1.3
  - calendar: 4.6.3
  - circles: 26.0.1
  - cloud_federation_api: 1.9.0
  - comments: 1.16.0
  - contacts: 5.5.1
  - contactsinteraction: 1.7.0
  - dashboard: 7.6.0
  - dav: 1.25.0
  - deck: 1.9.5
  - federatedfilesharing: 1.16.0
  - files: 1.21.1
  - files_accesscontrol: 1.16.2
  - files_automatedtagging: 1.16.1
  - files_lock: 27.0.3
  - files_mindmap: 0.0.30
  - files_pdfviewer: 2.7.0
  - files_retention: 1.15.0
  - files_rightclick: 1.5.0
  - files_sharing: 1.18.0
  - files_trashbin: 1.16.0
  - files_versions: 1.19.1
  - flow_notifications: 1.6.0
  - forms: 3.4.4
  - groupfolders: 14.0.6
  - guests: 2.5.1
  - impersonate: 1.13.1
  - integration_discourse: 2.0.5
  - integration_openstreetmap: 1.0.6
  - integration_youtube: 0.1.5
  - integration_zammad: 2.0.6
  - logreader: 2.11.0
  - lookup_server_connector: 1.14.0
  - notes: 4.9.2
  - notifications: 2.14.0
  - notify_push: 0.6.6
  - oauth2: 1.14.1
  - onlyoffice: 7.9.4
  - password_policy: 1.16.0
  - photos: 2.2.0
  - polls: 5.4.2
  - privacy: 1.10.0
  - provisioning_api: 1.16.0
  - quota_warning: 1.18.0
  - recognize: 4.3.2
  - recommendations: 1.5.0
  - related_resources: 1.1.0
  - sendent: 2.0.5
  - serverinfo: 1.16.0
  - settings: 1.8.0
  - sharebymail: 1.16.0
  - spreed: 16.0.9
  - support: 1.9.0
  - survey_client: 1.14.0
  - suspicious_login: 4.4.0
  - systemtags: 1.16.0
  - tasks: 0.15.0
  - text: 3.7.2
  - theming: 2.1.1
  - theming_customcss: 1.15.0
  - translate: 1.2.0
  - twofactor_backupcodes: 1.15.0
  - twofactor_nextcloud_notification: 3.8.0
  - twofactor_totp: 8.0.0
  - updatenotification: 1.16.0
  - user_ldap: 1.16.0
  - user_status: 1.6.0
  - user_usage_report: 1.10.0
  - viewer: 1.10.0
  - weather_status: 1.6.0
  - welcome: 1.0.10
  - workflowengine: 2.8.0
Disabled:
  - approval: 1.1.1
  - bruteforcesettings: 2.6.0 (installed 2.3.0)
  - encryption: 2.14.0
  - federation: 1.16.0 (installed 1.3.0)
  - files_external: 1.18.0
  - firstrunwizard: 2.15.0 (installed 2.2.1)
  - globalsiteselector: 2.4.5
  - nextcloud_announcements: 1.15.0 (installed 1.7.0)
  - user_saml: 5.2.5

Nextcloud configuration:

{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "***REMOVED SENSITIVE VALUE***",
			"***REMOVED SENSITIVE VALUE***",
			"***REMOVED SENSITIVE VALUE***",
			"***REMOVED SENSITIVE VALUE***",
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "26.0.10.2",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "log_rotate_size": "10485760",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "filelocking.enabled": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0.5,
            "dbindex": 0,
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "htaccess.RewriteBase": "\/",
        "maintenance": false,
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "theme": "",
        "loglevel": 2,
        "updater.release.channel": "enterprise",
        "data-fingerprint": "***REMOVED SENSITIVE VALUE***",
        "skeletondirectory": "\/var\/www\/nc-skeleton",
        "updater.server.url": "***REMOVED SENSITIVE VALUE***",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "default_phone_region": "DE",
        "default_language": "de",
        "default_locale": "de_DE",
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": [
            "***REMOVED SENSITIVE VALUE***",
        ],
        "share_folder": "Freigaben",
        "auth.storeCryptedPassword": "false",
        "logtimezone": "Europe\/Berlin",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": true,
                "verify_peer": false,
                "verify_peer_name": false
            }
        },
        "enabledPreviewProviders": [
            "OC\\Preview\\HEIC",
            "OC\\Preview\\Image",
            "OC\\Preview\\Movie",
            "OC\\Preview\\TIFF"
        ]
    }
}

Are you using an external user-backend, if yes which one: ActiveDirectory

Logs
Nextcloud log (data/nextcloud.log)
{"reqId":"VuhyHiRQSK1vdVbxnly6","level":3,"time":"2024-01-10T10:12:38+01:00","remoteAddr":"10.10.10.10","user":"ABCDEF","app":"PHP","method":"GET","url":"/ocs/v2.php/references/resolve?reference=%20https%3A%2F%2Fnextcloud-url.de%2Fapps%2Fdeck%2F%23%2Fboard%2F126%2Fcard%2F828","message":"Undefined array key \"cards\" at /var/www/nextcloud/apps/deck/lib/Reference/CardReferenceProvider.php#158","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0","version":"26.0.10.2","data":{"app":"PHP"}}
{"reqId":"VuhyHiRQSK1vdVbxnly6","level":3,"time":"2024-01-10T10:12:38+01:00","remoteAddr":"10.10.10.10","user":"ABCDEF","app":"no app in context","method":"GET","url":"/ocs/v2.php/references/resolve?reference=%20https%3A%2F%2Fnextcloud-url.de%2Fapps%2Fdeck%2F%23%2Fboard%2F126%2Fcard%2F828","message":"Exception thrown: Exception","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0","version":"26.0.10.2","exception":{"Exception":"Exception","Message":"array_map(): Argument #2 ($array) must be of type array, null given in file '/var/www/nextcloud/apps/deck/lib/Reference/CardReferenceProvider.php' line 158","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","Line":169,"Previous":{"Exception":"TypeError","Message":"array_map(): Argument #2 ($array) must be of type array, null given","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/deck/lib/Reference/CardReferenceProvider.php","line":158,"function":"array_map"},{"file":"/var/www/nextcloud/apps/deck/lib/Reference/CardReferenceProvider.php","line":137,"function":"sanitizeSerializedStack","class":"OCA\\Deck\\Reference\\CardReferenceProvider","type":"->"},{"file":"/var/www/nextcloud/lib/private/Collaboration/Reference/ReferenceManager.php","line":138,"function":"resolveReference","class":"OCA\\Deck\\Reference\\CardReferenceProvider","type":"->"},{"file":"/var/www/nextcloud/core/Controller/ReferenceApiController.php","line":70,"function":"resolveReference","class":"OC\\Collaboration\\Reference\\ReferenceManager","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"resolveOne","class":"OC\\Core\\Controller\\ReferenceApiController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/apps/deck/lib/Reference/CardReferenceProvider.php","Line":158},"CustomMessage":"Exception thrown: Exception"}}

Browser log
Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log
c) ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with apps/deck/lib/Reference/CardReferenceProvider.php around line 158 and follow the /ocs/v2.php/references/resolve request shown in the trace. Reproduce with a Talk conversation containing a Deck card link, then verify that the reference renders without an array error in nextcloud.log.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.