CollaboraOnline / collabora-mattermost

Mattermost plugin to integrate Collabora Online so that users can view or edit files directly in the chat.
Mozilla Public License 2.0
47 stars 19 forks source link

BUG - Mattermost 7.1+ support #66

Open maitredede opened 2 years ago

maitredede commented 2 years ago

Hello :)

Summary

error [2022-07-13 15:54:12.594 +11:00] Unable to activate plugin                     caller="app/plugin.go:162" plugin_id=com.collaboraonline.mattermost error="unable to start plugin: com.collaboraonline.mattermost: Unrecognized remote plugin message: 

This usually means that the plugin is either invalid or simply
needs to be recompiled to support the latest protocol."

Steps To Reproduce

mattermost/mattermost-enterprise-edition:release-7.1 with plugin 1.1.0

Expected behavior

That the plugin works.

Observed Behavior (that appears unintentional)

Plugin does not start.

ngophuong commented 2 years ago

So i got the same issues with Mattermost Community edition. Please help support

{"timestamp":"2022-07-13 20:57:34.501 +07:00","level":"error","msg":"plugin process exited","caller":"plugin/hclog_adapter.go:79","plugin_id":"com.collaboraonline.mattermost","wrapped_extras":"pathplugins/com.collaboraonline.mattermost/server/dist/plugin-linux-amd64pid154errorexit status 127"} {"timestamp":"2022-07-13 20:57:34.501 +07:00","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:139","plugin_id":"com.collaboraonline.mattermost","error":"unable to start plugin: com.collaboraonline.mattermost: Unrecognized remote plugin message: \n\nThis usually means that the plugin is either invalid or simply\nneeds to be recompiled to support the latest protocol."}

jprusch commented 2 years ago

Hm, works here: Mattermost 7.1.0 with Collabora Plugin 1.1.0 We had an issue that the Collabora Online Address (URL) was somehow changed to the Mattermost server site URL. Not sure if this is related to 7.1.0 or an outdated SSL certificate.

ngophuong commented 2 years ago

@jprusch could you help share your configuration ? I use the CaddyServer as Reverse Proxy and maybe that is the issues for me..

jprusch commented 2 years ago

We use Nginx as proxy for Collabora:

server {
   listen       443 ssl;
   server_name  collabora.OURDOMAIN;

   ssl_certificate /etc/ssl/OUR_BUNDLE.crt;
   ssl_certificate_key /etc/ssl/OUR_KEY.key;

    # static files
    location ^~ /browser {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }

    # WOPI discovery URL
    location ^~ /hosting/discovery {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }

    # Capabilities
    location ^~ /hosting/capabilities {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }

    # main websocket
    location ~ ^/cool/(.*)/ws$ {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }

    # download, presentation and image upload
    location ~ ^/(c|l)ool {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }

    # Admin Console websocket
    location ^~ /cool/adminws {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
}

You should also check the coolwsd.xml configuration of the CODE server (Disabling SSL there, define IP patterns etc.)

ngophuong commented 2 years ago

@maitredede good day, any update for this issues? Have u able to setup the plugin ? @jprusch i have my mattermost and collabora in docker with caddyserver for reverse proxy. So far, no success with plugin yet

jprusch commented 2 years ago

Well, I've no idea about "caddyserver". Can you access your CODE server with https://CODE-SERVER/hosting/discovery (assuming you use TLS/SSL). This should return an xml page, startung with:

<wopi-discovery>
<net-zone name="external-http">
<!--  Writer documents  -->
<app favIconUrl="https://CODESERVER/browser/5f985be/images/x-office-document.svg" name="writer">
...

If this does not work, please check the CODE install instructions. The plugin is working & there is no error on the plugin side.

gwoodbridge commented 2 years ago

I also have this issue.

{"timestamp":"2022-08-08 19:38:44.614 Z","level":"error","msg":"plugin process exited","caller":"plugin/hclog_adapter.go:79","plugin_id":"com.collaboraonline.mattermost","wrapped_extras":"pathplugins/com.collaboraonline.mattermost/server/dist/plugin-linux-amd64pid108errorexit status 127"} {"timestamp":"2022-08-08 19:38:44.614 Z","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:162","plugin_id":"com.collaboraonline.mattermost","error":"unable to start plugin: com.collaboraonline.mattermost: Unrecognized remote plugin message: \n\nThis usually means that the plugin is either invalid or simply\nneeds to be recompiled to support the latest protocol."}

Both Collabora CODE and Mattermost running in docker on the same machine. I can access the XML page at https://docs.example.com/hosting/discovery. I have the domain (docs.example.com) in NGINX forwarded to port 9980, so I believe only the base domain (https://docs.example.com) is required in the Mattermost Plugin Settings for the Collabora Online Address, correct?

jprusch commented 2 years ago

We use a local CODE instance & not the docker image, so I'm not sure, if any settings in the CODE configuration inside the docker image must be changed. I can only state, that this plugin in version 1.1.0 runs w/o any problems with Mattermost 7.1.0

gwoodbridge commented 2 years ago

After converting Mattermost to an Ubuntu instance rather than a Docker container, Collabora is working. It is most likely an issue with Mattermost as an alpine image as mentioned in Issue #56