Open
Description
Prerequisites
- Tried the most recent nightly build
- Checked if your issue is already reported.
- Answered all the questions in this template (Or provide a working crystal ball).
What happened?
This problem is explicitly related to the usage of nginx in conjunction with the WebApp!
On editing any Sieve-script via the WebApp, after not doing anything for a while, the user can't save his changes anymore.
This obviously shouldn't happen. No matter how long the user doesn't do anything, he should always be able to save his stuff.
The reason for this behaviour is, that nginx, by default, will close a connection to a proxied server after 60 seconds if the proxied server doesn't transmit any data in this timeframe.
The probable solutions to this problem are:
- (the temporary way) include
proxy_read_timeout 7200s;
(or a timeout > than how long the user needs to work on his scripts) in the stated location block in the WebApp's README.md. - send data to the browser every once in a while.
What did you expect to happen?
No matter how long the user doesn't do anything, he should always be able to save his stuff.
Logs and Traces
2023-03-09 16:53:57 WARNING [handle_message] webserver.py : index out of range
2023-03-09 16:53:57 WARNING [handle_message] webserver.py : Traceback (most recent call last):
File "/opt/thsmi/sieve/sieve-0.6.1-web/script/webserver.py", line 65, in handle_message
handler.handle_request(context, request)
File "/opt/thsmi/sieve/sieve-0.6.1-web/script/handler/websocket.py", line 48, in handle_request
MessagePump().run(websocket, sievesocket)
File "/opt/thsmi/sieve/sieve-0.6.1-web/script/messagepump.py", line 26, in run
data = server.recv()
File "/opt/thsmi/sieve/sieve-0.6.1-web/script/websocket.py", line 119, in recv
opcode = data[0] & 0b00001111
IndexError: index out of range
Which Version
- WebApp on
dfeeac10cb5cf65b08b31360229053bcdae50174
- Server: Debian 11 with dovecot pidgeonhole