altdesktop / i3ipc-python

🐍 An improved Python library to control i3wm and sway.
http://i3ipc-python.readthedocs.io
BSD 3-Clause "New" or "Revised" License
858 stars 108 forks source link

Large JSON messages over i3ipc socket are truncated #213

Open apeyser opened 3 months ago

apeyser commented 3 months ago

Current code calls socket.recv with the size of the json message from the struct_header; this assumes incorrectly that the message can be read in a single slurp. Instead, scoket.recv_into should be used to read in chunks until the full message is read.