Cockatrice/oracle/src
Bryce! 3a656c9c4a
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 / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 sanitize (push) Blocked by required conditions
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Fedora 44 (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 43 (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
Preserve installed card databases when Oracle refresh fails (#7739)
* Preserve installed card databases when Oracle refresh fails

* Fix the Oracle refresh verdict and cover the parser write path

A background refresh that already installed cards.xml exited 1 when the
token save afterwards failed, so the client kept its old in-memory
database and reported the update as failed. Return the same verdict
main() already computes: a reject after the database was written is a
successful update.

Cover the writer Oracle actually uses: add a short-write death test for
CockatriceXml4Parser::saveToFile, which reverted to QFile would truncate
an installed database without any test noticing.

Route a failed background token download through reject() instead of a
modal box on a hidden wizard, which left the client waiting with no
timeout and blocked later updates. Test the first non-space byte in
place rather than copying the payload, and report an import refusal with
the importer's own message.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-04 17:33:49 +01:00
..
lzma [WIP] Basic mtgjsonv4 support (#3458) 2018-12-20 18:05:03 -05:00
zip Docs: Use Doxygen \todo comments (#6421) 2025-12-15 00:13:16 +01:00
database_writer.cpp Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
database_writer.h Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
main.cpp [Oracle] Don't report a cancelled card database update as successful (#7082) 2026-10-15 15:21:07 +02:00
main.h workaround for foreign card arts getting priority by default (#3652) 2019-03-12 10:12:31 +01:00
oracleimporter.cpp Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
oracleimporter.h Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
oraclewizard.cpp Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
oraclewizard.h [Oracle] Don't report a cancelled card database update as successful (#7082) 2026-10-15 15:21:07 +02:00
pages.cpp Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
pages.h Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
pagetemplates.cpp Preserve installed card databases when Oracle refresh fails (#7739) 2026-11-04 17:33:49 +01:00
pagetemplates.h [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00
parsehelpers.cpp [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00
parsehelpers.h Update cipt parsing (#5712) 2025-03-14 21:44:13 -04:00
raw_json_scanner.cpp [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00
raw_json_scanner.h [Tooling] Apply include-what-you-use across the tree (#7396) 2026-10-08 11:13:50 +02:00