ankidroid / ankidroid/Anki-Android

Migrate Card Template Editor to Rust backend for atomic notetype updates

Offen
#19,956 9 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @xenonnn4w Auf GitHub ansehen
Anki Ecosystem Compatibility
Vorherrschende Sprache
Kotlin
Sterne
11.8k
Forks
2.9k
Ø Merge
2 T. 3 Std.
Gemergte PRs (30 T.)
171

Beschreibung

Migrate the Card Template Editor to use the Rust backend's atomic `updateNotetype()` API instead of the current legacy approach that uses individual `addTemplate()` / `removeTemplate()` / `updateDict()` calls.

The current implementation has an atomicity issue where templates can be persisted to the database even if the final save fails (here)
https://github.com/ankidroid/Anki-Android/blob/0f4f87e486c56236087fbcec37c8929173e67989/AnkiDroid/src/main/java/com/ichi2/anki/CardTemplateNotetype.kt#L122-L141
This can cause data corruption with duplicate card types (e.g., "Card 2+", "Card 3++") if the user adds templates, encounters a validation error, and discards changes.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.