This is broken since the idle source might not wake up while libsoup is downloading data, when the connection is fast enough to always make the main loop busy.
Additionally the SoupSession was made thread safe again in soup 3.2.0.
Tested with libsoup 2.74.0 and libsoup 3.2.0.