Whiteboard images not loading

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • Nextcloud Hub 26 Winter (33.0.7)
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 24.04.4 LTS
  • Web server and version (e.g, Apache 2.4.25):
    • Apache/2.4.68 (Unix)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • None (self-hosted, no separate reverse proxy)
  • PHP version (e.g, 8.3):
    • 8.3.33
  • Is this the first time you’ve seen this error? (Yes / No)
    • yes
  • When did this problem seem to first start?
    • after usage of of the same whiteboard with multiple users, at the same time
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • no
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

When using a whiteboard some pictures do not load, there is a placeholder shown instead. This happens with images uploaded from a device and pictures copied from google, WhatsApp. etc. The size of the images don’t seem to have an affect on this. I have replicated this issue on two separate and independent Nextcloud-AIO instances. (Each instance has been setup by different people, making misconfiguration seem unlikely.)

Steps to replicate it :

  1. Create a whiteboard

  2. Open the whiteboard with two different accounts. (Or create a public share-link for the whiteboard and open it with another browser / private window)

  3. Start pasting pictures into the whiteboards using both the different accounts. Keep dev-tools open in one browser-window, you should start seeing errors.

Log entries

Nextcloud

nextcloud.log

no logs relevant logs from nextcloud.log while reproducing the issue

Web Browser

logger.ts:41 [Sync] Local sync failed: DataCloneError: Failed to execute 'postMessage' on 'Worker': async(e,t,n,a)=>{let i;try{i=await uN()}catch(r){return r.name==="AbortError"||r.name==="NotAllowedError"?!1:(c...<omitted>...}} could not be cloned.
    at useSync.ts:139:11
    at useSync.ts:429:3
    at Object.onChange (App.tsx:454:3)
(anonymous)	@	logger.ts:41

Web server / Reverse Proxy

Apache/nginx/system log in /var/log/____:

no relevant logs found

Configuration

Nextcloud

occ config:list system

{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 3,
            "read_timeout": 10
        },
        "overwritehost": "cloud.waelchliplan.ch",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.waelchliplan.ch"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "33.0.7.1",
        "overwrite.cli.url": "https:\/\/cloud.waelchliplan.ch\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "updatechecker": false,
        "loglevel": 2,
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary",
            "23": "OC\\Preview\\ImaginaryPDF"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": 30,
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": true,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "forbidden_filename_characters": [
            "\\",
            "\/"
        ],
        "forbidden_filename_extensions": [
            ".filepart",
            ".part"
        ],
        "log_type_audit": "file",
        "logfile_audit": "\/var\/www\/html\/data\/audit.log",
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [
            "WaelchliPlanTeam",
            "admin",
            "WP_IT"
        ],
        "twofactor_enforced_excluded_groups": [],
        "serverid": 445,
        "app_install_overwrite": [],
        "update_channel": "stable",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": true,
        "mail_smtpport": "587",
        "mail_sendmailmode": "smtp",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": false,
                "verify_peer": true,
                "verify_peer_name": true
            }
        },
        "DOMAIN": "cloud.waelchliplan.ch",
        "AIO_VERSION": "v13.5.0"
    }
}
wael

Apps

The output of occ app:list (if possible).

Enabled:
  - activity: 6.0.0
  - admin_audit: 1.23.0
  - admincockpit: 1.3.5
  - app_api: 33.0.0
  - assistant: 3.5.0
  - audioplayer: 3.9.0
  - bruteforcesettings: 6.0.0
  - calendar: 6.5.3
  - circles: 33.0.0
  - cloud_federation_api: 1.17.0
  - command_bot: 1.3.0
  - comments: 1.23.0
  - contacts: 8.7.6
  - contactsinteraction: 1.14.1
  - context_chat: 5.4.0
  - dashboard: 7.13.0
  - dav: 1.36.0
  - deck: 1.17.4
  - encryption: 2.21.0
  - federatedfilesharing: 1.23.0
  - federation: 1.23.0
  - files: 2.5.0
  - files_3dmodelviewer: 0.0.16
  - files_accesscontrol: 4.0.1
  - files_antivirus: 6.4.0
  - files_automatedtagging: 4.0.0
  - files_downloadlimit: 5.1.0
  - files_external: 1.25.1
  - files_fulltextsearch: 33.0.0
  - files_pdfviewer: 6.0.0
  - files_reminders: 1.6.0
  - files_sharing: 1.25.2
  - files_trashbin: 1.23.0
  - files_versions: 1.26.0
  - firstrunwizard: 6.0.0
  - flow_notifications: 4.0.0
  - forms: 5.3.5
  - fulltextsearch: 33.0.0
  - fulltextsearch_elasticsearch: 33.0.0
  - groupfolders: 21.0.15
  - integration_openai: 4.5.2
  - keeweb: 0.6.24
  - libresign: 13.3.0
  - logreader: 6.0.0
  - lookup_server_connector: 1.21.0
  - mail: 5.10.13
  - nextcloud-aio: 0.8.0
  - nextcloud_announcements: 5.0.0
  - notes: 6.0.2
  - notifications: 6.0.0
  - notify_push: 1.4.0
  - oauth2: 1.21.0
  - password_policy: 5.0.0
  - photos: 6.0.0
  - polls: 9.1.4
  - privacy: 5.0.0
  - profile: 1.2.0
  - provisioning_api: 1.23.0
  - recommendations: 6.0.0
  - related_resources: 4.0.0
  - richdocuments: 10.3.0
  - serverinfo: 5.0.0
  - settings: 1.16.0
  - sharebymail: 1.23.0
  - spreed: 23.0.10
  - support: 5.0.0
  - survey_client: 5.0.0
  - systemtags: 1.23.0
  - tables: 2.2.2
  - talk_matterbridge: 1.34.1026000
  - tasks: 0.18.1
  - teamhub: 4.7.1
  - text: 7.0.1
  - theming: 2.8.0
  - thesearchpage: 2.4.5
  - twofactor_admin: 4.12.0
  - twofactor_backupcodes: 1.22.0
  - twofactor_nextcloud_notification: 7.0.0
  - twofactor_totp: 15.0.0
  - updatenotification: 1.23.0
  - user_status: 1.13.0
  - viewer: 6.0.0
  - weather_status: 1.13.0
  - webhook_listeners: 1.5.0
  - whiteboard: 1.5.9
  - workflow_ocr: 1.33.1
  - workflow_script: 4.0.1
  - workflowengine: 2.15.0
Disabled:
  - files_fulltextsearch_metadata: 0.1.1 (installed 0.1.1)
  - files_linkeditor: 1.1.26 (installed 1.1.26)
  - files_scripts: 5.0.1 (installed 5.0.1)
  - linkboard: 1.11.1 (installed 1.11.1)
  - suspicious_login: 11.0.0
  - user_ldap: 1.24.0


Any help is appreciated !

Thanks in advance

The browser log shows a DataCloneError in useSync.ts, so the failure looks client-side before the image reaches the server. Testing the Whiteboard in a fresh browser profile would help separate that from the AIO setup.