Anki/rslib/src/deckconfig
Damien Elmes b73cb15888 Take another approach to dealing with conflicting flattened keys
The approach in #2542 unfortunately introduced a regression, as whilst
it ensured that duplicate keys are removed when downgrading, it no longer
prevented the duplicates from being removed when converting to a legacy
Schema11 object. This resulted in things like backend.get_notetype_legacy()
returning duplicate keys, and could break syncing:

https://forums.ankiweb.net/t/windows-desktop-sync-error/33128

As syncing and schema11 object usage is quite common compared to downgrading,
the extra Value deserialization seemed a bit expensive, so I've switched
back to explicitly removing the problem keys. To ensure we don't forget to
add new keys in the future, I've added some new tests that should alert us
whenever a newly-added key is missing from the reserved list.
2023-08-15 11:25:53 +10:00
..
mod.rs deckconfig.proto -> deck_config.proto 2023-07-03 13:44:54 +10:00
schema11.rs Take another approach to dealing with conflicting flattened keys 2023-08-15 11:25:53 +10:00
service.rs deckconfig.proto -> deck_config.proto 2023-07-03 13:44:54 +10:00
undo.rs Refactor error handling (#2136) 2022-10-21 18:02:12 +10:00
update.rs deckconfig.proto -> deck_config.proto 2023-07-03 13:44:54 +10:00