nextcloud / documentserver_community

Document server for onlyoffice
https://apps.nextcloud.com/apps/documentserver_community
133 stars 29 forks source link

[help needed] Upgrade to Onlyoffice version to 8.0.0 ( stuck at 7.2.X ) #312

Open chadek opened 9 months ago

chadek commented 9 months ago

I've been trying to update to last Onlyoffice version (7.4.1 and more recently to 8.0.0) but since 7.3.0, they changed a vendor sockjs to socket.io and it drops an error while trying to load a socket.io component on loading a document. I have been digging a bit and this thread might help resolve this for good but unfortunately I'm still not php friendly enough to get to understand how to fix this for now :c

Any PR/help on this would be really appreciated!

chadek commented 9 months ago

@aaronhuggins if by any chance you have some insight on this, it would be great to provide updated onlyoffice version for the (hopefully) near return of this app to the store!

chadek commented 9 months ago

I tried the solution proposed on this thread but unfortunately, it does not work. I suspect it is because this app provide it's own url routing. As document now load a different socket component, it tries now to load this kind of url : wss://some.nextcloud.instance.com/apps/documentserver_community/3rdparty/onlyoffice/documentserver/doc/249551156/c/?EIO=4&transport=websocket

Which probably can not be resolve as it is not existing here for now

WhoAmI0501 commented 9 months ago

As of my recent PR for v28 compatibility, i also struggled with this problem in my private soft fork of this project.

Actually, i wasnt able to find a solution. But one hint: From what i know, socket.io requires a permanently running server and a client which is holding a permanent connection to this server. If thats really the case, then i am quite sure, that this cannot be done with this app and PHP.

From my deep dive in the official docker image, i also saw, that they are using a RabbitMQ server. I dont know why and when these dependency came up, but actually, this app needs to work without RabbitMQ - is this possible? Idk.

May this helps, may not... sadly, i couldn't find out anything more than you - i ended in the PHP code for routing of this app and didnt had any further ideas, how to implement this WSS stuff there.

chadek commented 9 months ago

What I did was crawling a while into the release diff here. But anyway, I do not know enough onlyoffice to dive more deeply. In the server component there seams to have interesting stuff, but could not found any trail to follow.

chadek commented 9 months ago

Found interesting commits: here the first on and probably even more interesting,this one which is precisely the code update for the dependency migration.

robwmi commented 6 months ago

Thanks for the work on this. I had just come to the conclusion that upgrading OnlyOffice was the next item to work on when I came here to comment and found this thread. The threads you've provided are quite interesting. If I get a chance sometime, I'll see about creating a test environment and trying to make some of that work.

chadek commented 6 months ago

Hi @robwmi, thanks for the interest on this and the help proposed here. After digging a bit more, it appears to me that websocket components (even on the lastest working version with sockjs) are not working, which lead to several issues such as no real coediting which is clearly a websocket issue and maybe with everything related to configuration which are never taken into account. I do not know if something could be done on this because websocket imply using a different port and this app aim to not need any server-side adjustment.