ankidroid / ankidroid/Anki-Android

Migrate Card Template Editor to Rust backend for atomic notetype updates

オープン
#19,956 コメント 9 件 リアクション 0 件 担当者 1 名 @xenonnn4w が担当を希望しています GitHub で見る
Anki Ecosystem Compatibility
主要言語
Kotlin
スター
11.8k
フォーク
2.9k
平均マージ
2日 3時間
マージ済み PR(30日)
171

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。