mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 09:33:25 -08:00
|
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 / Debian 13 (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 / Fedora 43 (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 / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (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 26 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
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
The parsers keep dropping printings for disabled sets so that disabling a set hides them everywhere, not just in deck editor search. The cached parse output therefore depends on enablement, which the source hash did not cover: the first parse froze whatever enablement state existed at that moment and later toggles hit the stale cache. - Fold a parser schema version and the sorted enabled set names into the binary cache source hash so toggling a set or enabling newly discovered sets (including custom ones) forces a re-parse on the next load. - Harden the legacy set migration to only write keys that exist so missing legacy values can no longer clobber cardDatabase.ini and silently disable sets on upgrade. - Make CardDatabase::reloadCardDatabasesAndNotify() bypass the binary cache so an explicit reload always re-reads the files on disk, even when their size/mtime hash still matches. - Cover cache invalidation end to end: sandboxed loads assert that disabling a set, adding a custom database and enabling a fresh set each rewrite the cache, that a no-op load keeps it, and that an explicit reload picks up edits the source hash cannot see. Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de> |
||
|---|---|---|
| .. | ||
| appearance_settings.cpp | ||
| appearance_settings.h | ||
| cache_storage_settings.cpp | ||
| cache_storage_settings.h | ||
| card_database_settings.cpp | ||
| card_database_settings.h | ||
| card_override_settings.cpp | ||
| card_override_settings.h | ||
| cards_display_settings.cpp | ||
| cards_display_settings.h | ||
| chat_settings.cpp | ||
| chat_settings.h | ||
| commander_bracket_settings.cpp | ||
| commander_bracket_settings.h | ||
| debug_settings.cpp | ||
| debug_settings.h | ||
| deck_editor_settings.cpp | ||
| deck_editor_settings.h | ||
| download_settings.cpp | ||
| download_settings.h | ||
| game_filters_settings.cpp | ||
| game_filters_settings.h | ||
| game_settings.cpp | ||
| game_settings.h | ||
| interface_settings.cpp | ||
| interface_settings.h | ||
| layouts_settings.cpp | ||
| layouts_settings.h | ||
| message_settings.cpp | ||
| message_settings.h | ||
| network_settings.cpp | ||
| network_settings.h | ||
| paths_settings.cpp | ||
| paths_settings.h | ||
| personal_settings.cpp | ||
| personal_settings.h | ||
| recents_settings.cpp | ||
| recents_settings.h | ||
| servers_settings.cpp | ||
| servers_settings.h | ||
| settings_manager.cpp | ||
| settings_manager.h | ||
| settings_migration.cpp | ||
| settings_migration.h | ||
| sound_settings.cpp | ||
| sound_settings.h | ||
| tabs_settings.cpp | ||
| tabs_settings.h | ||
| updates_settings.cpp | ||
| updates_settings.h | ||
| visual_deck_storage_settings.cpp | ||
| visual_deck_storage_settings.h | ||