scratchattach version
2.2.1
What happened?
this only happens with a custom cloud server using a cloudflare tunnel, it works properly with TwCloud or CustomCloud with 127.0.0.1:8080
- I start my python script (init_cloud_server + cloud event listener)
- I load and run the turbowarp project -> the server responds to the requests
- I stay inactive on the turbowarp web page for ~2 minutes, then the issue happens and the server doesn't respond anymore to my requests
- I restart the python script, then everything works again (I did not reload the turbowarp tab)
I was wondering if this was fixable or not? Because the turbowarp tab seems to work correctly even after a long inactivity...
Your code.
server = sa.init_cloud_server("0.0.0.0", server_port, length_limit=None, allow_non_numeric=True, whitelisted_projects=None, allow_nonscratch_names=True, blocked_ips=[], sync_players=True, log_var_sets=False)
server.start(thread=True)
cloud = sa.CustomCloud(project_id=project_id, cloud_host="wss://[random name].trycloudflare.com", username = "EvtListener", length_limit = None, allow_non_numeric = True, _session = None, header = None, cookie = None, origin = None, print_connect_messages = False)
cloud_events=cloud.events()
cloud_events.start(thread=True, ignore_exceptions=True)
Traceback
127.0.0.1:48574 handshaked, project: 1332266638 user: EvtListener
127.0.0.1:48574 disconnected
127.0.0.1:48580 connected
Traceback (most recent call last):
File "/home/jloau/.venv/lib/python3.12/site-packages/scratchattach/cloud/_base.py", line 180, in read
self.receive_new(not recv_once, timeout = timeout_end - time.time() if has_timeout else None)
File "/home/jloau/.venv/lib/python3.12/site-packages/scratchattach/cloud/_base.py", line 156, in receive_new
received = self.source_cloud.websocket.recv().splitlines()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 395, in recv
opcode, data = self.recv_data()
^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 423, in recv_data
opcode, frame = self.recv_data_frame(control_frame)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 444, in recv_data_frame
frame = self.recv_frame()
^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 485, in recv_frame
return self.frame_buffer.recv_frame()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 375, in recv_frame
self.recv_header()
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 329, in recv_header
header = self.recv_strict(2)
^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 418, in recv_strict
bytes_ = self.recv(min(16384, shortage))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 581, in _recv
return recv(self.sock, bufsize)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_socket.py", line 125, in recv
bytes_ = sock.recv(bufsize)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/ssl.py", line 1233, in recv
return self.read(buflen)
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/ssl.py", line 1106, in read
return self._sslobj.read(len)
^^^^^^^^^^^^^^^^^^^^^^
ssl.SSLWantReadError: The operation did not complete (read) (_ssl.c:2559)
scratchattach version
2.2.1
What happened?
this only happens with a custom cloud server using a cloudflare tunnel, it works properly with TwCloud or CustomCloud with 127.0.0.1:8080
I was wondering if this was fixable or not? Because the turbowarp tab seems to work correctly even after a long inactivity...
Your code.
Traceback
127.0.0.1:48574 handshaked, project: 1332266638 user: EvtListener 127.0.0.1:48574 disconnected 127.0.0.1:48580 connected Traceback (most recent call last): File "/home/jloau/.venv/lib/python3.12/site-packages/scratchattach/cloud/_base.py", line 180, in read self.receive_new(not recv_once, timeout = timeout_end - time.time() if has_timeout else None) File "/home/jloau/.venv/lib/python3.12/site-packages/scratchattach/cloud/_base.py", line 156, in receive_new received = self.source_cloud.websocket.recv().splitlines() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 395, in recv opcode, data = self.recv_data() ^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 423, in recv_data opcode, frame = self.recv_data_frame(control_frame) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 444, in recv_data_frame frame = self.recv_frame() ^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 485, in recv_frame return self.frame_buffer.recv_frame() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 375, in recv_frame self.recv_header() File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 329, in recv_header header = self.recv_strict(2) ^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_abnf.py", line 418, in recv_strict bytes_ = self.recv(min(16384, shortage)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_core.py", line 581, in _recv return recv(self.sock, bufsize) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jloau/.venv/lib/python3.12/site-packages/websocket/_socket.py", line 125, in recv bytes_ = sock.recv(bufsize) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/ssl.py", line 1233, in recv return self.read(buflen) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/ssl.py", line 1106, in read return self._sslobj.read(len) ^^^^^^^^^^^^^^^^^^^^^^ ssl.SSLWantReadError: The operation did not complete (read) (_ssl.c:2559)