Seafile CE 9.0.8 + OnlyOffice 7.2.204 = White/Blank Screen

OnlyOffice 7.2.0.204 produces a white page when opening a Word or Excel document. There are no errors reported on screen or in the OnlyOffice log.

Tested with Firefox 105.0, Brave Version 1.43.93 Chromium: 105.0.5195.127 (Official Build) (x86_64) and Safari Version 15.6.1 (15613.3.9.1.16, 15613). Cleared cache and restarted browser in advance.

Reverted to previous version 7.1.1.23 and all is well.

Anybody have any ideas on this?

Ubuntu 20.04.5 LTS | CE Server Version: 9.0.8 | Nginx

ADDENDUM: The standalone OnlyOffice Editor Version 7.2 (534) x86_64 similarly fails to open documents from the server. The screen flashes and a new tab is opened in the default web browser on the Seafile server login.

1 Like

OnlyOffice integration stopped working for me, too. Seafile 9.0.9 and the latest OnlyOffice documentserver produce an error message “Download failed”. There is no error in onlyoffice.log - only info messages.

Does the problem disappear when you revert back to the previous version of OnlyOffice (7.1.1.23)?

How can I revert to that version? I install and start the document server with “sudo docker run -dit -p 88:80 --restart always --name oods onlyoffice/documentserver”.

First, stop the currently running container:

sudo docker stop oods

Second, remove the container:

sudo docker rm oods

Next, download the version of the image you want to run.

sudo docker pull onlyoffice/documentserver:7.1.1.23

Note the suffix (:7.1.1.23) that specifies the version. The default will pull the latest version (:latest) which you don’t want.

Finally, spin-up a new container with the specified image:

sudo docker run -dit -p 88:80 --restart always --name oods onlyoffice/documentserver:7.1.1.23

You might want to reboot your server for completeness. I would also clear browser cache before testing.

By the way, are you using Nginx or Apache as the reverse proxy? Is this a CE server?

1 Like

Thanks for pointing me in the right direction. I use Nginx as reverse proxy and run Seafile CE in a subdirectory. Here are my test results:

  • Seafile CE 9.0.8 and OnlyOffice 7.1.1.23: works.
  • Seafile CE 9.0.9 and OnlyOffice 7.1.1.23: white screen.
  • Seafile CE 9.0.8 and OnlyOffice latest: OnlyOffice starts but loads forever
  • Seafile CE 9.0.9 and OnlyOffice latest: OnlyOffice starts but error message “Download failed”.

There seem to be problems both in Seafile and OnlyOffice.

a bug a bug

Upgraded to CE 9.0.9 and see no change. Bummer.

When I view the page in console using Firefox (105.0.1) Developers Tools I see:

Source map error: Error: request failed with status 404
Resource URL: https://my.domain.net/media/css/seafile-ui.css
Source Map URL: seafile-ui.map

And on the resultant white page for the test document in:

Loading failed for the with source “https://my.domain.net/onlyofficeds/web-apps/apps/api/documents/api.js”.

Uncaught ReferenceError: DocsAPI is not defined
https://my.domain.net/lib/0e2d3f0d-b72f-4127-bfad-7af0e7b59cf6/file/seafile-tutorial.doc:55

The sample document is the Seafile Tutorial document. The domain is anonymized.

Using Brave ( [Version 1.43.93 Chromium: 105.0.5195.127 (Official Build) (x86_64)]):

DevTools failed to load source map: Could not load content for https://my.domain.net/media/css/seafile-ui.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

And on the resulting white page:

Failed to load resource: the server responded with a status of 502 ()
seafile-tutorial.doc:55 Uncaught ReferenceError: DocsAPI is not defined
at seafile-tutorial.doc:55:21
(anonymous) @ seafile-tutorial.doc:55

Hello,
We have a similar issue here, on Seafile Entreprise Edition 9.0.8 and Onlyoffice 7.2 (with docker)

First of all after upgrading to Onlyoffice 7.2, we need to set a JWT token (which it generate by onlyoffice)
You can execute this to obtain the token

On the OnlyOffice server

sudo docker exec YOUR_DOCKER_ID /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json ‘services.CoAuthoring.secret.session.string’

Follow the white rabbit and put it in the seahub config file like explain
manual.seafile[dot]com/deploy/only_office/#configure-onlyoffice-to-use-jwt-secret

Verify Onlyoffice api is responding with a curl

curl -k https://your_onlyoffice_server.com/web-apps/apps/api/documents/api.js

Now tryin to open a .xlsx document from seafile web interface and you get 403 forbidden error and nodejs null attribute
error

In the log

nodeJS - changesError: Error: TypeError: this.Ec is null Script: https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js Line: 1520:368 userAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0 platform: Linux x86_64 isLoadFullApi: true isDocumentLoadComplete: false StackTrace: cc.prototype.izh@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:1520:368
onDocumentContentReady@https://ONLYOFFICE_SERVER.com/7.2.0-204/web-apps/apps/spreadsheeteditor/main/app.js:8:2367570
onLongActionEnd@https://ONLYOFFICE_SERVER.com/7.2.0-204/web-apps/apps/spreadsheeteditor/main/app.js:8:2362683
D@https://ONLYOFFICE_SERVER.com/7.2.0-204/web-apps/apps/spreadsheeteditor/main/app.js:8:7870
m.bind</n<@https://ONLYOFFICE_SERVER.com/7.2.0-204/web-apps/apps/spreadsheeteditor/main/app.js:8:8074
b/<@https://ONLYOFFICE_SERVER.com/7.2.0-204/web-apps/apps/spreadsheeteditor/main/app.js:8:1249
B.prototype.trigger@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:1159:262
cc.prototype.xe@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:1422:462
cc.prototype.Zy@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:1252:443
cc.prototype.O5e/<@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:1260:480
ke@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:697:115
G.AscCommon.E3h/<@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:697:341
error@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:461:402
Sg/jf.onreadystatechange@https://ONLYOFFICE_SERVER.com/7.2.0-204/sdkjs/cell/sdk-all-min.js:477:25

Maybe related to this github[dot]com/ONLYOFFICE/DocumentServer/issues/1591

After this mess, I try to downgrade OnlyOffice to 7.1.1.23 and it’s working again
It’s appear to be an OnlyOffice Bug

I’m not sure if I can help here but OnlyOffice 7.2 is working fine for me with both SeafilePro pro 9.0.8 and 9.0.9.

That’s good news @EAf6WAor . Can you say something about your installation? Which server, platform, type of OnlyOffice installation, that sort of thing? -Thanks

Running under a ESXi docker host VM with arch 5.19.6-arch1-1
Onlyoffice docker: ‘onlyoffice/documentserver-ee’
Seattle docker: ‘docker.seafile.top/seafileltd/seafile-pro-mc:latest’
reverse proxy: Traefik-ee 8.2

My docker containers are setup with macvlans rather than network bridges. Traefik-ee routes traffic to containers bypassing the seafile internal nginx config.

From what i recall when installing these programs, when I’ve seen white pages in the past its been related to inter container access, or security issues like JWT tokens.

There is a problem with the tokens of seafile and onlyoffice, which needs to be updated officially

It sounds llike you’re saying there are issues on both sides. Can you say more about the problem in case @daniel.pan and/or @Vlad stop by and take a look? Do you have any documentary evidence that might help them sort out the problem? -Thanks

Very interesting setup but certainly not typical. In any case it shows that Seafile 9.X and OnlyOffice 7.2 do work together but maybe not as advertised in the Manual.

So do we need to revise the “standard” setup for OnlyOffice and Seafile or is there a fundamental structural flaw that needs fixing by the developers?

Hello
for information, just see this issue which seems related to my issue
github[dot]com/ONLYOFFICE/Docker-DocumentServer/issues/504

This should be of interest to all users. From the OnlyOffice Document Editor Blog:

JWT enabled by default

Starting from version 7.2, JWT that protects documents from unauthorized access is enabled by default. A random secret is automatically generated and just needs to be added on the side of the host application. You can obtain the default JWT secret and replace it with a custom key if required. Learn more about JWT

A discussion of how to enable JWT in Seafile is provided here in the Manual.

For down the road can Seafile be added to this list?

Where is JWT available?

JWT is supported in almost all of the official ONLYOFFICE integration apps:

Nextcloud
ownCloud
Alfresco
Moodle
Mattermost
Chamilo
HumHub
Confluence
Plone
Strapi
Liferay
Jira
Nuxeo
Redmine
WordPress

See also this page.