Open snowtimeglass opened 1 week ago
@david-allison can I work on this?
Sure
Current error logs after reproducing the above steps :
E net.ankiweb.rsdroid.exceptions.BackendInvalidInputException: card was modified: Normal(
New(
NewState {
position: 15,
},
),
) Normal(
Learning(
LearnState {
remaining_steps: 1,
scheduled_secs: 600,
elapsed_secs: 15883707,
memory_state: None,
},
),
)
at net.ankiweb.rsdroid.exceptions.BackendInvalidInputException$Companion.fromInvalidInputError(BackendInvalidInputException.kt:37)
at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:114)
at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
at net.ankiweb.rsdroid.Backend.$r8$lambda$rLALQVYPlbbEmpwIB7kwMA6SO_U(Unknown Source:0)
at net.ankiweb.rsdroid.Backend$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
at anki.backend.GeneratedBackend.answerCardRaw(GeneratedBackend.kt:698)
at anki.backend.GeneratedBackend.answerCard(GeneratedBackend.kt:703)
at com.ichi2.libanki.sched.Scheduler.answerCard(Scheduler.kt:140)
at com.ichi2.anki.Reviewer.answerCardInner$lambda$10(Reviewer.kt:1071)
at com.ichi2.anki.Reviewer.$r8$lambda$LbgNo9oDBDuCvfjZjbS__zeJtMc(Unknown Source:0)
at com.ichi2.anki.Reviewer$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at com.ichi2.libanki.ChangeManagerKt.undoableOp$lambda$0(ChangeManager.kt:136)
at com.ichi2.libanki.ChangeManagerKt.$r8$lambda$nfOTnN_QmO6PfFJdkZgJou8q83U(Unknown Source:0)
at com.ichi2.libanki.ChangeManagerKt$$ExternalSyntheticLambda1.invoke(D8$$SyntheticClass:0)
at com.ichi2.anki.CollectionManager.withCol$lambda$1(CollectionManager.kt:114)
at com.ichi2.anki.CollectionManager.$r8$lambda$ffr4nUlMOyAvThaKA2WuJlnLaPU(Unknown Source:0)
at com.ichi2.anki.CollectionManager$$ExternalSyntheticLambda9.invoke(D8$$SyntheticClass:0)
at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:98)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
2024-09-23 21:51:56.044 9592-9592 CoroutineHelpersKt com.ichi2.anki.debug E at com.ichi2.anki.CoroutineHelpersKt.launchCatchingTask(CoroutineHelpers.kt:230)
at com.ichi2.anki.CoroutineHelpersKt.launchCatchingTask$default(CoroutineHelpers.kt:226)
at com.ichi2.anki.AbstractFlashcardViewer.answerCard$lambda$16(AbstractFlashcardViewer.kt:890)
at com.ichi2.anki.AbstractFlashcardViewer.$r8$lambda$cqQ2mllVMPsv5J3_TtTFKxUMg9E(Unknown Source:0)
at com.ichi2.anki.AbstractFlashcardViewer$$ExternalSyntheticLambda8.invoke(D8$$SyntheticClass:0)
at com.ichi2.anki.utils.OnlyOnce.preventSimultaneousExecutions(OnlyOnce.kt:45)
at com.ichi2.anki.AbstractFlashcardViewer.answerCard(AbstractFlashcardViewer.kt:889)
at com.ichi2.anki.AbstractFlashcardViewer$SelectEaseHandler.onClick(AbstractFlashcardViewer.kt:439)
at com.ichi2.anki.reviewer.EaseButton.setListeners$lambda$0(EaseButton.kt:70)
at com.ichi2.anki.reviewer.EaseButton.$r8$lambda$uIozAmA4u9kBcKK6Ps0s37STnQo(Unknown Source:0)
at com.ichi2.anki.reviewer.EaseButton$$ExternalSyntheticLambda1.onClick(D8$$SyntheticClass:0)
at android.view.View.performClick(View.java:7506)
at android.view.View.performClickInternal(View.java:7483)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:29357)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7884)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Checked for duplicates?
Does it also happen in the desktop version?
What are the steps to reproduce this bug?
Show a review card in Reviewer
(counterpart screen in Desktop)
"Reschedule" > "Reset progress" > "OK"
(then, a message, "1 card reset", is shown)
Result
The numbers of review cards and new cards are unchanged. (Supposedly, the card is still treated as a review card.)
Selecting an answer button causes an error
https://github.com/user-attachments/assets/1547c887-ef42-4e37-b90a-835987e62e78
Expected behaviour
The count number of review cards decreases by one, and the count number of new cards increases by one, as in the desktop version. (The cards is treated as a new card on the spot.)
Debug info
(Optional) Anything else you want to share?
No response
Research