Cockatrice/cockatrice/src
BruebachL daa8671b4d
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (actions) (push) Waiting to run
Build Desktop / Configure (push) Waiting to run
Build Desktop / vcpkg baseline (push) Waiting to run
Build Desktop / Ubuntu 26.04 sanitize (push) Blocked by required conditions
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Fedora 45 release (push) Blocked by required conditions
Build Desktop / Fedora 45 debug (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 cover (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 27 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / Prune caches (push) Waiting to run
Build Docker / Servatrice (arm) (push) Waiting to run
Build Docker / Servatrice (x86) (push) Waiting to run
Build Docker / Publish multi-platform Servatrice image (push) Blocked by required conditions
[Update] Make the update download atomic and its temp path unpredictable (#7627)
The downloader wrote to a predictable /tmp/<url-basename> path, ignored the
result of write(), and leaked the previous reply when a check was retried. It
also connected no error handler to the reply and had no transfer timeout.

Create the file inside a private QTemporaryDir, write it with QSaveFile and
commit it only after every byte was accepted, report reply errors, give the
request a 30 s transfer timeout, and delete the superseded reply. Ignore a
queued finished()/errorOccurred() from a reply that has already been replaced,
and drop the manual redirect branch because Qt follows redirects by default.

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-06 10:47:47 +01:00
..
client [Update] Make the update download atomic and its temp path unpredictable (#7627) 2026-11-06 10:47:47 +01:00
database/interface [Refactor] Move game logic into libcockatrice_game (#7437) 2026-10-31 18:44:15 +01:00
filters [Icons] Migrate UI glyphs to palette-token SVGs (#7595) 2026-11-04 18:39:41 +01:00
game_graphics [Game] Follow the palette in judge message tags (#7597) 2026-11-04 18:39:42 +01:00
interface [Client] Added an exclude and color identity filter for the visual database display (#7587) 2026-11-05 12:40:32 +01:00
installer_close_server.cpp [Installer] Graceful close and a way out of a stuck update (#7687) 2026-10-31 15:32:59 +01:00
installer_close_server.h [Installer] Graceful close and a way out of a stuck update (#7687) 2026-10-31 15:32:59 +01:00
main.cpp [Tests] Replay XML test files through a headless runner (#7694) 2026-11-04 06:23:43 +01:00
main.h [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00
single_instance_manager.cpp [Client] Improve card database update visibility (#7458) 2026-10-09 11:07:48 +02:00
single_instance_manager.h [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00