can't open odt file on web browser

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • replace me
  • Operating system and version (e.g., Ubuntu 24.04):
    • Debian
  • Web server and version (e.g, Apache 2.4.25):
    • replace me
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • replace me
  • PHP version (e.g, 8.3):
    • replace me
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • today
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Yunohost 12.0.17
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Can’t open a ODT file. Get the following message:

Document loading failed

Failed to load Nextcloud Office - please try again later

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

Click an odt file on the file browser

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

{"reqId":"5hDb3wVe5oeCynISaZF1","level":3,"time":"2025-07-17T00:40:47+00:00","remoteAddr":"10.0.1.1","user":"geoma","app":"richdocuments","method":"GET","url":"/core/preview?fileId=80891&x=250&y=250","message":"Failed to convert preview: Client error: `POST https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","version":"31.0.7.1","exception":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `POST https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","Code":400,"Trace":[{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":72,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":209,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":158,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":52,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/lib/private/Http/Client/Client.php","line":277,"function":"request","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/nextcloud/apps/richdocuments/lib/Service/RemoteService.php","line":87,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/richdocuments/lib/Service/RemoteService.php","line":67,"function":"convertTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->"},{"file":"/var/www/nextcloud/apps/richdocuments/lib/Preview/Office.php","line":41,"function":"convertFileTo","class":"OCA\\Richdocuments\\Service\\RemoteService","type":"->"},{"file":"/var/www/nextcloud/lib/private/Preview/GeneratorHelper.php","line":44,"function":"getThumbnail","class":"OCA\\Richdocuments\\Preview\\Office","type":"->"},{"file":"/var/www/nextcloud/lib/private/Preview/Generator.php","line":342,"function":"getThumbnail","class":"OC\\Preview\\GeneratorHelper","type":"->"},{"file":"/var/www/nextcloud/lib/private/Preview/Generator.php","line":313,"function":"generateProviderPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/var/www/nextcloud/lib/private/Preview/Generator.php","line":117,"function":"getMaxPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/var/www/nextcloud/lib/private/Preview/Generator.php","line":87,"function":"generatePreviews","class":"OC\\Preview\\Generator","type":"->"},{"file":"/var/www/nextcloud/lib/private/PreviewManager.php","line":161,"function":"getPreview","class":"OC\\Preview\\Generator","type":"->"},{"file":"/var/www/nextcloud/core/Controller/PreviewController.php","line":168,"function":"getPreview","class":"OC\\PreviewManager","type":"->"},{"file":"/var/www/nextcloud/core/Controller/PreviewController.php","line":127,"function":"fetchPreview","class":"OC\\Core\\Controller\\PreviewController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"getPreviewByFileId","class":"OC\\Core\\Controller\\PreviewController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":161,"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/lib/base.php","line":1040,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":24,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":111,"message":"Failed to convert preview: Client error: `POST https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n","exception":[],"CustomMessage":"Failed to convert preview: Client error: `POST https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/cool/convert-to/png` resulted in a `400 Bad Request` response:\n<html><body>\n<h1>Socket proxy error</h1>\n<p>Error: No content in reply from coolwsd. Is SSL enabled in error ?</p>\n</bod (truncated...)\n"},"id":"68784692baa70"}

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

XHRPOST
https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/cool/https://nextcloud.eticadigital.eu/index.php/apps/richdocuments/wopi/files/80891_oc2siwcks99g?access_token=gIuNpkmaSaraZHicx07DnT9Q47tXqpb2&access_token_ttl=0/ws?WOPISrc=https://nextcloud.eticadigital.eu/index.php/apps/richdocuments/wopi/files/80891_oc2siwcks99g&compat=/ws/open/open/0
[HTTP/2 400  40062ms]
Document loading failed due to timeout: Please check for failing network requests Office.vue:339:1
    loadingTimeout Office.vue:339
    (Async: setTimeout handler)
    load Office.vue:338
    mounted Office.vue:294
    VueJS 19
    openFileInfo Viewer.vue:702
    openFile Viewer.vue:648
    file Viewer.vue:453
    VueJS 5
Uncaught TypeError: can't access property "reason", event is undefined
    _onSocketClose https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/bundle.js:12577
    _signalErrorClose https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    getSessionId https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    getSessionId https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    ProxySocket https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    createWebSocket https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    <anonymous> https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    <anonymous> https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
proxy.php:12577:12
    _onSocketClose https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/bundle.js:12577
    _signalErrorClose https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    getSessionId https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    (Async: EventListener.handleEvent)
    getSessionId https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    ProxySocket https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    createWebSocket https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    <anonymous> https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1
    <anonymous> https://nextcloud.eticadigital.eu/apps/richdocumentscode/proxy.php?req=/browser/636e10a2b1/global.js:1

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

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!):

PASTE HERE

Apps

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

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

I don’t use Yunohost, but do you have “visitor access” (seems Yunohost specific) enabled?

yes, I have visitor permission to nextcloud enabled, as I do have the logged user permission enabled