Wanneer een gebruiker een correct antwoord invoert, verschijnt er kort een "Goed!"-melding voordat de volgende vraag wordt geladen.
Tijdens deze feedbackfase blijft het invoerveld echter actief. Hierdoor kan de gebruiker meerdere keren op Enter drukken, waardoor hetzelfde correcte antwoord meerdere keren wordt geregistreerd.
Open een woordenlijst.
Voer een correct antwoord in.
Druk herhaaldelijk op Enter terwijl de "Goed!"-melding zichtbaar is.
Observeer dat meerdere correcte antwoorden worden geregistreerd.
Gewenst gedrag:
Na het indienen van een antwoord moet verdere invoer tijdelijk worden geblokkeerd totdat de feedbackfase is afgelopen en de volgende vraag wordt geladen.
Mogelijke oplossing:
Introduceer een isSubmitting of isTransitioning statusflag.
Daarnaast kan het invoerveld tijdelijk worden uitgeschakeld tijdens de feedbackfase.
Wanneer een gebruiker een correct antwoord invoert, verschijnt er kort een "Goed!"-melding voordat de volgende vraag wordt geladen.
Tijdens deze feedbackfase blijft het invoerveld echter actief. Hierdoor kan de gebruiker meerdere keren op Enter drukken, waardoor hetzelfde correcte antwoord meerdere keren wordt geregistreerd.
Gevolgen:
Kunstmatig hoge scores mogelijk.
Verkeerde sessiestatistieken.
Onjuiste SRS-voortgang.
Mogelijke vervuiling van synchronisatiedata.
Reproductiestappen:
Open een woordenlijst.
Voer een correct antwoord in.
Druk herhaaldelijk op Enter terwijl de "Goed!"-melding zichtbaar is.
Observeer dat meerdere correcte antwoorden worden geregistreerd.
Gewenst gedrag:
Na het indienen van een antwoord moet verdere invoer tijdelijk worden geblokkeerd totdat de feedbackfase is afgelopen en de volgende vraag wordt geladen.
Mogelijke oplossing:
Introduceer een isSubmitting of isTransitioning statusflag.
Pseudo-code:
if (isTransitioning) return;
isTransitioning = true;
checkAnswer();
setTimeout(() => {
loadNextQuestion();
isTransitioning = false;
}, 1000);
Daarnaast kan het invoerveld tijdelijk worden uitgeschakeld tijdens de feedbackfase.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wanneer een gebruiker een correct antwoord invoert, verschijnt er kort een "Goed!"-melding voordat de volgende vraag wordt geladen.
Tijdens deze feedbackfase blijft het invoerveld echter actief. Hierdoor kan de gebruiker meerdere keren op Enter drukken, waardoor hetzelfde correcte antwoord meerdere keren wordt geregistreerd.
Gevolgen:
Kunstmatig hoge scores mogelijk.
Verkeerde sessiestatistieken.
Onjuiste SRS-voortgang.
Mogelijke vervuiling van synchronisatiedata.
Reproductiestappen:
Open een woordenlijst.
Voer een correct antwoord in.
Druk herhaaldelijk op Enter terwijl de "Goed!"-melding zichtbaar is.
Observeer dat meerdere correcte antwoorden worden geregistreerd.
Gewenst gedrag:
Na het indienen van een antwoord moet verdere invoer tijdelijk worden geblokkeerd totdat de feedbackfase is afgelopen en de volgende vraag wordt geladen.
Mogelijke oplossing:
Introduceer een isSubmitting of isTransitioning statusflag.
Pseudo-code:
if (isTransitioning) return;
isTransitioning = true;
checkAnswer();
setTimeout(() => {
loadNextQuestion();
isTransitioning = false;
}, 1000);
Daarnaast kan het invoerveld tijdelijk worden uitgeschakeld tijdens de feedbackfase.