haiwen / seafile-client

Seafile desktop client.
http://seafile.com
Apache License 2.0
477 stars 281 forks source link

[linux client] notif-mgr.c(194): failed to create libwebsockets context #1580

Open blshkv opened 1 week ago

blshkv commented 1 week ago

I see an error message in the ~/.ccnet/logs/seafile.log file every second or so:

[11/14/24 19:52:10] seaf-daemon.c(558): starting seafile client 9.0.11
[11/14/24 19:52:10] seafile-session.c(390): client id = b0aadf53f1b3ee6c793dc3ac48e1c2d25b654f37, client_name = host
[11/14/24 19:52:10] socket file exists, delete it anyway
[11/14/24 19:52:10] seaf-daemon.c(587): rpc server started.
[11/14/24 19:52:11] start to serve on pipe client
[11/14/24 19:52:11] start to serve on pipe client
[11/14/24 19:52:11] start to serve on pipe client
[11/14/24 19:52:11] start to serve on pipe client
[11/14/24 19:52:11] sync-mgr.c(1677): File syncing protocol version on server https://server.com is 2. Client file syncing protocol version is 2. Use version 2.
[11/14/24 19:52:12] start to serve on pipe client
[11/14/24 19:52:12] start to serve on pipe client
[11/14/24 19:52:12] sync-mgr.c(1759): Notification server is enabled on the remote server https://server.com.
[11/14/24 19:52:13] notif-mgr.c(763): failed to create libwebsockets context
[11/14/24 19:52:13] notif-mgr.c(194): failed to create libwebsockets context
[11/14/24 19:52:14] notif-mgr.c(763): failed to create libwebsockets context
[11/14/24 19:52:14] notif-mgr.c(194): failed to create libwebsockets context
[11/14/24 19:52:14] notif-mgr.c(763): failed to create libwebsockets context
[11/14/24 19:52:14] notif-mgr.c(194): failed to create libwebsockets context

The notification server is configured behind a nginx server and get /ping returns an expected ping response.

I checked the source code, it seems like I need a ca-bundle.pem file in the seaf->seaf_dir (Seafile/.seafile-data) directory, but it's not there. How should it be created?

server: 11.0.16 client: 9.0.11

blshkv commented 1 week ago

FYI, I copied it manually from the server (/usr/share/easy-rsa/pki/certs_by_serial) and the error is gone. However, it triggered a new error on the server side: failed to upgrade http to websocket: websocket: the client is not using the websocket protocol: 'websocke t' token not found in 'Upgrade' header

Update: I have disabled http/2 (```http2 off;````) and it started to work finally