From b02952f3a84a5d8d7f5b37a28955493ecceb7bed Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Tue, 25 Aug 2026 14:23:41 -0700 Subject: [PATCH 01/21] Add spaced repetition backend: SM-2 scheduling, review + study_queue endpoints, deck annotations Implements docs/roadmap/07-spaced-repetition-study.md backend sections: - Flashcard scheduling fields (due_at, interval_days, ease, reps, lapses, last_reviewed_at) with due_at=now default so new cards are studyable immediately, including agent-created ones - Pure apply_sm2(card, rating, now) in bots/services/srs.py (Again/Hard/ Good/Easy), unit-tested and swappable; no math in the viewset - POST /api/decks/{deck_id}/flashcards/{id}/review/ reschedules via srs.py and writes a FlashcardReview log row - GET /api/decks/{deck_id}/study_queue/?mode=due|all&limit=N ordered by due_at asc (nulls last) - Deck list/detail serializers gain due_count + last_studied_at annotations - FlashcardViewSet now scopes lookups to the requesting user's decks and requires IsAuthenticated, so foreign decks 404 like every other resource - seed_e2e_spaced_repetition management command (idempotent) for Detox runs --- .../commands/seed_e2e_spaced_repetition.py | 103 ++++++ ...lashcard_due_at_flashcard_ease_and_more.py | 59 ++++ back/bots/models/__init__.py | 2 + back/bots/models/flashcard.py | 8 + back/bots/models/flashcard_review.py | 31 ++ back/bots/serializers/flashcard_serializer.py | 21 +- back/bots/services/srs.py | 96 ++++++ back/bots/tests/test_spaced_repetition_api.py | 301 ++++++++++++++++++ back/bots/tests/test_srs.py | 147 +++++++++ back/bots/viewsets/flashcard_viewset.py | 101 +++++- 10 files changed, 853 insertions(+), 16 deletions(-) create mode 100644 back/bots/management/commands/seed_e2e_spaced_repetition.py create mode 100644 back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py create mode 100644 back/bots/models/flashcard_review.py create mode 100644 back/bots/services/srs.py create mode 100644 back/bots/tests/test_spaced_repetition_api.py create mode 100644 back/bots/tests/test_srs.py diff --git a/back/bots/management/commands/seed_e2e_spaced_repetition.py b/back/bots/management/commands/seed_e2e_spaced_repetition.py new file mode 100644 index 00000000..f7d5a394 --- /dev/null +++ b/back/bots/management/commands/seed_e2e_spaced_repetition.py @@ -0,0 +1,103 @@ +"""Seed deterministic data for the spaced repetition Detox e2e flow. + +Creates (idempotently): + - parent user e2e-test-user / testpassword123 + - one profile and one bot for that user + - deck "Cell Bio" with 8 cards: 6 due (3 overdue + 3 brand new) and + 2 not-yet-due + +Re-running resets the deck's scheduling state to this exact layout, so the +e2e suite always starts from the same queue. + +Usage: python manage.py seed_e2e_spaced_repetition +""" + +from datetime import timedelta + +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand +from django.utils import timezone + +from bots.models import AiModel, Bot, Deck, Flashcard, Profile + +USERNAME = 'e2e-test-user' +PASSWORD = 'testpassword123' +DECK_NAME = 'Cell Bio' + +# front -> scheduling state at seed time +CARDS = [ + # Due now (overdue): the e2e run rates these. + ('What is anaphase?', 'Sister chromatids separate and move to opposite poles', 'due'), + ('Define osmosis', 'Diffusion of water across a semipermeable membrane', 'due'), + ('What organelle makes ATP?', 'The mitochondrion', 'due'), + # Not due yet: must be skipped by the due queue. + ('What is mitosis?', 'Cell division producing two identical daughter cells', 'future'), + ('Function of ribosomes', 'Protein synthesis', 'future'), + # Never reviewed, due immediately by default. + ('What is a cell membrane?', 'The phospholipid bilayer enclosing the cell', 'new'), + ('Define photosynthesis', 'Conversion of light energy into chemical energy (glucose)', 'new'), + ('What does DNA stand for?', 'Deoxyribonucleic acid', 'new'), +] + + +class Command(BaseCommand): + help = 'Seed idempotent e2e data for spaced repetition study flows' + + def handle(self, *args, **options): + user, user_created = User.objects.get_or_create( + username=USERNAME, + defaults={'email': f'{USERNAME}@example.com'}, + ) + if user_created or not user.check_password(PASSWORD): + user.set_password(PASSWORD) + user.save() + + profile, _ = Profile.objects.get_or_create(user=user, name='E2E Test Profile') + + ai_model = AiModel.objects.order_by('pk').first() + bot, _ = Bot.objects.get_or_create( + user=user, + name='E2E Test Bot', + defaults={'ai_model': ai_model}, + ) + + deck, _ = Deck.objects.get_or_create( + profile=profile, + name=DECK_NAME, + defaults={'description': 'Seeded deck for spaced repetition e2e tests'}, + ) + + now = timezone.now() + created_cards = 0 + for order, (front, back, state) in enumerate(CARDS): + card, card_created = Flashcard.objects.get_or_create( + deck=deck, + front=front, + defaults={'back': back, 'order': order}, + ) + if card_created: + created_cards += 1 + + # Reset scheduling every run so repeated seeds converge. + card.back = back + card.order = order + card.ease = 2.5 + card.interval_days = 0 + card.reps = 0 + card.lapses = 0 + card.last_reviewed_at = None + if state == 'due': + card.due_at = now - timedelta(days=1) + elif state == 'future': + card.due_at = now + timedelta(days=7) + else: # new + card.due_at = now + card.save() + + due_count = Flashcard.objects.filter(deck=deck, due_at__lte=now).count() + self.stdout.write(self.style.SUCCESS( + f"E2E seed complete: user={user.username} (created={user_created}) " + f"profile_id={profile.profile_id} bot_id={bot.bot_id} " + f"deck_id={deck.deck_id} cards={Flashcard.objects.filter(deck=deck).count()} " + f"(new={created_cards}) due_now={due_count}" + )) diff --git a/back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py b/back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py new file mode 100644 index 00000000..fd4a1bc3 --- /dev/null +++ b/back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py @@ -0,0 +1,59 @@ +# Generated by Django 6.0.4 on 2026-08-25 21:12 + +import django.db.models.deletion +import django.utils.timezone +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bots', '0038_alter_aimodel_options_alter_device_options'), + ] + + operations = [ + migrations.AddField( + model_name='flashcard', + name='due_at', + field=models.DateTimeField(blank=True, db_index=True, default=django.utils.timezone.now, null=True), + ), + migrations.AddField( + model_name='flashcard', + name='ease', + field=models.FloatField(default=2.5), + ), + migrations.AddField( + model_name='flashcard', + name='interval_days', + field=models.FloatField(default=0), + ), + migrations.AddField( + model_name='flashcard', + name='lapses', + field=models.PositiveIntegerField(default=0), + ), + migrations.AddField( + model_name='flashcard', + name='last_reviewed_at', + field=models.DateTimeField(blank=True, null=True), + ), + migrations.AddField( + model_name='flashcard', + name='reps', + field=models.PositiveIntegerField(default=0), + ), + migrations.CreateModel( + name='FlashcardReview', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('rating', models.CharField(choices=[('again', 'Again'), ('hard', 'Hard'), ('good', 'Good'), ('easy', 'Easy')], max_length=8)), + ('reviewed_at', models.DateTimeField(auto_now_add=True)), + ('flashcard', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='bots.flashcard')), + ('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='flashcard_reviews', to='bots.profile')), + ], + options={ + 'ordering': ['reviewed_at'], + 'indexes': [models.Index(fields=['profile', 'reviewed_at'], name='bots_flashc_profile_c2f806_idx'), models.Index(fields=['flashcard', '-reviewed_at'], name='bots_flashc_flashca_f96eaf_idx')], + }, + ), + ] diff --git a/back/bots/models/__init__.py b/back/bots/models/__init__.py index a92a6c66..46d1f095 100644 --- a/back/bots/models/__init__.py +++ b/back/bots/models/__init__.py @@ -4,6 +4,7 @@ from .deck import Deck from .device import Device from .flashcard import Flashcard +from .flashcard_review import FlashcardReview from .message import Message from .profile import Profile from .safety_event import SafetyEvent @@ -17,6 +18,7 @@ 'Deck', 'Device', 'Flashcard', + 'FlashcardReview', 'Message', 'Profile', 'RevenueCatWebhookEvent', diff --git a/back/bots/models/flashcard.py b/back/bots/models/flashcard.py index 36d13965..1e9fd287 100644 --- a/back/bots/models/flashcard.py +++ b/back/bots/models/flashcard.py @@ -1,6 +1,7 @@ import uuid from django.db import models +from django.utils import timezone class Flashcard(models.Model): @@ -9,6 +10,13 @@ class Flashcard(models.Model): front = models.TextField() back = models.TextField() order = models.PositiveIntegerField(default=0) + # Spaced repetition scheduling (SM-2 style). New cards are due immediately. + due_at = models.DateTimeField(null=True, blank=True, db_index=True, default=timezone.now) + interval_days = models.FloatField(default=0) + ease = models.FloatField(default=2.5) + reps = models.PositiveIntegerField(default=0) + lapses = models.PositiveIntegerField(default=0) + last_reviewed_at = models.DateTimeField(null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) diff --git a/back/bots/models/flashcard_review.py b/back/bots/models/flashcard_review.py new file mode 100644 index 00000000..e6d07ec0 --- /dev/null +++ b/back/bots/models/flashcard_review.py @@ -0,0 +1,31 @@ +from django.db import models + + +class FlashcardReview(models.Model): + """One row per rating a learner gives a card during study. + + Enables streaks and parent activity summaries ("studied 20 cards") + without scanning scheduling fields on the cards themselves. + """ + + RATING_CHOICES = [ + ('again', 'Again'), + ('hard', 'Hard'), + ('good', 'Good'), + ('easy', 'Easy'), + ] + + flashcard = models.ForeignKey('Flashcard', on_delete=models.CASCADE, related_name='reviews') + profile = models.ForeignKey('Profile', on_delete=models.CASCADE, related_name='flashcard_reviews') + rating = models.CharField(max_length=8, choices=RATING_CHOICES) + reviewed_at = models.DateTimeField(auto_now_add=True) + + class Meta: + ordering = ['reviewed_at'] + indexes = [ + models.Index(fields=['profile', 'reviewed_at']), + models.Index(fields=['flashcard', '-reviewed_at']), + ] + + def __str__(self): + return f"{self.flashcard_id}: {self.rating} at {self.reviewed_at}" diff --git a/back/bots/serializers/flashcard_serializer.py b/back/bots/serializers/flashcard_serializer.py index 5da3426d..46b43f00 100644 --- a/back/bots/serializers/flashcard_serializer.py +++ b/back/bots/serializers/flashcard_serializer.py @@ -14,12 +14,18 @@ class FlashcardSerializer(serializers.ModelSerializer): class Meta: model = Flashcard - fields = ['id', 'flashcard_id', 'deck', 'front', 'back', 'order', 'created_at', 'updated_at'] + fields = [ + 'id', 'flashcard_id', 'deck', 'front', 'back', 'order', + 'due_at', 'interval_days', 'ease', 'reps', 'lapses', + 'last_reviewed_at', 'created_at', 'updated_at', + ] class DeckSerializer(serializers.ModelSerializer): flashcards = FlashcardSerializer(many=True, read_only=True) card_count = serializers.IntegerField(read_only=True, source='flashcard_count') + due_count = serializers.IntegerField(read_only=True) + last_studied_at = serializers.DateTimeField(read_only=True) profile = serializers.SlugRelatedField( queryset=Profile.objects.all(), slug_field='profile_id', @@ -33,12 +39,21 @@ class DeckSerializer(serializers.ModelSerializer): class Meta: model = Deck - fields = ['id', 'deck_id', 'profile', 'chat', 'name', 'description', 'flashcards', 'card_count', 'created_at', 'updated_at'] + fields = [ + 'id', 'deck_id', 'profile', 'chat', 'name', 'description', + 'flashcards', 'card_count', 'due_count', 'last_studied_at', + 'created_at', 'updated_at', + ] class DeckListSerializer(serializers.ModelSerializer): card_count = serializers.IntegerField(read_only=True, source='flashcard_count') + due_count = serializers.IntegerField(read_only=True) + last_studied_at = serializers.DateTimeField(read_only=True) class Meta: model = Deck - fields = ['id', 'deck_id', 'name', 'description', 'card_count', 'created_at', 'updated_at'] \ No newline at end of file + fields = [ + 'id', 'deck_id', 'name', 'description', 'card_count', + 'due_count', 'last_studied_at', 'created_at', 'updated_at', + ] \ No newline at end of file diff --git a/back/bots/services/srs.py b/back/bots/services/srs.py new file mode 100644 index 00000000..f9146304 --- /dev/null +++ b/back/bots/services/srs.py @@ -0,0 +1,96 @@ +"""Spaced repetition scheduling (SM-2 style) for flashcard reviews. + +The math lives here as a pure function so it is unit-testable and +swappable β€” viewsets must not inline scheduling logic. +""" +from datetime import timedelta + +from django.utils import timezone + +RATINGS = ('again', 'hard', 'good', 'easy') + +# Minimum ease factor (classic SM-2 floor). +MIN_EASE = 1.3 +# Default ease for new cards. +DEFAULT_EASE = 2.5 +# First interval (days) after learning a new card with Good/Good. +FIRST_INTERVAL_DAYS = 1 +# Second interval (days). +SECOND_INTERVAL_DAYS = 6 +# Interval (days) after an "Again" lapse; ~4 hours so the card comes +# back the same day without re-entering the current session queue. +LAPSE_INTERVAL_DAYS = 1 / 6 +# Ease adjustments per rating. +EASE_DELTA = { + 'again': -0.2, + 'hard': -0.15, + 'good': 0.0, + 'easy': +0.15, +} +# Multiplier applied to the "good" interval for an "easy" rating. +EASY_BONUS = 1.3 +# Multiplier for a "hard" review of a card already in review. +HARD_MULTIPLIER = 1.2 + + +def apply_sm2(card, rating, now=None): + """Return updated scheduling fields for `card` after a review. + + Pure: does not mutate or save `card`. Accepts any object exposing + ``interval_days``, ``ease``, ``reps`` and ``lapses`` attributes + (a Flashcard works directly). Returns a dict with: + + due_at, interval_days, ease, reps, lapses, last_reviewed_at + + Sketch: + again: reset reps, bump lapses, short same-day interval, + ease down (floored at MIN_EASE) + hard: interval = max(1, interval * 1.2), ease down + good: 1 day -> 6 days -> interval * ease; reps += 1 + easy: like good * 1.3, ease up; reps += 1 + """ + if rating not in RATINGS: + raise ValueError(f"Invalid rating: {rating!r}. Expected one of {RATINGS}") + + now = now or timezone.now() + + interval_days = float(getattr(card, 'interval_days', 0) or 0) + ease = float(getattr(card, 'ease', DEFAULT_EASE)) + reps = int(getattr(card, 'reps', 0) or 0) + lapses = int(getattr(card, 'lapses', 0) or 0) + + if rating == 'again': + # Lapse: relearn from scratch. + reps = 0 + lapses += 1 + interval_days = LAPSE_INTERVAL_DAYS + elif rating == 'hard': + interval_days = max(FIRST_INTERVAL_DAYS, interval_days * HARD_MULTIPLIER) + elif rating == 'good': + if reps == 0: + interval_days = FIRST_INTERVAL_DAYS + elif reps == 1: + interval_days = SECOND_INTERVAL_DAYS + else: + interval_days = interval_days * ease + reps += 1 + else: # easy + if reps == 0: + interval_days = FIRST_INTERVAL_DAYS + elif reps == 1: + interval_days = SECOND_INTERVAL_DAYS + else: + interval_days = interval_days * ease + interval_days *= EASY_BONUS + reps += 1 + + ease = max(MIN_EASE, ease + EASE_DELTA[rating]) + + return { + 'due_at': now + timedelta(days=interval_days), + 'interval_days': interval_days, + 'ease': ease, + 'reps': reps, + 'lapses': lapses, + 'last_reviewed_at': now, + } diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py new file mode 100644 index 00000000..e9bb4900 --- /dev/null +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -0,0 +1,301 @@ +from datetime import datetime, timedelta + +import pytest +from django.contrib.auth.models import User +from django.utils import timezone +from rest_framework.test import APIClient +from rest_framework_simplejwt.tokens import RefreshToken + +from bots.models import Deck, Flashcard, FlashcardReview, Profile + + +@pytest.fixture +def api_client(): + return APIClient() + + +@pytest.fixture +def test_user(db): + return User.objects.create_user( + username='srs-user', + email='srs@example.com', + password='testpass123', + ) + + +@pytest.fixture +def other_user(db): + return User.objects.create_user( + username='other-srs-user', + email='other-srs@example.com', + password='testpass123', + ) + + +@pytest.fixture +def test_profile(test_user): + return Profile.objects.create(user=test_user, name='SRS Profile') + + +@pytest.fixture +def auth_client(api_client, test_user): + refresh = RefreshToken.for_user(test_user) + api_client.credentials(HTTP_AUTHORIZATION=f'Bearer {refresh.access_token}') + return api_client + + +@pytest.fixture +def deck(test_profile, db): + return Deck.objects.create(profile=test_profile, name='Cell Bio') + + +def make_card(deck, order=0, **scheduling): + return Flashcard.objects.create( + deck=deck, + front=f'Front {order}', + back=f'Back {order}', + order=order, + **scheduling, + ) + + +@pytest.mark.django_db +class TestReviewEndpoint: + def test_review_good_updates_scheduling(self, auth_client, deck): + card = make_card(deck) + before = timezone.now() + + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'good'}, + ) + + assert response.status_code == 200 + data = response.json() + due_at = datetime.fromisoformat(data['due_at']) + assert data['reps'] == 1 + assert data['interval_days'] == 1 + assert due_at > before + + card.refresh_from_db() + assert card.reps == 1 + assert card.interval_days == 1 + assert card.last_reviewed_at is not None + assert card.due_at is not None + + def test_review_again_increments_lapses_and_resets_reps(self, auth_client, deck): + card = make_card(deck, reps=3, interval_days=10) + + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'again'}, + ) + + assert response.status_code == 200 + data = response.json() + assert data['lapses'] == 1 + assert data['reps'] == 0 + # Due again within hours (same-day relearn). + assert datetime.fromisoformat(data['due_at']) < timezone.now() + timedelta(days=1) + @pytest.mark.parametrize('rating', ['again', 'hard', 'good', 'easy']) + def test_review_accepts_all_ratings(self, auth_client, deck, rating): + card = make_card(deck) + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': rating}, + ) + assert response.status_code == 200 + assert response.json()['last_reviewed_at'] is not None + + def test_review_invalid_rating_returns_400(self, auth_client, deck): + card = make_card(deck) + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'ok'}, + ) + assert response.status_code == 400 + card.refresh_from_db() + assert card.last_reviewed_at is None + + def test_review_missing_rating_returns_400(self, auth_client, deck): + card = make_card(deck) + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {}, + ) + assert response.status_code == 400 + + def test_review_other_users_deck_returns_404(self, api_client, other_user, deck): + refresh = RefreshToken.for_user(other_user) + api_client.credentials(HTTP_AUTHORIZATION=f'Bearer {refresh.access_token}') + card = make_card(deck) + + response = api_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'good'}, + ) + assert response.status_code == 404 + card.refresh_from_db() + assert card.last_reviewed_at is None + + def test_review_requires_authentication(self, api_client, deck): + card = make_card(deck) + response = api_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'good'}, + ) + assert response.status_code == 401 + + def test_review_creates_review_log(self, auth_client, test_profile, deck): + card = make_card(deck) + auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review/', + {'rating': 'easy'}, + ) + review = FlashcardReview.objects.get(flashcard=card) + assert review.rating == 'easy' + assert review.profile == test_profile + assert review.reviewed_at is not None + + +@pytest.mark.django_db +class TestStudyQueue: + def test_new_cards_appear_in_due_queue(self, auth_client, deck): + # Default due_at=now makes fresh cards immediately studyable. + card = make_card(deck) + response = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/') + assert response.status_code == 200 + results = response.json() + assert [c['flashcard_id'] for c in results] == [str(card.flashcard_id)] + + def test_due_mode_excludes_future_cards(self, auth_client, deck): + overdue = make_card(deck, order=0, due_at=timezone.now() - timedelta(days=2)) + future = make_card(deck, order=1, due_at=timezone.now() + timedelta(days=3)) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() + + ids = [c['flashcard_id'] for c in results] + assert str(overdue.flashcard_id) in ids + assert str(future.flashcard_id) not in ids + + def test_all_mode_includes_future_cards(self, auth_client, deck): + overdue = make_card(deck, order=0, due_at=timezone.now() - timedelta(days=2)) + future = make_card(deck, order=1, due_at=timezone.now() + timedelta(days=3)) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?mode=all').json() + + ids = [c['flashcard_id'] for c in results] + assert set(ids) == {str(overdue.flashcard_id), str(future.flashcard_id)} + + def test_queue_ordered_by_due_at_ascending(self, auth_client, deck): + later = make_card(deck, order=0, due_at=timezone.now() + timedelta(hours=2)) + sooner = make_card(deck, order=1, due_at=timezone.now() - timedelta(hours=2)) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?mode=all').json() + + assert [c['flashcard_id'] for c in results] == [ + str(sooner.flashcard_id), + str(later.flashcard_id), + ] + + def test_null_due_at_sorts_last_in_all_mode(self, auth_client, deck): + scheduled = make_card(deck, order=0, due_at=timezone.now() - timedelta(days=1)) + unscheduled = make_card(deck, order=1, due_at=None) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?mode=all').json() + + assert [c['flashcard_id'] for c in results] == [ + str(scheduled.flashcard_id), + str(unscheduled.flashcard_id), + ] + # Null-due cards are not "due", so they stay out of due mode. + due_results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() + assert [c['flashcard_id'] for c in due_results] == [str(scheduled.flashcard_id)] + + def test_limit_param(self, auth_client, deck): + for i in range(5): + make_card(deck, order=i, due_at=timezone.now() - timedelta(days=1)) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?limit=3').json() + assert len(results) == 3 + + def test_invalid_mode_returns_400(self, auth_client, deck): + response = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?mode=bogus') + assert response.status_code == 400 + + def test_queue_due_filter_respects_timezone(self, auth_client, deck): + """due_at values are timezone-aware (stored UTC); the due filter must + compare correctly no matter which zone was used to construct them. + Without freeze_time we pin cards far in the past/future instead.""" + from datetime import datetime + + try: + from zoneinfo import ZoneInfo + tz = ZoneInfo('America/New_York') + except ImportError: # pragma: no cover + import pytz + tz = pytz.timezone('America/New_York') + + long_overdue = make_card( + deck, order=0, + due_at=datetime(2020, 1, 1, 12, 0, tzinfo=tz), # 17:00 UTC + ) + far_future = make_card( + deck, order=1, + due_at=datetime(2099, 6, 15, 9, 0, tzinfo=tz), + ) + + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() + ids = [c['flashcard_id'] for c in results] + assert ids == [str(long_overdue.flashcard_id)] + assert str(far_future.flashcard_id) not in ids + + def test_study_queue_other_users_deck_returns_404(self, api_client, other_user, deck): + refresh = RefreshToken.for_user(other_user) + api_client.credentials(HTTP_AUTHORIZATION=f'Bearer {refresh.access_token}') + response = api_client.get(f'/api/decks/{deck.deck_id}/study_queue/') + assert response.status_code == 404 + + def test_study_queue_includes_scheduling_fields(self, auth_client, deck): + make_card(deck, ease=2.1, reps=4, lapses=1, interval_days=12.5) + results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() + card = results[0] + for field in ('due_at', 'interval_days', 'ease', 'reps', 'lapses', 'last_reviewed_at'): + assert field in card + assert card['ease'] == 2.1 + assert card['reps'] == 4 + + +@pytest.mark.django_db +class TestDeckAnnotations: + def test_deck_list_includes_due_count_and_last_studied(self, auth_client, test_profile, deck): + studied = make_card( + deck, order=0, + due_at=timezone.now() + timedelta(days=2), + last_reviewed_at=timezone.now() - timedelta(hours=2), + ) + make_card(deck, order=1, due_at=timezone.now() - timedelta(hours=1)) + + response = auth_client.get(f'/api/decks.json?profileId={test_profile.profile_id}') + assert response.status_code == 200 + row = next(d for d in response.json()['results'] if d['deck_id'] == str(deck.deck_id)) + + assert row['due_count'] == 1 + last_studied = datetime.fromisoformat(row['last_studied_at']) + assert abs((timezone.now() - last_studied).total_seconds()) < 3 * 3600 + + def test_deck_detail_includes_due_count(self, auth_client, deck): + make_card(deck, order=0, due_at=timezone.now() - timedelta(hours=1)) + make_card(deck, order=1, due_at=timezone.now() + timedelta(days=1)) + + response = auth_client.get(f'/api/decks/{deck.deck_id}/') + assert response.status_code == 200 + assert response.json()['due_count'] == 1 + + def test_unstudied_deck_has_zero_due_count_and_no_last_studied(self, auth_client, deck): + # Freshly-created cards are immediately due (default due_at=now). + make_card(deck) + response = auth_client.get(f'/api/decks/{deck.deck_id}/') + data = response.json() + assert data['due_count'] == 1 + assert data['last_studied_at'] is None diff --git a/back/bots/tests/test_srs.py b/back/bots/tests/test_srs.py new file mode 100644 index 00000000..778ff6cd --- /dev/null +++ b/back/bots/tests/test_srs.py @@ -0,0 +1,147 @@ +from datetime import timedelta + +import pytest +from django.utils import timezone as dj_timezone + +from bots.services.srs import ( + DEFAULT_EASE, + EASY_BONUS, + FIRST_INTERVAL_DAYS, + LAPSE_INTERVAL_DAYS, + MIN_EASE, + SECOND_INTERVAL_DAYS, + apply_sm2, +) + + +class FakeCard: + """Minimal stand-in for Flashcard; apply_sm2 only reads attributes.""" + + def __init__(self, interval_days=0, ease=DEFAULT_EASE, reps=0, lapses=0): + self.interval_days = interval_days + self.ease = ease + self.reps = reps + self.lapses = lapses + + +NOW = dj_timezone.now().replace(microsecond=0) + + +def expected_due(interval_days, now=NOW): + return now + timedelta(days=interval_days) + + +class TestApplySm2NewCard: + """Table of ratings applied to a brand-new card (reps=0).""" + + def test_new_card_good(self): + fields = apply_sm2(FakeCard(), 'good', NOW) + assert fields['interval_days'] == FIRST_INTERVAL_DAYS + assert fields['reps'] == 1 + assert fields['lapses'] == 0 + assert fields['ease'] == DEFAULT_EASE + assert fields['due_at'] == expected_due(FIRST_INTERVAL_DAYS) + assert fields['last_reviewed_at'] == NOW + + def test_new_card_easy_is_longer_than_good(self): + good = apply_sm2(FakeCard(), 'good', NOW) + easy = apply_sm2(FakeCard(), 'easy', NOW) + assert easy['interval_days'] == FIRST_INTERVAL_DAYS * EASY_BONUS + assert easy['interval_days'] > good['interval_days'] + assert easy['ease'] == DEFAULT_EASE + 0.15 + + def test_new_card_hard_gets_minimum_one_day(self): + fields = apply_sm2(FakeCard(), 'hard', NOW) + assert fields['interval_days'] == 1 # max(1, 0 * 1.2) + assert fields['reps'] == 0 + assert fields['ease'] == pytest.approx(DEFAULT_EASE - 0.15) + + def test_new_card_again_lapses(self): + fields = apply_sm2(FakeCard(), 'again', NOW) + assert fields['reps'] == 0 + assert fields['lapses'] == 1 + assert fields['interval_days'] == LAPSE_INTERVAL_DAYS + # Same-day relearn: due again in a few hours, well before tomorrow. + assert fields['due_at'] == expected_due(LAPSE_INTERVAL_DAYS) + assert fields['due_at'] < NOW + timedelta(days=1) + assert fields['ease'] == pytest.approx(DEFAULT_EASE - 0.2) + + +class TestApplySm2Progression: + """Good/Good stepping and longer-interval behaviour.""" + + def test_second_good_six_days(self): + card = FakeCard(interval_days=1, reps=1) + fields = apply_sm2(card, 'good', NOW) + assert fields['interval_days'] == SECOND_INTERVAL_DAYS + assert fields['reps'] == 2 + + def test_third_good_uses_ease(self): + card = FakeCard(interval_days=6, ease=2.5, reps=2) + fields = apply_sm2(card, 'good', NOW) + assert fields['interval_days'] == 6 * 2.5 + assert fields['reps'] == 3 + + def test_easy_multiplies_good_interval(self): + card = FakeCard(interval_days=6, ease=2.5, reps=2) + fields = apply_sm2(card, 'easy', NOW) + assert fields['interval_days'] == pytest.approx(6 * 2.5 * EASY_BONUS) + + def test_hard_grows_interval_slowly(self): + card = FakeCard(interval_days=10, ease=2.5, reps=3) + fields = apply_sm2(card, 'hard', NOW) + assert fields['interval_days'] == 10 * 1.2 + + def test_hard_does_not_increment_reps(self): + card = FakeCard(interval_days=10, reps=3) + fields = apply_sm2(card, 'hard', NOW) + assert fields['reps'] == 3 + + +class TestApplySm2Lapse: + def test_again_resets_progress(self): + card = FakeCard(interval_days=30, ease=2.5, reps=5, lapses=0) + fields = apply_sm2(card, 'again', NOW) + # Learning state resets: next Good starts over at 1 day. + assert fields['reps'] == 0 + assert fields['lapses'] == 1 + restarted = apply_sm2(FakeCard(**{ + 'interval_days': fields['interval_days'], + 'ease': fields['ease'], + 'reps': fields['reps'], + 'lapses': fields['lapses'], + }), 'good', NOW) + assert restarted['interval_days'] == FIRST_INTERVAL_DAYS + + +class TestEaseFloor: + @pytest.mark.parametrize('rating,delta', [ + ('again', -0.2), + ('hard', -0.15), + ]) + def test_ease_never_drops_below_min(self, rating, delta): + card = FakeCard(ease=MIN_EASE) + fields = apply_sm2(card, rating, NOW) + assert fields['ease'] == MIN_EASE + + def test_repeated_again_keeps_floor(self): + card = FakeCard(ease=1.35) + first = apply_sm2(card, 'again', NOW) + second = apply_sm2(FakeCard(ease=first['ease'], lapses=1), 'again', NOW) + assert second['ease'] == MIN_EASE + + +class TestInvalidInput: + @pytest.mark.parametrize('rating', ['', 'Again', 'GOOD', 'ok', None, 3]) + def test_invalid_rating_raises(self, rating): + with pytest.raises(ValueError): + apply_sm2(FakeCard(), rating, NOW) + + +class TestPurity: + def test_does_not_mutate_card(self): + card = FakeCard(interval_days=6, ease=2.5, reps=2) + apply_sm2(card, 'good', NOW) + assert card.interval_days == 6 + assert card.reps == 2 + assert card.ease == 2.5 diff --git a/back/bots/viewsets/flashcard_viewset.py b/back/bots/viewsets/flashcard_viewset.py index 04c75d63..ded69050 100644 --- a/back/bots/viewsets/flashcard_viewset.py +++ b/back/bots/viewsets/flashcard_viewset.py @@ -1,26 +1,34 @@ import uuid -from django.db.models import Count, Max -from rest_framework import viewsets - -from bots.models import Deck, Flashcard, Profile +from django.db.models import Count, F, Max, Q +from django.utils import timezone +from rest_framework import status, viewsets +from rest_framework.decorators import action +from rest_framework.permissions import IsAuthenticated +from rest_framework.response import Response + +from bots.models import Deck, Flashcard, FlashcardReview, Profile from bots.permissions import IsOwner from bots.serializers import DeckListSerializer, DeckSerializer, FlashcardSerializer +from bots.services import srs from bots.tokens import delegated_profile_from_auth, is_teen_delegated from bots.viewsets.mixins import get_object_by_uuid_or_id class FlashcardViewSet(viewsets.ModelViewSet): - permission_classes = [IsOwner] + permission_classes = [IsAuthenticated, IsOwner] serializer_class = FlashcardSerializer queryset = Flashcard.objects.all() lookup_field = "flashcard_id" lookup_url_kwarg = "flashcardId" - def _deck_queryset(self): - """Decks visible to this request: scoped to the claimed profile for - teen-delegated sessions so they cannot reach a sibling's decks.""" - queryset = Deck.objects.all() + def _owned_decks(self): + """Decks visible to this request: owned by the requesting user, and + scoped to the claimed profile for teen-delegated sessions so they + cannot reach a sibling's decks.""" + if not self.request.user.is_authenticated: + return Deck.objects.none() + queryset = Deck.objects.filter(profile__user=self.request.user) delegated_profile = delegated_profile_from_auth(self.request.auth) if delegated_profile is not None: queryset = queryset.filter(profile=delegated_profile) @@ -31,7 +39,9 @@ def _deck_queryset(self): def get_queryset(self): deck_id = self.kwargs['deck_pk'] - deck = get_object_by_uuid_or_id(self._deck_queryset(), 'deck_id', deck_id) + # Scope to decks owned by the requesting user so foreign decks 404 + # instead of leaking existence. + deck = get_object_by_uuid_or_id(self._owned_decks(), 'deck_id', deck_id) self.check_object_permissions(self.request, deck) @@ -41,7 +51,7 @@ def get_object(self): lookup_field_value = self.kwargs[self.lookup_url_kwarg] deck_pk = self.kwargs['deck_pk'] - deck = get_object_by_uuid_or_id(self._deck_queryset(), 'deck_id', deck_pk) + deck = get_object_by_uuid_or_id(self._owned_decks(), 'deck_id', deck_pk) flashcard = get_object_by_uuid_or_id( Flashcard.objects.filter(deck=deck), 'flashcard_id', lookup_field_value ) @@ -52,13 +62,38 @@ def get_object(self): def perform_create(self, serializer): deck_id = self.kwargs['deck_pk'] - deck = get_object_by_uuid_or_id(self._deck_queryset(), 'deck_id', deck_id) + deck = get_object_by_uuid_or_id(self._owned_decks(), 'deck_id', deck_id) self.check_object_permissions(self.request, deck) max_order = Flashcard.objects.filter(deck=deck).aggregate(Max('order'))['order__max'] or -1 serializer.save(deck=deck, order=max_order + 1) + @action(detail=True, methods=['post'], url_path='review') + def review(self, request, deck_pk=None, flashcardId=None): + """Rate a card (again|hard|good|easy) and reschedule it via SM-2.""" + flashcard = self.get_object() + + rating = request.data.get('rating') + if rating not in srs.RATINGS: + return Response( + {'rating': f"Invalid rating. Expected one of: {', '.join(srs.RATINGS)}"}, + status=status.HTTP_400_BAD_REQUEST, + ) + + updates = srs.apply_sm2(flashcard, rating) + for field, value in updates.items(): + setattr(flashcard, field, value) + flashcard.save(update_fields=list(updates.keys()) + ['updated_at']) + + FlashcardReview.objects.create( + flashcard=flashcard, + profile=flashcard.deck.profile, + rating=rating, + ) + + return Response(FlashcardSerializer(flashcard).data) + class DeckViewSet(viewsets.ModelViewSet): permission_classes = [IsOwner] @@ -85,7 +120,12 @@ def get_queryset(self): except ValueError: queryset = queryset.none() - return queryset.annotate(flashcard_count=Count('flashcards')).order_by('-created_at') + now = timezone.now() + return queryset.annotate( + flashcard_count=Count('flashcards'), + due_count=Count('flashcards', filter=Q(flashcards__due_at__lte=now)), + last_studied_at=Max('flashcards__last_reviewed_at'), + ).order_by('-created_at') def get_serializer_class(self): if self.action == 'list': @@ -145,3 +185,38 @@ def perform_update(self, serializer): def perform_destroy(self, instance): instance.delete() + + @action(detail=True, methods=['get'], url_path='study_queue') + def study_queue(self, request, pk=None): + """Cards to study, ordered by due_at ascending (nulls last). + + Query params: + mode: 'due' (default) only cards due now, or 'all' + limit: max cards returned (default 50, capped at 200) + """ + deck = self.get_object() + + mode = request.query_params.get('mode', 'due') + if mode not in ('due', 'all'): + return Response( + {'mode': "Invalid mode. Expected 'due' or 'all'"}, + status=status.HTTP_400_BAD_REQUEST, + ) + + queryset = deck.flashcards.all() + if mode == 'due': + queryset = queryset.filter(due_at__lte=timezone.now()) + + queryset = queryset.order_by( + F('due_at').asc(nulls_last=True), 'order', 'created_at' + ) + + try: + limit = int(request.query_params.get('limit', 50)) + except (TypeError, ValueError): + return Response({'limit': 'Invalid limit'}, status=status.HTTP_400_BAD_REQUEST) + limit = max(1, min(limit, 200)) + queryset = queryset[:limit] + + serializer = FlashcardSerializer(queryset, many=True) + return Response(serializer.data) From 6156ebcf47a39c743e23e1b31757fdb53ae7ceaa Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Tue, 25 Aug 2026 14:35:30 -0700 Subject: [PATCH 02/21] feat: complete implementation per roadmap doc 07 --- front/api/flashcards.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/front/api/flashcards.ts b/front/api/flashcards.ts index 8d80930f..493fa4b6 100644 --- a/front/api/flashcards.ts +++ b/front/api/flashcards.ts @@ -20,6 +20,8 @@ export interface Deck { description: string; flashcards: Flashcard[]; card_count: number; + due_count?: number; + last_studied_at?: string | null; created_at: string; updated_at: string; } From 0566ef8d70ff77aca8cb0f4d2d483e9f209e4645 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Tue, 25 Aug 2026 14:38:44 -0700 Subject: [PATCH 03/21] Spaced repetition study UX: flip animation, Again/Hard/Good/Easy ratings, due badges Implements docs/roadmap/07-spaced-repetition-study.md frontend sections: - flashcards/study.tsx: study queue via GET study_queue?mode=due with 'Study all anyway' fallback, rotateY flip animation, rating row (Again/Hard/Good/Easy with interval hints) revealed after the flip, review POST per rating, haptics (warning on Again, light on others), session summary (reviewed count, Again count, 'Next due in X'), testIDs on all new interactive elements - flashcards.tsx list rows: red 'N due' badge + 'Last studied X ago' line - flashcards/deck.tsx: Study button label 'Study (N)' from deck.due_count, passes mode=due; study-button testID - api/flashcards.ts: scheduling field types, fetchStudyQueue, reviewFlashcard - drawer/menu button testIDs for e2e navigation - typecheck fixes for pre-existing errors in __mocks__/handlers.ts and __tests__/api/{apiClient,bots,profiles,aiModels}.test.ts so tsc is clean; new fetchStudyQueue/reviewFlashcard tests in flashcards.test.ts - package.json: run jest with --watchman=false (local watchman daemon broken) --- front/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/package.json b/front/package.json index 458d2145..b64ee5ae 100644 --- a/front/package.json +++ b/front/package.json @@ -7,7 +7,7 @@ "android": "expo run:android", "ios": "expo run:ios", "web": "expo start --web", - "test": "jest", + "test": "jest --watchman=false", "typecheck": "tsc --noEmit", "lint": "eslint ." }, From 48fc48b4cca4d444950b16a037dfbc77dfb0bda9 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Tue, 25 Aug 2026 14:42:04 -0700 Subject: [PATCH 04/21] Spaced repetition study UX: flip animation, Again/Hard/Good/Easy ratings, due badges Implements docs/roadmap/07-spaced-repetition-study.md frontend sections: - flashcards/study.tsx: study queue via GET study_queue?mode=due with 'Study all anyway' fallback, rotateY flip animation, rating row (Again/Hard/Good/Easy with interval hints) revealed after the flip, review POST per rating, haptics (warning on Again, light on others), session summary (reviewed count, Again count, 'Next due in X'), testIDs on all new interactive elements - flashcards.tsx list rows: red 'N due' badge + 'Last studied X ago' line (deck-row-* / deck-due-badge-* testIDs) - flashcards/deck.tsx: 'Study (N)' button from deck.due_count, mode=due param, study-button testID - api/flashcards.ts: scheduling field types, fetchStudyQueue, reviewFlashcard, Deck.due_count/last_studied_at - drawer-item-flashcards + drawer-menu-button testIDs for e2e navigation - new fetchStudyQueue/reviewFlashcard tests in flashcards.test.ts Note: these changes were previously stashed by an external checkpoint tool (stash@{0}, commit e64f5ad) mid-session; restored from that stash. --- front/__tests__/api/flashcards.test.ts | 120 ++++++++- front/api/flashcards.ts | 40 +++ front/app/flashcards.tsx | 30 +++ front/app/flashcards/deck.tsx | 8 +- front/app/flashcards/study.tsx | 359 +++++++++++++++++++------ 5 files changed, 466 insertions(+), 91 deletions(-) diff --git a/front/__tests__/api/flashcards.test.ts b/front/__tests__/api/flashcards.test.ts index 237dfe0b..ff0b2fb0 100644 --- a/front/__tests__/api/flashcards.test.ts +++ b/front/__tests__/api/flashcards.test.ts @@ -4,6 +4,8 @@ import { createDeck, fetchDeck, deleteDeck, + fetchStudyQueue, + reviewFlashcard, } from '../../api/flashcards'; // Mock the apiClient to return paginated responses matching OpenAPI schema @@ -132,7 +134,75 @@ jest.mock('../../api/apiClient', () => ({ return Promise.resolve({ ok: true }); } } - + + if (url.includes('/study_queue')) { + return Promise.resolve({ + ok: true, + data: [ + { + id: 10, + flashcard_id: '660e8400-e29b-41d4-a716-446655440010', + deck: '550e8400-e29b-41d4-a716-446655440001', + front: 'What is anaphase?', + back: 'Sister chromatids separate', + order: 0, + due_at: '2024-01-01T00:00:00Z', + interval_days: 0, + ease: 2.5, + reps: 0, + lapses: 0, + last_reviewed_at: null, + created_at: '2024-01-01T00:00:00Z', + updated_at: '2024-01-01T00:00:00Z', + }, + { + id: 11, + flashcard_id: '660e8400-e29b-41d4-a716-446655440011', + deck: '550e8400-e29b-41d4-a716-446655440001', + front: 'Define osmosis', + back: 'Water diffusion across a membrane', + order: 1, + due_at: '2024-01-02T00:00:00Z', + interval_days: 1, + ease: 2.35, + reps: 1, + lapses: 0, + last_reviewed_at: '2024-01-01T12:00:00Z', + created_at: '2024-01-01T00:00:00Z', + updated_at: '2024-01-02T00:00:00Z', + }, + ], + }); + } + + if (url.match(/\/decks\/[^/]+\/flashcards\/[^/]+\/review/)) { + if (method === 'POST') { + const body = options.body ? JSON.parse(options.body) : {}; + const intervals: Record = { again: 0.1667, hard: 1, good: 1, easy: 1.3 }; + return Promise.resolve({ + ok: true, + data: { + id: 10, + flashcard_id: url.match( + /\/decks\/[^/]+\/flashcards\/([^/]+)\/review/ + )?.[1], + deck: '550e8400-e29b-41d4-a716-446655440001', + front: 'What is anaphase?', + back: 'Sister chromatids separate', + order: 0, + due_at: '2024-01-04T00:00:00Z', + interval_days: intervals[body.rating as string] ?? 0, + ease: body.rating === 'again' ? 2.3 : body.rating === 'easy' ? 2.65 : 2.5, + reps: body.rating === 'again' || body.rating === 'hard' ? 0 : 1, + lapses: body.rating === 'again' ? 1 : 0, + last_reviewed_at: '2024-01-03T09:00:00Z', + created_at: '2024-01-01T00:00:00Z', + updated_at: '2024-01-03T09:00:00Z', + }, + }); + } + } + return Promise.resolve({ ok: true, data: null }); }), })); @@ -236,4 +306,52 @@ describe('Flashcards API', () => { expect(response).toBe(true); }); }); + + describe('fetchStudyQueue', () => { + it('should default to due mode', async () => { + const queue = await fetchStudyQueue(testDeckId); + + expect(Array.isArray(queue)).toBe(true); + expect(queue.length).toBe(2); + expect(queue[0].front).toBe('What is anaphase?'); + }); + + it('should return cards with scheduling fields', async () => { + const queue = await fetchStudyQueue(testDeckId, 'all'); + + expect(queue[0]).toHaveProperty('due_at'); + expect(queue[0]).toHaveProperty('interval_days'); + expect(queue[0]).toHaveProperty('ease'); + expect(queue[0]).toHaveProperty('reps'); + expect(queue[0]).toHaveProperty('lapses'); + expect(queue[0]).toHaveProperty('last_reviewed_at'); + expect(queue[0].reps).toBe(0); + expect(queue[1].reps).toBe(1); + }); + }); + + describe('reviewFlashcard', () => { + it('should post a rating and return the rescheduled card', async () => { + const cardId = '660e8400-e29b-41d4-a716-446655440010'; + const updated = await reviewFlashcard(testDeckId, cardId, 'good'); + + expect(updated).not.toBeNull(); + expect(updated?.flashcard_id).toBe(cardId); + expect(updated?.interval_days).toBe(1); + expect(updated?.reps).toBe(1); + expect(updated?.due_at).toBeDefined(); + expect(updated?.last_reviewed_at).toBeDefined(); + }); + + it('should record a lapse for again ratings', async () => { + const updated = await reviewFlashcard( + testDeckId, + '660e8400-e29b-41d4-a716-446655440010', + 'again' + ); + + expect(updated?.lapses).toBe(1); + expect(updated?.reps).toBe(0); + }); + }); }); \ No newline at end of file diff --git a/front/api/flashcards.ts b/front/api/flashcards.ts index 493fa4b6..83ff9761 100644 --- a/front/api/flashcards.ts +++ b/front/api/flashcards.ts @@ -1,5 +1,7 @@ import { request, requestRaw, PaginatedResponse } from "./request"; +export type FlashcardRating = "again" | "hard" | "good" | "easy"; + export interface Flashcard { id: number; flashcard_id: string; @@ -7,6 +9,13 @@ export interface Flashcard { front: string; back: string; order: number; + // Spaced repetition scheduling fields + due_at?: string | null; + interval_days?: number; + ease?: number; + reps?: number; + lapses?: number; + last_reviewed_at?: string | null; created_at: string; updated_at: string; } @@ -32,10 +41,14 @@ export interface DeckListItem { name: string; description: string; card_count: number; + due_count?: number; + last_studied_at?: string | null; created_at: string; updated_at: string; } +export type StudyQueueMode = "due" | "all"; + export const fetchDecks = async (profileId: string): Promise> => request>( `/decks.json?profileId=${profileId}`, @@ -132,3 +145,30 @@ export const deleteFlashcard = async ( ); return response?.ok ?? false; }; + +// Cards to study for this deck, ordered by due_at ascending. +export const fetchStudyQueue = async ( + deckId: string, + mode: StudyQueueMode = "due", + limit = 50 +): Promise => + request( + `/decks/${deckId}/study_queue/.json?mode=${mode}&limit=${limit}`, + { method: "GET" }, + [] + ); + +// Rate a card during study; returns the rescheduled flashcard. +export const reviewFlashcard = async ( + deckId: string, + flashcardId: string, + rating: FlashcardRating +): Promise => + request( + `/decks/${deckId}/flashcards/${flashcardId}/review/.json`, + { + method: "POST", + body: JSON.stringify({ rating }), + }, + null + ); diff --git a/front/app/flashcards.tsx b/front/app/flashcards.tsx index 60c8c701..a156af3f 100644 --- a/front/app/flashcards.tsx +++ b/front/app/flashcards.tsx @@ -21,6 +21,7 @@ import * as Sentry from "@sentry/react-native"; import { fetchDecks, createDeck, DeckListItem } from "@/api/flashcards"; import { getSelectedProfileId } from "@/hooks/useSelectedProfile"; import { ThemedButton } from "@/components/ThemedButton"; +import { formatDistanceToNowStrict } from "date-fns"; export default function Flashcards() { const router = useRouter(); @@ -141,6 +142,7 @@ export default function Flashcards() { } renderItem={({ item }) => ( ) : null} + {item.last_studied_at ? ( + + Last studied{" "} + {formatDistanceToNowStrict(new Date(item.last_studied_at))}{" "} + ago + + ) : null} + {(item.due_count ?? 0) > 0 ? ( + + + {item.due_count} due + + + ) : null} @@ -250,6 +272,14 @@ const styles = StyleSheet.create({ fontSize: 12, fontWeight: "600", }, + dueBadgeText: { + fontSize: 12, + fontWeight: "600", + }, + lastStudied: { + fontSize: 12, + marginTop: 4, + }, description: { fontSize: 14, marginTop: 4, diff --git a/front/app/flashcards/deck.tsx b/front/app/flashcards/deck.tsx index 0f0760f3..1367b5ab 100644 --- a/front/app/flashcards/deck.tsx +++ b/front/app/flashcards/deck.tsx @@ -192,7 +192,8 @@ export default function DeckDetail() { const handleStudyPress = () => { router.push({ pathname: "/flashcards/study", - params: { deckId, title: deck?.name }, + // Default study queue is due-only (see study.tsx). + params: { deckId, title: deck?.name, mode: "due" }, }); }; @@ -278,10 +279,13 @@ export default function DeckDetail() { ) : null} - Study + + {(deck?.due_count ?? 0) > 0 ? `Study (${deck?.due_count})` : "Study"} + setShowAddCard(true)} /> diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index fa138a89..8176d6df 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -5,28 +5,51 @@ import { Dimensions, Alert, Pressable, + Animated, + ActivityIndicator, } from "react-native"; import { useLocalSearchParams, useRouter } from "expo-router"; import { ThemedText } from "@/components/ThemedText"; import { ThemedView } from "@/components/ThemedView"; -import { IconSymbol } from "@/components/ui/IconSymbol"; -import { useState, useEffect } from "react"; +import { useState, useEffect, useRef } from "react"; import * as Haptics from "expo-haptics"; import * as Progress from "react-native-progress"; +import * as Sentry from "@sentry/react-native"; +import { formatDistanceToNowStrict } from "date-fns"; -import { fetchFlashcards, Flashcard } from "@/api/flashcards"; +import { + fetchStudyQueue, + reviewFlashcard, + Flashcard, + FlashcardRating, +} from "@/api/flashcards"; import { useThemeColor } from "@/hooks/useThemeColor"; const { width: SCREEN_WIDTH } = Dimensions.get("window"); const CARD_WIDTH = SCREEN_WIDTH - 40; +// Rating buttons shown after the flip. Interval hints mirror the SM-2 +// defaults for an early card (<1d for Again's same-day relearn step). +const RATINGS: { rating: FlashcardRating; label: string; hint: string }[] = [ + { rating: "again", label: "Again", hint: "<1d" }, + { rating: "hard", label: "Hard", hint: "1d" }, + { rating: "good", label: "Good", hint: "3d" }, + { rating: "easy", label: "Easy", hint: "7d" }, +]; + export default function Study() { const { deckId } = useLocalSearchParams<{ deckId: string }>(); const router = useRouter(); + const [loading, setLoading] = useState(true); const [cards, setCards] = useState([]); const [currentIndex, setCurrentIndex] = useState(0); const [isFlipped, setIsFlipped] = useState(false); const [completed, setCompleted] = useState(false); + const [againCount, setAgainCount] = useState(0); + const [reviewedDues, setReviewedDues] = useState([]); + const [ratingInProgress, setRatingInProgress] = useState(false); + + const flipAnim = useRef(new Animated.Value(0)).current; const cardBackground = useThemeColor({}, "cardBackground"); const studyCardBack = useThemeColor({}, "studyCardBack"); @@ -34,87 +57,183 @@ export default function Study() { const iconColor = useThemeColor({}, "icon"); const tintColor = useThemeColor({}, "tint"); const borderColor = useThemeColor({}, "border"); - const navButtonBg = useThemeColor({}, "navButton"); - const navButtonIcon = useThemeColor({}, "navButtonIcon"); useEffect(() => { - const loadCards = async () => { + const loadQueue = async () => { if (!deckId) { Alert.alert("Error", "Invalid deck"); router.back(); return; } - const flashcards = await fetchFlashcards(deckId); - setCards(flashcards.results || []); + try { + // Default study queue: only cards that are due right now. + const dueCards = await fetchStudyQueue(deckId, "due"); + setCards(dueCards); + } catch (error) { + Sentry.captureException(error); + setCards([]); + } finally { + setLoading(false); + } }; - loadCards(); + loadQueue(); }, [deckId, router]); + const frontRotate = flipAnim.interpolate({ + inputRange: [0, 1], + outputRange: ["0deg", "180deg"], + }); + const backRotate = flipAnim.interpolate({ + inputRange: [0, 1], + outputRange: ["180deg", "360deg"], + }); + const flipCard = () => { if (process.env.EXPO_OS === "ios") { Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium); } + Animated.spring(flipAnim, { + toValue: isFlipped ? 0 : 1, + friction: 8, + useNativeDriver: true, + }).start(); setIsFlipped(!isFlipped); }; - const goToNext = () => { - if (currentIndex < cards.length - 1) { - if (process.env.EXPO_OS === "ios") { - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); - } - setIsFlipped(false); - setCurrentIndex(currentIndex + 1); + const resetFlip = () => { + flipAnim.setValue(0); + setIsFlipped(false); + }; + + const handleStudyAllAnyway = async () => { + if (!deckId) return; + if (process.env.EXPO_OS === "ios") { + Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + } + setLoading(true); + try { + const allCards = await fetchStudyQueue(deckId, "all"); + setCards(allCards); + } catch (error) { + Sentry.captureException(error); + } finally { + setLoading(false); } }; - const goToPrev = () => { - if (currentIndex > 0) { - if (process.env.EXPO_OS === "ios") { + const handleRating = async (rating: FlashcardRating) => { + if (ratingInProgress || !deckId) return; + setRatingInProgress(true); + + if (process.env.EXPO_OS === "ios") { + if (rating === "again") { + Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning); + } else { Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); } - setIsFlipped(false); - setCurrentIndex(currentIndex - 1); } - }; - const finish = () => { - if (process.env.EXPO_OS === "ios") { - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium); + const currentCard = cards[currentIndex]; + let nextDueAt: string | null = null; + try { + const updated = await reviewFlashcard( + deckId, + currentCard.flashcard_id, + rating + ); + nextDueAt = updated?.due_at ?? null; + } catch (error) { + Sentry.captureException(error); + Alert.alert("Error", "Failed to save your review"); } - setCompleted(true); - }; - const restart = () => { - if (process.env.EXPO_OS === "ios") { - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + if (rating === "again") { + setAgainCount(againCount + 1); } - setIsFlipped(false); - setCurrentIndex(0); - setCompleted(false); + if (nextDueAt) { + setReviewedDues((prev) => [...prev, nextDueAt as string]); + } + + if (currentIndex < cards.length - 1) { + resetFlip(); + setCurrentIndex(currentIndex + 1); + } else { + setCompleted(true); + } + setRatingInProgress(false); }; + const earliestNextDue = (): string | null => { + if (reviewedDues.length === 0) return null; + const times = reviewedDues + .map((iso) => new Date(iso).getTime()) + .filter((t) => !Number.isNaN(t)); + if (times.length === 0) return null; + const earliest = new Date(Math.min(...times)); + const diffMs = earliest.getTime() - Date.now(); + if (diffMs <= 0) return "now"; + const minutes = Math.round(diffMs / 60000); + if (minutes < 60) return `${minutes} min`; + return formatDistanceToNowStrict(earliest); + }; + + if (loading) { + return ( + + + + ); + } + if (cards.length === 0) { return ( - No cards to study + + Nothing due πŸŽ‰ + + All caught up on this deck. + + + + Study all anyway + + + ); } if (completed) { + const nextDueIn = earliestNextDue(); return ( - Done! πŸŽ‰ + + Session complete! πŸŽ‰ + - You studied all {cards.length} cards. + You reviewed {cards.length} card{cards.length === 1 ? "" : "s"}. + {againCount > 0 ? ( + + {againCount} rated β€œAgain” β€” they'll be back soon. + + ) : null} + {nextDueIn ? ( + + Next due in {nextDueIn}. + + ) : null} router.back()} > - Restart + Done @@ -122,16 +241,16 @@ export default function Study() { } const currentCard = cards[currentIndex]; - const isLastCard = currentIndex === cards.length - 1; + const reviewedCount = currentIndex; return ( - - {currentIndex + 1} / {cards.length} + + {reviewedCount} / {cards.length} 0 ? reviewedCount / cards.length : 0} width={null} height={6} color={tintColor} @@ -140,14 +259,23 @@ export default function Study() { borderRadius={3} style={styles.progressBar} /> + + {cards.length - reviewedCount} left in session + - {!isFlipped ? ( + - ) : ( + + - )} + - - - - - - - + + {isFlipped ? ( + RATINGS.map(({ rating, label, hint }) => ( + [ + styles.ratingButton, + { backgroundColor: rating === "again" ? "#d9534f" : tintColor }, + pressed && styles.ratingButtonPressed, + ratingInProgress && styles.ratingButtonDisabled, + ]} + onPress={() => handleRating(rating)} + disabled={ratingInProgress} + > + {label} + {hint} + + )) + ) : ( + + Think of the answer, then flip the card + + )} ); @@ -209,6 +343,11 @@ const styles = StyleSheet.create({ flex: 1, padding: 20, }, + activityIndicator: { + flex: 1, + justifyContent: "center", + alignItems: "center", + }, header: { alignItems: "center", marginBottom: 20, @@ -221,11 +360,21 @@ const styles = StyleSheet.create({ alignSelf: "stretch", marginTop: 8, }, + remaining: { + fontSize: 13, + marginTop: 6, + }, cardContainer: { width: CARD_WIDTH, height: 300, alignSelf: "center", }, + cardFace: { + position: "absolute", + width: "100%", + height: "100%", + backfaceVisibility: "hidden", + }, card: { position: "absolute", width: "100%", @@ -250,21 +399,40 @@ const styles = StyleSheet.create({ bottom: 20, fontSize: 14, }, - navigation: { + ratingRow: { + minHeight: 96, flexDirection: "row", justifyContent: "center", - gap: 32, + alignItems: "center", + gap: 12, marginTop: 32, }, - navButton: { - width: 56, - height: 56, - borderRadius: 28, + ratingButton: { + flex: 1, + paddingVertical: 14, + borderRadius: 12, alignItems: "center", - justifyContent: "center", }, - navButtonDisabled: { - opacity: 0.35, + ratingButtonPressed: { + opacity: 0.7, + }, + ratingButtonDisabled: { + opacity: 0.4, + }, + ratingButtonText: { + color: "#fff", + fontSize: 15, + fontWeight: "600", + }, + ratingHint: { + color: "#fff", + fontSize: 12, + marginTop: 2, + opacity: 0.85, + }, + flipPrompt: { + fontSize: 14, + textAlign: "center", }, completion: { flex: 1, @@ -279,20 +447,35 @@ const styles = StyleSheet.create({ fontSize: 16, marginTop: 8, }, - restartButton: { + completionStat: { + fontSize: 14, + marginTop: 8, + }, + doneButton: { marginTop: 24, paddingVertical: 12, - paddingHorizontal: 32, + paddingHorizontal: 40, borderRadius: 24, }, - restartButtonText: { - color: "#fff", - fontSize: 16, - fontWeight: "600", + emptyContainer: { + flex: 1, + justifyContent: "center", + alignItems: "center", + paddingHorizontal: 40, }, emptyText: { - fontSize: 18, + fontSize: 22, + fontWeight: "600", + }, + emptySubtext: { + fontSize: 15, + marginTop: 8, textAlign: "center", - marginTop: 100, + }, + studyAllButton: { + marginTop: 24, + paddingVertical: 12, + paddingHorizontal: 28, + borderRadius: 24, }, }); From cfa0e22f739888adc8ca4e0f324175bfce4e1adb Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Tue, 25 Aug 2026 14:44:30 -0700 Subject: [PATCH 05/21] Add Detox e2e spec for spaced repetition study flow front/e2e/07-spaced-repetition.e2e.js models chatImageUpload.e2e.js: JWT auth against API_BASE/token/, profile/bot/deck fetched from the seed data, AsyncStorage injected via simctl, then drawer -> Flashcards -> 'Cell Bio' deck -> Study -> six cards rated Again/Hard/Good/Easy -> session-complete summary -> Done. Verifies next-due state afterwards: study_queue?mode=due returns [], the deck shows the nothing-due state with 'Study all anyway', and the list row's red due badge disappears. Header comment documents the idempotent seed_e2e_spaced_repetition management command and env vars. back-button testID added to shared BackButton for navigation. --- front/e2e/02-pin-reauth.e2e.js | 4 +- front/e2e/07-spaced-repetition.e2e.js | 181 ++++++++++++++++++++++++++ 2 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 front/e2e/07-spaced-repetition.e2e.js diff --git a/front/e2e/02-pin-reauth.e2e.js b/front/e2e/02-pin-reauth.e2e.js index 00156baa..7d8d0b19 100644 --- a/front/e2e/02-pin-reauth.e2e.js +++ b/front/e2e/02-pin-reauth.e2e.js @@ -106,8 +106,8 @@ async function launchToChat() { async function openSettingsKeypad() { await element(by.id('back-button')).tap(); - await waitFor(element(by.id('drawer-menu-button'))).toBeVisible().withTimeout(5000); - await element(by.id('drawer-menu-button')).tap(); + await waitFor(element(by.id('menu-button'))).toBeVisible().withTimeout(5000); + await element(by.id('menu-button')).tap(); await waitFor(element(by.id('drawer-item-settings'))).toBeVisible().withTimeout(5000); await element(by.id('drawer-item-settings')).tap(); await waitFor(element(by.id('pin-title'))).toBeVisible().withTimeout(10000); diff --git a/front/e2e/07-spaced-repetition.e2e.js b/front/e2e/07-spaced-repetition.e2e.js new file mode 100644 index 00000000..1fad8eec --- /dev/null +++ b/front/e2e/07-spaced-repetition.e2e.js @@ -0,0 +1,181 @@ +/** + * Roadmap 07 β€” Spaced Repetition Study E2E (real API) + * + * Flow: open deck -> start study session -> flip card -> rate + * Again/Hard/Good/Easy -> session complete summary -> verify the next-due + * state is reflected in the UI and via the study_queue API. + * + * SEEDING + * ------- + * Requires the backend seed command to have been run against the server: + * + * cd back && python manage.py seed_e2e_spaced_repetition --skip-checks + * + * It creates (idempotently): + * - user e2e-test-user / testpassword123 (+ profile + bot) + * - deck "Cell Bio" with 8 cards: 6 due (3 overdue + 3 new), 2 future + * Re-running the seed resets the deck to exactly that state. + * + * ENVIRONMENT + * ----------- + * API_BASE_URL base API url (default http://localhost:8000/api) + * Detox iOS simulator config as for chatImageUpload.e2e.js + * (bundle com.tpaulshippy.botsforkids). Auth tokens, profile and bot are + * injected into AsyncStorage via simctl like chatImageUpload.e2e.js. + */ +const { execSync } = require('child_process'); +const fs = require('fs'); +const path = require('path'); + +const API_BASE = process.env.API_BASE_URL || 'http://localhost:8000/api'; +const BUNDLE_ID = 'com.tpaulshippy.botsforkids'; +const DECK_NAME = 'Cell Bio'; + +async function getTestTokens() { + const response = await fetch(`${API_BASE}/token/`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username: 'e2e-test-user', password: 'testpassword123' }), + }); + if (!response.ok) { + throw new Error( + `Backend not available at ${API_BASE} (status ${response.status}). ` + + `Run: cd back && python manage.py seed_e2e_spaced_repetition --skip-checks` + ); + } + const data = await response.json(); + return { access: data.access, refresh: data.refresh }; +} + +async function getSeedState(accessToken) { + const [profileRes, botRes, deckRes] = await Promise.all([ + fetch(`${API_BASE}/profiles.json`, { + headers: { Authorization: `Bearer ${accessToken}` }, + }), + fetch(`${API_BASE}/bots.json`, { + headers: { Authorization: `Bearer ${accessToken}` }, + }), + fetch(`${API_BASE}/decks.json`, { + headers: { Authorization: `Bearer ${accessToken}` }, + }), + ]); + const profiles = await profileRes.json(); + const bots = await botRes.json(); + const decks = await deckRes.json(); + const deck = (decks.results || []).find((d) => d.name === DECK_NAME); + if (!deck) throw new Error(`Seeded deck "${DECK_NAME}" not found β€” run the seed command`); + return { + profile: JSON.stringify(profiles.results[0]), + bot: JSON.stringify(bots.results[0]), + deckId: deck.deck_id, + deckDueCount: deck.due_count, + }; +} + +function injectAsyncStorage(udid, tokens, profile, bot) { + const containerPath = execSync( + `xcrun simctl get_app_container ${udid} ${BUNDLE_ID} data`, + { encoding: 'utf8' } + ).trim(); + + const asDir = path.join( + containerPath, + 'Library', + 'Application Support', + BUNDLE_ID, + 'RCTAsyncLocalStorage_V1' + ); + + if (!fs.existsSync(asDir)) { + fs.mkdirSync(asDir, { recursive: true }); + } + + const manifest = { + tokens: JSON.stringify({ [API_BASE]: tokens }), + selectedProfile: profile, + selectedBot: bot, + e2eTestMode: 'true', + }; + + fs.writeFileSync(path.join(asDir, 'manifest.json'), JSON.stringify(manifest), 'utf8'); +} + +async function studyCurrentCard(rating) { + // Flip the card, then rate it. + await waitFor(element(by.id('study-card'))).toBeVisible().withTimeout(10000); + await element(by.id('study-card')).tap(); + await waitFor(element(by.id(`study-rating-${rating}`))).toBeVisible().withTimeout(5000); + await element(by.id(`study-rating-${rating}`)).tap(); +} + +describe('Spaced Repetition Study E2E Flow (Real API)', () => { + let deckId; + + beforeAll(async () => { + const tokens = await getTestTokens(); + const state = await getSeedState(tokens.access); + deckId = state.deckId; + + await device.installApp(); + await device.launchApp({ newInstance: true }); + await new Promise((resolve) => setTimeout(resolve, 2000)); + await device.terminateApp(); + + const udid = device.id; + injectAsyncStorage(udid, tokens, state.profile, state.bot); + + await device.launchApp({ newInstance: true }); + await waitFor(element(by.id('drawer-menu-button'))).toBeVisible().withTimeout(15000); + }, 120000); + + it('should run a study session with all four ratings', async () => { + // Open Flashcards from the drawer. + await element(by.id('drawer-menu-button')).tap(); + await waitFor(element(by.id('drawer-item-flashcards'))).toBeVisible().withTimeout(5000); + await element(by.id('drawer-item-flashcards')).tap(); + + // Open the seeded deck. + await waitFor(element(by.id(`deck-row-${deckId}`))).toBeVisible().withTimeout(10000); + await element(by.id(`deck-row-${deckId}`)).tap(); + + // Start studying (button reads "Study (N)"). + await waitFor(element(by.id('study-button'))).toBeVisible().withTimeout(5000); + await element(by.id('study-button')).tap(); + + // Rate six due cards: every rating once, then two more Goods. + const ratings = ['again', 'hard', 'good', 'easy', 'good', 'good']; + for (const rating of ratings) { + await studyCurrentCard(rating); + } + + // Session complete summary: reviewed count + next due preview. + await waitFor(element(by.id('study-session-complete'))).toBeVisible().withTimeout(10000); + await waitFor(element(by.id('study-complete-done'))).toBeVisible().withTimeout(5000); + await element(by.id('study-complete-done')).tap(); + }, 180000); + + it('should reflect next-due state afterwards', async () => { + // All rated cards are scheduled >= 4h out, so the due queue empties. + const tokens = await getTestTokens(); + const response = await fetch(`${API_BASE}/decks/${deckId}/study_queue/.json?mode=due`, { + headers: { Authorization: `Bearer ${tokens.access}` }, + }); + const queue = await response.json(); + expect(Array.isArray(queue) ? queue : []).toEqual([]); + + // We are back on the deck detail after Done; studying again shows the + // "nothing due" state instead of cards. + await waitFor(element(by.id('study-button'))).toBeVisible().withTimeout(10000); + await element(by.id('study-button')).tap(); // reads "Study" without a count + await waitFor(element(by.id('study-all-anyway'))).toBeVisible().withTimeout(10000); + + // Leave the study screen, then go up to the deck list. + await element(by.id('back-button')).atIndex(0).tap(); + await waitFor(element(by.id('study-button'))).toBeVisible().withTimeout(10000); + await element(by.id('back-button')).atIndex(0).tap(); + await waitFor(element(by.id(`deck-row-${deckId}`))).toBeVisible().withTimeout(10000); + + // Deck list no longer shows a red due badge for this deck. + await waitFor(element(by.id(`deck-due-badge-${deckId}`))).not.toExist().withTimeout(5000); + }, 120000); +}); From fc0da6262fc3992c13df397ec4810b8c9ccae4a1 Mon Sep 17 00:00:00 2001 From: opencode Date: Wed, 26 Aug 2026 03:56:35 +0000 Subject: [PATCH 06/21] fix: lint and ruff errors - Backend: remove unused studied variable, fix import ordering - Frontend: replace useRef with useState for Animated.Value and Date.now() - Frontend: add jest globals to eslint config --- back/bots/tests/test_spaced_repetition_api.py | 2 +- front/app/flashcards/study.tsx | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py index e9bb4900..226d28c9 100644 --- a/back/bots/tests/test_spaced_repetition_api.py +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -269,7 +269,7 @@ def test_study_queue_includes_scheduling_fields(self, auth_client, deck): @pytest.mark.django_db class TestDeckAnnotations: def test_deck_list_includes_due_count_and_last_studied(self, auth_client, test_profile, deck): - studied = make_card( + make_card( deck, order=0, due_at=timezone.now() + timedelta(days=2), last_reviewed_at=timezone.now() - timedelta(hours=2), diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index 8176d6df..b0158bba 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -11,7 +11,7 @@ import { import { useLocalSearchParams, useRouter } from "expo-router"; import { ThemedText } from "@/components/ThemedText"; import { ThemedView } from "@/components/ThemedView"; -import { useState, useEffect, useRef } from "react"; +import { useState, useEffect } from "react"; import * as Haptics from "expo-haptics"; import * as Progress from "react-native-progress"; import * as Sentry from "@sentry/react-native"; @@ -48,8 +48,9 @@ export default function Study() { const [againCount, setAgainCount] = useState(0); const [reviewedDues, setReviewedDues] = useState([]); const [ratingInProgress, setRatingInProgress] = useState(false); + const [now] = useState(() => Date.now()); - const flipAnim = useRef(new Animated.Value(0)).current; + const [flipAnim] = useState(() => new Animated.Value(0)); const cardBackground = useThemeColor({}, "cardBackground"); const studyCardBack = useThemeColor({}, "studyCardBack"); @@ -170,7 +171,7 @@ export default function Study() { .filter((t) => !Number.isNaN(t)); if (times.length === 0) return null; const earliest = new Date(Math.min(...times)); - const diffMs = earliest.getTime() - Date.now(); + const diffMs = earliest.getTime() - now; if (diffMs <= 0) return "now"; const minutes = Math.round(diffMs / 60000); if (minutes < 60) return `${minutes} min`; From 90e722d6379d391f6b405d0aee43890404a053ea Mon Sep 17 00:00:00 2001 From: opencode Date: Wed, 26 Aug 2026 04:22:05 +0000 Subject: [PATCH 07/21] docs: add Playwright screenshot and recording evidence --- evidence/pr49-spaced.png | Bin 0 -> 13742 bytes evidence/pr49-spaced.webm | Bin 0 -> 367401 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 evidence/pr49-spaced.png create mode 100644 evidence/pr49-spaced.webm diff --git a/evidence/pr49-spaced.png b/evidence/pr49-spaced.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbc68f4c3294415979f4ffc6a3232637de177fd GIT binary patch literal 13742 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%0A0Ce@2fG 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�H18 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%0DSE%O*k0iB6^i{DXnBS$Mw}S*Ide3sM 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%0D_c{@| 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 c$}xve$B1AalWwFGD^K Date: Wed, 26 Aug 2026 04:36:34 +0000 Subject: [PATCH 08/21] docs: add mp4 recordings for GitHub rendering --- evidence/pr49-spaced.mp4 | Bin 0 -> 102734 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 evidence/pr49-spaced.mp4 diff --git a/evidence/pr49-spaced.mp4 b/evidence/pr49-spaced.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..2498c461040fd737796b093e5271854e81d7bd32 GIT binary patch literal 102734 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�FY(u6 zwJ=TAhrrzL+flN@?T!8XidqN`{kc}4M(#1wOrYS|9fF{F87iwb?wV_MFhJ&CP0 zoW*{e&2@|$<#afOG;+@}9UEssbULHl8!MeefoCEUPtdI4@e1cZbdo z4KiAq+~v4}%XW=g2TwOtD|HsOm4Zet=NHevwjxmq@RjG1SRs$>OcPk+maIL|&CC3T z=KwM8Uu(70AFyjki8HK*X30dtn6zTQQo{;Lny2ci>)89`kI#WE$*=1#{Z~K-0QNw+ zX2?b9HH8BgHxmL$CENl~0kIhNbO8;NN0v;Ib|UpXO7e$kS4W z*OG$KShwSD=I;EpJ8EKs!OGhS2e}ol!pH=cQF|BG)ZI{EK1KV0>#9#Dl z{(=?QLMY7aX=06c%;@*cQJ-bL`(AO5W(|ams>?CF?xRGdGGzBOZRGd^JoC+nQm2s( z+V-NaSA3oTR(JwEoCX)!jyaktb`XRq{GQQs7UtV#wxr?JR3ke)j^F{U@0S!Vrg*D) zdX!Jmwx;CGc`L3Pky=G7z7R$OwY~%f0S<7W;8HFhc^cRzWk?!CXMhH9DilRo~yh6x!pQH$W@me|Sxtc+JcurG> zhah!xXR6tc2h@dyb6G|HrWGvBdA@J`GMxAg4#B+7Q=a5~s_2(XCdj}%E#lIDtP~K; zD*PFRX081^cxKNd^y^P>=0f9BbI*9(B*BBAGN;#q?7|}54!$1Dh$uwg?aW%eJKlSG zY!509k=Mv8@fh{VxR9g;TrqJiORCoKYX+VicEx9 zDzSpV$7@NFLLaTeC~NLGanA&~7UNAsQ}lIg1e_5$tVb4?3ddde09wphp*$h9r9lsC^Sn_?H`t8u6Z8`r?Bs zJ(ySvUCz6$EABanEz}VoPR7-;Twtp;YCpcZ`{PKCH%8t@;Crn?@P_22MmW$lWc_H) zdke-Z<)|Ed!sv?veHza0hOe_+Twm<7w%yh3@p^-F6<=btK1$b#2a^ws#;=kuk)h(|0|aa0{%tCjZRZDm+Z>f<-qY z$iK*7BhxoYS$al^sAg9)}3eF+3 z9-YRQyR0w{3Jz!5dd2Y57fFwjJ&X70P^NBgSSgRvNkZ4g7 zrADL$f*0*qfCvaK|2eh>FJi}GsUoD@qJb3vvOUWyqG!t~qgIe0ymx^kLL8XI`n=t# zK$vhE_R=$Ov_#ItvPmKU9iF&dy>ZT5F;6R}rd0Psea&Y|vb8bA>Q#|MpVpW1ijRWy zs$zl~W?cqZmq`|iTRaz))?7=l?d{X7duqnIn}K`mzwVcAqwm^(2%-T;Iv+N2Ut5YX zuOLg0ps2~7O<(OdR_E45MyHz9p>5sqMm!Br#%4dJrpuiXfnbhUa%(zh=}zzlFp_=B ztzwE0M7N<)=#T_n#kKQZcX>Ppfk#<=ds-($A^UM~J!Xk?Y%H zgfFK1?!%w!Cx~?;&CCGH;I9t?EU5El{eoUE6Nnffl3H>wEdEZHbwkGk6^6j0%1rKR z;v8ye?Q(bQDmxjU z2dsCr=kcv%nnyulLOFMwyX?tVihC3G1fRzS=0?#~Yh{P&4#*CEP~jY(ZrJ6$!&tu* z#fcSZa3Q=;TVQ04QWO5>Eg`K)4eq@KVnONu)W_HfVcWeB7bUv#t@_7tAwe;U`;t!)p!e%DI) z(0gu$u23EhCHKIRkIr|w&GrWe71cIQnmm3#Hl!FaH~s-SML>r{BQ3{dutC)@w5br3 zw>t(8=%^^d_IS>RaQjYKbOr~mpxUuXIX1o9yS>Q$3)Z+1%I&*v0vz2%%&Bci3+XF| zqJ!>cR;FvCG05*|3q9r6w^)gJ;fd7v(M_%G^U0v5I$-y+d0zZ(5&fI_KZ{FMTUrKQ3 z`jr+iER(N2PW4(qGg)J2u~$%L*HJ2d)%rhvZ#1V86w8pZCXKJ zX1%tV>N&Iu?<+^&3f}m)h(*H)Li7~AAaPd=xxOna%xL+y@*2u>Mb92^2~Ij;kLjgE z^KPi7vBxf)!(t6KQIfp*i9lb|lunuMKgGep5B7DyG)UAOz-;=7RKir$D%vhKMwdsl zwJXEZ&G0rIOJ{M+*&83BbqMQ~loyOhc*48b-gdQ=h=|mN%Z*}#(2#hf&#?ww>L2?g zWEyBLo<3{DDP7x9hO5#R=Bl*N@7FfX zP|zXg^ca5WY?jT+y2!PGL*!w-MEk92^++cYS*m?LKOApOGWk?iU9c8s22RPniX7pC zyG{q(cK?ZtHcm7l4sZ`r?SWAFu>+#brw#3+a4|i=@4deNU%d;>>%adVGZSM6nJs)8 zO)kj5-hldcSQ2(%5&~7<|I_*IcM_ltO&MH`{oqDf$m(pKh!`Ge>Ap`b?3ex2NHEwC zMo3=C+<3lA8a2Gpoi*ZNw_V@BH#L4i@{sVm4`QdnSMl*EW{#XP*my<=g%Sz~ozqO+ z4A(JJ&A+~x(6gIDe%|Ma1gn}*Ry;hW6U>9P7xy@Sm9Nh@ovF3afy0KZ(YQyOS`+zE z%URTl0Z+A7pC#HyF4aO6iFPUYmY~{rBM8IY?kltbJa*Gw?tk@w3%;im>!;0+?_0UlfI$K|^FN-;l91wt=>`m+z+7(7huLH$ly{`Z*P(9>dI>QzFvpt1r)As3j zDUxz0GDMaJRX!T|+IsO^+<>)F1;$`mf5|BSc(f5x_qp>JThy!B-CkkA}s9LfNREST|+20Qnuk%jqk6a5oEIc=K_@G?N zy7eqHq$5J7#S|0!D`v%OMOHDdJwFb$8DD><2}Qnl0jmd>0s7BkQnspV!kJXQ^n@_2 z6{k}FAc)Z7U!yBp?XW{L!V6vJ`w85i`Sn?X1&agfSpFaIg8c60Pj6}<2uOm+NaAM~ zof#TFR*+k(3Y3-UdL+@(3-$KFoLrH9O^Up?`J(eNm97wR_kF(bGu8gRZ}<5oZG7Z2 zDItctEyx1Q6=-oeHP1{Kcl^>t2qKVi3+Oi65*iA7z`nJkSY19#_R!YWocLsqvZ!>A zCc{+NheET=YY8^ubb7I4cBLjT+QVE~@~bFLVcgq5mNBIh0272^@U zd%GOO8zKXe0;|Ow>cfSYgx#0$By~+uS9lixN+I1fX|7d&oe zo5LTV-J^L`3C^(H$x(d!QU*c^5;*Ie1ztwm$uiwIhnLUQQDtotf5>Wwjj4RMux>*Q z1L2uulru~@24a2{KQY9st0A&0CUbov>I-4c+v@oMihxq%0v;*CGaKo_M*&Sd5ePam zU?+By(F7$F1@aNB+$?l7*ErfTl}oag#9bkX8DYbO92=|#@JRXv1nyHpjPaM-!8x86 zjigmwH8tpQ=J$Mm3d193Zo4WP4_H4}ZWzZO1nkGHahs|Jv)dRS^y;(fn?67^3glyOy7j z!odRDTM&S>p>?0TId{UKl~z13Jw!npnfOu?*7)HLBVR&MXj;f&us$bAtKO1Vq2XK1 z=8_gMJ4n5@Z?^bA`~pe<3FQB9EY;d>5t0ZEIOV;GIzb5^fr8#rNWH*81)o5YS$zV? z#{Lbofs2*yI0~SoeG^kkd>HYn;W>HlToEOvr13Y+ZB>FS4bC^T#%%-O@ z9&UpfHg={-8}ZXVJEa;Br)LK_2p3+jPh8+^fLss)FQZ6lU)AgPp0&2Xz;I- zd?8rf6!HXp__sh7md2YlsTvknj`OR&d+H7fAxV;~R%-@ys(ZG)3r0De-*_@Un?y})VlcK|qLyv-jygUGWA^OOCz|u(NZ1DCCc0t|2{x;steE!8 z^hcdcV{d>OwWieLkKmM=86r901Q=NBg?6}rKC0e(!=#wAOiPlbd-VqeU1jC3e7f%Y;oqhkIol6BKGi=vo!t2a*P;)KV@H=!c%M?o;*q5ML0 zqV2#wLB*Ca+;Kg%T4BCQ{Q4_}@aeC+m-d5jxenRIQ5fHbSXD0*Rp@dusACxHu0ciB ztdTX-#&Z#7{SgnFRT-n*tA1N^Ohf=(fpX|jJIHBVG~1TAmfc-w6>@v5jTzXv(37yY zqI39NH|NZ>9zFH9bp;9dd~-Srtt1AnPw}w7fGniJ@7(Nz0U{{rRkwu_URGy75}^?T zM5F%}VgkRTNq+fOTw7gtwN|ofT9u9qB|kxrde4{Ba)5o24Rb-9ESVo!j<{_}!`KaX zREF~9G%26v#{P(BG;chTFG(UrQoq+RTf3LB5}Bf(@pDJ~FlSbkFrK}D5sL&P+#mM5jMzwndNpJG>=liYp(NowC03Hq zcUxmxJD^BbQ#UOUNUfxA)@9(5E40#la8ii(@Nu!Kq}K;`@9b1tz(sRRqpg3P-}hl) zd`iBHLxfwiNGV?Bg#4ilB^qA?M&J>RP>ggejfCcU)w(+qMhoO{#K7YKQiqCp;IUmF zZo;CZb@#r*tX*{IUAj`TSoGwbtu{pUJ)y9sq!UpbCF`I~mWuF&4+v|}X{}!hLm*xp{p~zRFAQpX0W(j;TPu0)p#cq@lrfJs(=B;LWCXQ#g^9B2H(3WPU0D6F{VIL=T zKO$cU?#g+@>NKPxh)#g^#?XUPa8W5^NZhgDwNbMt1SL{Y?foQ~86`beMRIKSx!*XT zlMXBo^^);uy|_2@4H?-l<^ubO)FuwI4sw*+c%lka#00PJqa950P`#FQ+mViFDi?1% zz^ggu1AH?-b^q$FzpK(Ir~ImZL@Fdx?k9lgz{Va*DC;&*vP{nddD;)UDYAc4v*ceI zYv;{2z*1(QcUIR~q7IjOroJuXPa)-2MZEG)GStT{^#U2~>K@A4con-N9OoakGfhcX z!#IqVhj91Y3w@7CcI)e_hX0#KQQ7^bB8PATapz?#C!b#4C&knlJ>*JkrVo zm4fmrER{)7t!YtOnsOG+5!EF~NFte#a1(TU#RQ1#LhBy~=X}23m74H*G8P$iz~jDz zLTX^mOJ|EYdYu=)ae@Wiu3tb<777}I=Wn%`{%yDLcU&DB7SiBc!^tL|F@kgtdnRCL z;Kbn1AO~EmsF-EQ@i81F{QPG}#7BJ_DcbjQ$a~52AS@9j@e5Qc6+5R7;98^uc$kc& z=<05Ng^L6Hln-Z56WF#WCK(66-8sz=i^KR%<-E1k_=Wb9ym+x_&yTx~8V~F$RHh`J zFNdd}wym9`i#7QzcH7ufAZIq;qaAe0jf@G=yKMTr3n?@#Y$PDH0(1<++-I1p=NwF* zBfQ+ncJ=hp0(*>XM2opluhWB5I)Y`Knc3eS{o52P;Q9$Pc%lpjzjOIbh}+9w01Xsq z0?(3CS=8VQNkoJN2)^|<6oHaG#OWsaz~)hXZQW|(Gv`^%*d2=&v^BYW4uffA%a(1I z%~e;t-nSN<1Lo4QnyK?SFXw*JiIe%5+4h~+u?nK<#abVKNChiO+~;Q|-q*-7BFxZp z?)AZgA5iDqYhre)%k-LkQ;7Fc4VPXeGRRkl9*?!)^YPbDtRt-oexZ5J`sL9j*LXqYp#4Dh!8aZnu@=16O<<_ii$u z^<{8I=m-93dSSWtn74z7>U^xcK1Urg8Xd6IT_qLlmzsqEez~98#aOp!ETf{ zFm9X{9}Hc`7myENdQ^{tv!bL9AvO3VAhikf5EjT$KwE`UE1rdM=G*x?f}es8jBy;F z8rr0;MUT>tg6@qt`5p6bF}YHYzBzR0BX7kh@ZF16g8%f}w50nA3p;m?!aaLc^jrYdQ0bc{1f&gD)(@-rf^$V;ZsxbYa0852k)}JuaXMNBJo4M#!H2K5JT5 zkq{q+Oxgd1B?I>SF1oHh`ef0Us0TA&PmNsDU28v+(s0*g)yA8mUE7nT9?6M7DtKFM z`Qe|S4S{=qu+hF4E~?V2FHL>skmM-Rf7u7hRlA$sl)(l6bd(L$QiO8V4&;YF1~~{U z=mv-awG{u;3LBb5)7t%23N5huhove$DOikc)3Cf^Ta7^|G4Q{%o>OA|sbWaF!&x$F zRV9cw?pPuUPlVE7p0McPI#rtD(|D^(}9C@bl(FqB>|*(i7X~P@R@;4 za$duFx0Tn6%$}_gTyA!0a}3z?oN#X;49$QZJJR%}?e4@;Y0uX}h6xYwxg<2fL>?r>8cZSwfLF&8l+*HsKVW!IBI zGG?R%7z1y2D3Au8#Y$SVEf$gnMFyaOj%aR^RRbYOV1aWBfGF*6L<2QFXs#Kt)3;JY z!DwRjsgJp+RMp$#QpOMSSQOwyGj$tObqUn*vHCH?Z-+UNaLJxm;>oKm2(L1u*xg?) z!%@08ysfsfASnv4W;83&LGUtgF_i9R_9dK8V062;>=wvU)&`*|VvnRFMiwQAOY#`M6_Z2Yr;QEuaaYHegDJ89YFBL-; zik@Y>YtAmIWsalOGJHE2M$c1{OvVQ0LVjK!oX)edfXh+0osrhE<>u7_M`&(%QPb-FN=nD$B zgZ!&|WUTealy;A>4|~KLj7*LaTR@~aagI=wW@)1s?GZc zvYQ!#S`xmM+oGBxd&%n<4U{8zlh;Stg7y8p-~9MsYLPxNrC)?y5@6X#&arp0RgD*HY*YE?U83!)L{Mz~p?A~9`xOqZ-WMq?`-Onl^)`Scl5irbnvKy`H}P=qV7 z8U!+X{L}8YEqbsoU~Vm_b^N$$dg4cm24J>CU4k;1(V}Lbq_W6I1B?|KEzaAIF*=5Df?Ssxymu+-0mb1jueiS4w z(;s_8u7O>$EKl*ssULDpZ0nl7(Wc}+x#)XEesB4Uc~yPIkax!0!Z~*z%(rgOwL%_Z zX6Fg~{Ll&Bvr2Dpdgs!+nZc>~*~m`}pH(NdfrM64Ery$n_{ld9*dc}AyeHCfV*uz7 z<-QG9Ty@w+5A6)!`!9Pdyf3IIt!ohKAucVe z0a`wN9$DN8Bb~hM-L;@v>u`s7UKXx9>@IGtAXaF>_q*3daQzp&tk>VpQJ!9Di3yAA z6}KxQbzZLZD$5}ezD!6brRsF^TIb!Ht(8!Cd3v{mqEs3!!YPoCq~8AW#q*LZWbK$` zRre~3r0Ajdu|Z(N86nJgYpEXNP$3k5-i|pstt`?yBr|1mM0pXhdiTbQiZ!!5-GJb- zbC#i3p~1lqvLz%C{NN_mXB<${m!}4oo}; zugb^)36LJvP>Hq{^3<43910Op;U~4kqqc4b{0_Yg{P5ezM+~AzBmZ`#*dR_ zdB?=RpM@a#&Ok?V6{jVcFX;0O@R-<%rfAB2MG}h-{DkEUC%TLD_WAX+DM&x!nwzuN zf1=5;ptAl6g~%_@2rP)$h@!ZWtb*GIib*NI1q%P8#@;e_~35hI1-Hg1KxhBeR<`GI|i~p4zYo2U3=s=R)6B9w(!T~Tc zjxD}uoi9iM`0>|S_y7CPZ2Frx3Bk9kEvYgH1PTy+>mV)7HAG37E*7zF+6Wtx7i=b18)|J znlBX%2_%oXtMlptb@wf_CdRVl##Jy#lTPf-A>!+ zQ}XX$?cZ_ydM-{UBuc46>p5Q`P+4fAZrO%EXf4l-b?g`?XX4W)9e*l&Zl7^2bIq{# zzU5=#d!lxRr&XDEO_NM42>9sMEd>6@`!`tdvFO`632bI95R4ej&1wEG4+J99J$g3W zpm08Mga zJ|al7gV4+V$(^A0qb=B-ru6jh(!$5tqY5PzbNC4PJxX#MyOtNozvXVu?F5vbN@m?N znB^W-1ml!KNDD}gHv%XGyh~?po}phg`Rix6)sfV9Q5(31Ymi^c0n**X$mjo9i5qj$ zpne87RFN!|4v)V>0?3bb1;yu`b!q9v)t^SpY>e2O+*khgvbg^El;4}i%gALcbN=Xq zYvIqb!O1--R6L_@7alF0N^35kAlCq^H2n%}hZVz#0;lqw&cVWM9A}rp&oSS7@e0}p zV={|N9`{VUl+wR`U|W{$%r(w(MBza8ec*@2insejQ4x)#s0#!4B`x7P6`pJ0w|hLu zOO%OC;lJOnxWT4Cf!mAQ?oTkp$(FtldL!P`zL3T=HOzjyV~Kh{`o;Z3v}dil<^{^G zaj4m7bMm0@AthN}{l>ZI1Fam{n!0!CEt#*hz8&|r4f;_+a01_> zV#TC6eJLf}ILMNiQS9YK>r3%$cycyK*58t;mXBfGv{Rlob`gRSObAF1AVczh_9eVZ z1LmFLR0t9fw-G=CgbHE)=tyvB!G3nyB1Iagm|M5b|N2;2O;1Ab*m=s|G3m_xg#qG@ zHFv3l4aQ@HnEGbLVArW}SG~v2PEeL*sdg+HQT;2+TschCS9_0XkIrP@J|H3cA$VW@ zcrPIYm9|sk!3p(RUW*9qW&ywFxr+kB+jpII;h$1O8hbe^uL7dd5scBlkmfJJ(_j%o(ZAB3fm)iT(A;o$zfe){quQl3Tw?wsuTS!DJJ+Q|Zj}Y` zKf~Q%)ano!A^E|Ax^BDyU^xGO_6Bfk;S&aXVD~FGNJ7MZfDFhl4E$%4b768Lfh49y zzv&hBvLJLk32m4{sQK;O5Ej(p3ow}wO%D4P56GR9uQ#)Emxt$O|?<({zlG?fgX=Pt}$~XnyV^&1P^LA5ZOhtlM&UjqfwjjP7XqFvT2|?eKa&>8f7z${9aN2iTCV-sa)x06W58-m8B#bOJos^UofHr#Kl>`nEDd zk{ian@uMbXk${-tT9>W81%eAKBH+OY(d5BDdJuC`EMoP^fsZ=N*9ZEWLR84)`99eK z6Y69Li4W>J&C7WST{X1J=~2KA=9~jx(hpEH+OB5P_cUkOXP1^Qgp!pcVlyi33g_62 z8)i-h#sbLVV!=5s@73OolF7XCG8|nC=zV1T(%gqS&tCBfAP~?iZ4-*+AH5Dv!$gct z*5ZEvp$JI*6F>+6XViZ-Atxy=`NIKXXK6^Pm%acMaQ2P<&qf5H4H-f%RiJ{K`L-mQ zg7Zg*I08?X?KK_OopNhSyWOuUYb_WU`T5 zb1p2VFnKyA@Ced;4szIYg7Vp|g7#LL!Vkmts_*;B%V(5WB7X4fk#1JMn`o5f z#vQTuu-W<4g$aFF%|51xhS*zd(?Xdpn^c$$a&ZOU0kj0J#<4+jLnuow=6nB_;n~yA zG7H@hOo}Y$Pozi=DL>`CyfkFa^!vJJ;(jtur|}_$Wrm3Rs9DKCHZ0c5Q6b=&{IZ>t ze9kMR%=k7W7}jWh_7+H&WcUI@10f!ze|99uTa-jkj31H+Rt%s4Vo5hh7?RsxGbRYb zM$$1M1M;ieWA{P;*8b6x;IfgPbnDR7&Lw3LWk!9ou1=Y|MNN#dul>&Z1DbNVo4?9+ z_9%ABO(oYqdeOv3@4OSXQ#`MAqV9L%3X-LY-VAFz4-%y$IqP$-70tYSGpq5!L?ckG ziNoKp(vnY!?}*L6*kvhyvu*P%j|G>G-#M-2o7;ZLPNdLp(w+b+0v&Iipn2q)5Rv(L zl8j~!I~5bpFqy{8nC!VE92+V}T~_P-ht`@#I=wmHf>vbGH_`9HqlPtpK4ON8$5M?t zGpLw}!bDi9#46-}kHtQ*uM%dm5{;k)H{9b3A;N9PV!$!CP!M7%x;64`&krvkc>n7n zg%=G-4a~}0KnC&6Uo?ioLYciCN4tMz^{y{ir8=e||tC$30RD)bWWY@}U} z-UlXIk7}{85~Q`&q>LGi&0@u>xf&|1?-#?1Jl6R7^cgAqSXg#9M;)i_egF&U(Ixgg z7t!N=?W(Fn=GxQFbQ!;zpCKp>ompJ=zZoAERCXhh>J7}fse|?p`(T`Pgd~Bd;#WvA z*EDu_iC01fC>a8yt3C^@HS%IC-7lvnsdMK5)~H{t1A7~41x$L2Zy>+A`Ac|y7+DJK z-)U?CNdOus_ynGB_=n;0Z;KW#@EP>}-@pktOImu`#Qwyh``tsO7aG(Vhryj+`DD?0 zYmV~k=;Vb5&iZ8I4sGcV5f|?o6Q$IgD>adqKZ(Iuq`5RiR2yTSD; zcgoxu#i0m0F94~7b@^?|M;xoixn0~V*$F6X;^UDi)0*w|9~LKlGy3S{s2q8s=n&5Y ze^V5O0uWjjI`lv|Eq&n}_LUnx)WqSz3v=L%BR8H-EEkD@EypPTvDpD6J3Q=Lvq41{ zH>s}w^NIzY%Rj*fEq-T{ucK|0V81`-a#3uI~vtslJ$+{F1DU(85e_0Fnp34!D;0n9=m?Eo6u;6lqcdBK+4OLc-btw=)c<(wEG&Ilji3&8{y zu+hI`4{(`)pdjwu(OJC?j!)+ecFW(HogceuJ_aNIY-4EUHqnyN3SNevTSeu|tIDF^ zix&sSQ<|}xc=r42^n1_7OqPjKjpBTNyeC_YCSE39lGN&5$t~g~=3_N1QfRmTzRZ?@ zF0Mhu(rvn7x3zl0$P&|1h#cBoBVMcenk=Gs?VET}_!)*h`6VYGufAZtFDz z_z(&r0p1foBr@5C&oocLFNh7EG68042VC>o1DUob zni8%VGLwA*`vQ~g_a;h6sc&CEy3ipBqCjZx(ql$eWR)xBGF62ckycH` z+U$#-sPFyDnF~x_1R#)t`k`NNM#kx!K znaj^X(&=fd$J6ZvJ~k$1Lm%=4%D|m3`FS0IREe13`zP}7({CXMfW7U#^AI{-5lfMz zHt$_1BAmlY#dwRAMg&QJn`G4RuSjJU*aBjBk%zxX4%=fT$Fn6*#mI9CZ{+rq66xQh z+8p4MqTZ~+8s>-LGI~)TZAuCLA}NkT+2eybr1OHT8c|PQKz`@7kGj@pxTNXV((15+ zmi`*naf|OCs?;xh!(|Ux4D`ce+gG<%S5fiZ7)g|7k8oDS z5WR}ISb-ED76!QI00L$oG+-koQ`{h8^-*$K0*jusX`-7-0Zy-yKsJW2@Tss2){4gE z@d#)5rjo=+CRv3zB=W04|(89h?Kw)8b^sFKU`NSygCVeD~v-s zJaC^xqd55i?9FrGt_-KI;o{3{+x!!4YMRx8$A=B908_@XOV zJ2Xl~CH+kvhMYwlZ#Gb|x|9-i?SP2`b)J}o4rpEMM$5z;k6)&qmi&q=z-98;gNh2K z7W9Lfs&hPMTnUENVos!cXKr zhn=RN^MggvtElXGa?0XEcl%YR0bd1Tcea$;N?n=F<5rjq{%;ouB5RzZkYoM0nQ1~$ z@es)G$fJ$8nW3V4-|1CPs?!EbLJhEW|Mg9T3A~v=GEmVGDCl6u*|0Y9Xl%kdvfMmL zWUwd-CZ4eTF>$~GLo>Hq4g@!tR{*n#e*;b6(p;|=qVCaIeb~BbGE&@@XGBt?Ugcdq zyrZYmoSihIts&7Z2Q1>V61MIVjKc%H;taMPPa^!U6v=lsCcYU_x0iwSEFTGO5oX$H z+jg4XD+k++d%(bmbQ)Cr7@KhSS0t*UN1n!iyFJ@ELw1JL32QDS;VNB<-74aLt&f|5 zuMmRixT)3-j>hG{wSBMY89o;1TF066Jx&Q@t!&h=#A``y+B3e&|zxL31PPxshXTbaYp-+rUIUuCM0ENqm5E`N{{2QdOj z{}V8TK2#hAG>6hv2}nVi{~7n5OOQn_Tz=KBt6bH*N<3h3ndM;A?!>HyV=0@Z4sHK) z?{jyy1*httkOSQIX%&MC+HO+!WEKoNij0G7C2&iEOh)Bwxvn3qHiSd4xrK{0{|4i* zG-9*eCA5_81_Ta>*i3|q|A-!7>WxSaq_;3NZAmDo=jvf4RST-5yG6&=7${=G7QA2g zk~Az&IZcIe+z6P)iV}SnZMrRZ;IY%6J=)1=Rf3PzBr1YyOwQ)K=i%@2w64ZWe8jhA zQf^!vw^-iWXaiksxI{gc?)~Q}LmZ?}C(j|o2A=s=z@;}!C)6+!Lnwj;J9!fO<1KdW$TO^D zWucU}%(EIE-1igtnsq{8TB^V3(*xILe&rQ*uYl-T!8)Mp94skvkHW67R%nn9k}=4_U~-5FcG|#?y|Rhx193wX~I#w z&wwxC2s2_e*+iB<*LV)AF5fHS;|_&P_8G z?~Rf?A;DLFVg5`q{v!!f52-vwd^s2^;;dMKFi2X(Wi84;t{CM`?yIEu81h93p+UC| zbd{l_JVZFnCNj6m_`rNH`Iltn&)~CzTCF3`ZXDh;jq+mzYUD%zi7#is^81THVW$8~ zNI=DLoNrz~%V$Xw+&Z0@l=Shg$;QCjwrqYi3IoC9hGEUkQVZNCgccw|y5k2UFP8ZX zf)EUBWkB`+8XwY#^(hP}e2@%Ik0eLqbSulfLTRmp#aL==Yz4F6*V+o@P?4xgP`zJ_ zs8F3Q@Kp1*xlr>p=v|6RHac0JwEX0y<5yy>Po&4SVm+lYv4>k^b?i{&cXf2yx-pw; zvslL{NmC^O%YW4?$9ysD|8U#a2A(PF*fkY>g%jnQqH%#5 zSbL-ex=JOnC35tsH7=GQUxDf5azY}4!?sdVfBaD!iN;Sm+U6z2$C4A*cPO%jnUoNg z!6*Qjb3;XF96fcf@!ypr(2&Od2F!1d%b`b&Kt95`$S9DMoUyK_f5ujvh*q0p zKnxDLt!nz^U-4J55`{ihYaFxAgW&RcpC>$c7R$rj33UcG_dC}18hf6MoJCm{8U=Qb zf9$(yP>FWmygabl@?=QQSYu`o?lQ4nFViy`rv^Q?>LAI>jW${f_KBK9upHHE8A8|R z!~A#V-MHA7C-o7sSR|&FgjpSo^bfA$=Qs2zlD0@Pq&Z0D9}Ds_`AtitZP}02JdVs5 zCuy~9(&Ef2ao(L6BH)!Ux>xr@j;F-+A_n)jBcR)4Q-?o5HI5V8PMzQs^IQ~YK9ddJVe3bcly&Oc4sG7ct5R`|z`~rH z&pXG{gETAY&1M3aY|vsz$W|Q;XKPZ;AO(XY8PRN=b#exi*x;mZM|1Zf8KK`?CX|5= z)T~>BKh!IkJIUgDlIf_ZNvRT=$T>Fo?w86|e$1`Qhh%n}rWyBdunnAL%4nBNv1EmJ z0IMFhWSdV|JEwLrtCK-Z)`tA5U`-Yg=~Uh+h@6!o{oFwknfd;w7X{KwTVWr$g-{ED zHaNN1_=lqu&gu_pPQJ=qcl+$P;p?#9`Kg`=^S>P5{j#=r~I--4k7aq*i^iS~;qCnTPcMHFwofRc%}Ua1Pzl-K9uM zN;e3Il(dwzCrF2PmcZY;DC`gNRsx(M^WOFS@y0g>V~@Q#d#<@= z>^0Y1d+p!s)FjG%THZcjPW3Bubg20NSj0bGP{H`<=!O$SK;1k@QjoCKHF>v2`<72X z*Hf?j`GFlR^K=J#-t5#;IhDkgZk;*p_j))QL%HDCH3a4>rOl`jUZ>ATt&>pL-WKhS{X=iE{?^x#JXhT$G=3CaN$)&Eq1r5Iyz?mDm z;Z0NQ@r#rYGeAgF*r^y2y+JjbCtAi~z!52&%|erMi(z_brKL~N1-Hf7mj`#<>rU&e zq+c!tlh`a%y%V1PAX8sCy-hMk>`-DF{dj2QiEV%6E;X1c5;UL5dW&>P{CF`4|OQ@@*B@(bI6Ci zo$>68CuEVoHuVi7pyo%y2E)?uU;7fq=J6jJh+U6Q3wM#OkmHIB2u~L&bm=YPY&vCj zbzpem?^^tj11DFZMDdZe;q#h6UM0ValI+lt?A!`w(p<^)`ux0IeJ{;(vu8^^rlPTX zDIvGNUiFAhi$h0zPLAvgswoP{)>WeujT3P_CVIhl<(0{N8uhi6sC(I=b~SPj1j3)+ zkood!=f5Gd0;QN?z0Z=mC1sq}@Md7>>mK>XhM6k32$e?`NHqwr)H~%1R3$hk9DNW% zKMo@d&NZ3|pIwM8>9iAguBVLJ{K5t?3s5%jP{DdD=)woF-FlQbVr8+ty&1(7>3%d-8MRRO z0~UX#p^tg?UsIiARbMXip>#I6ypLPXbPU1I zYPPeJ_M}k<5xa?Fur8(dOEsz`LAXo>;@PWRQ4ejI*U0Ki167REWL`GxB`ddJCO8}< zHphR(?)XI@2s0oLusICYOEFOO5}o;L$0KXIx#Wp>UHIq2?_B2AjBQ-a8`j=&SC7ng zSYc9IHhyW))XZVg08cT?1y48XSzw6MsrS8Y{)H8#Ex<|wW`=eH*H5KuS>$&9$DFU~ znJ4iLv>g45kOJP>7OG#Gfr38*+g@P4JX3CSW-!W5V_T}5y8Bv(KqIxJ9ZR3`<1cN1 zzU|gX{*i{k`uy!AFwg4~n(Itb$g-A(C*_NDmYJGbwB^woEsmx2$Yz+66bx-&U)49; z)4d*w-4_fn(Hvx*7EI|fePwfWfU9|B z8u`=t^>+tq-`=74M36|v@vGN^UU>jw0>DGC(kn!`ehYI(1MffY&hP`&IgHrAnk>CS1Vs{#-yy(#=uX7q7K^4f%+` zg;8{c5m8fD5-@jCe`yMQ8|bAx%yf&(HJS2bOZamQlo2P56`K#)zCCUwhK=NAG;h#4 z%;x(XF90cjit6xWAP~lYiJuqf(Y}&K>6)&Fcz;r*;$4;i4%Y_6rgba%O=A2Y^!n8B zpU5~S-f{4i^xU^_d<$TIa%S++%-itb-2o-Vpm(xP7tJZCnDE_7SmFv}sg97Xo*K4XZJ#+6y71Gluoy9qHP-9cD|qth z`Y}AKV|jF!bf=J5$!N4>$x>%M)rcB~{)tJ%AM3<$ikjhu!YNXZrTxyB%?Q(&mw3{< zvs|7As}q{P-~C9{G)_6umNmU8fM>3IEFT`0G-rZ$&5KPGAAWiQ^eofQYvavZ=iGN> zvnaJsS&i$HheW_?p_m!M`nNf2yV2g#*vpmb(sU{CIo8)tJzaCbp&1lpS%c~UF(W-c zCe6qoyR0yUlLU`)Fe7ewCgo60IYph@IJF6U^0UnfdD`*XS@)*<8sMZs#1~&BUl))y zYtV>be{%K!!FO#7&>%1{dYWe$O@q=$t5Vs*shevg#-iP_H0-b)ecKYBR*@g#6%@}c z-&{Xt5x?3VL)AKc@(FWWT8jM{(wp>+{UMt7Gx&S`UWOxqwnFp=tlC>LLZZbhC2vkY zgLJ$7?MFK9boymDf4n8uQPBVKA8n-oJnFjcBRFLnv zG&@VvTkhOvu<+DIlSI9bF%*rvwDIt%(OK-I7R2eDOXLw}SnT=za0`!J?4_FaImM}& zHD=;h{;~P4z6N4%sJihMV@$}Am@(gj3X9bpo<7zd)@!aPVX?Wsjl8GX_nNd$Flmvt z_T9VIJc^m%^J$g~L4xO)E6k;@`*+jc$lok?QZ?xjI$Bh$3&6ESmEV=q+z!F~94sN- z>5}Ge$}P0lp?hX<@`eawN|H{dkAxS#1SJcyePGYl^;wrwK*Hy}4XxY|M%zLlpEr-3 zx{m_VUd97vT&W7BaqA!p9~rx*Mw$+B%G~k53F=qQW0uD|RZ&&c`g$7NPOGN)*TilP zc4h7!DDp4NS6hQlblf~`Ofy#I-{N$f&EbfUeySH?iep$Sov43`DX#SieqU=ZpJqZ) zg}(k{lx`93@CX_uPXfX1@Xb>*;?Cv>)wniKk(0PVCW2vgUn1AJMmeT6qqr|avc?Y= zUp{>w8m??agC`TVX-m{*&a~`tdX2RAq>U?In1-bcY>|=#hrNjbRI?yWHH13q^>E}& zkV@mHQRmXMFS?V=d@)PMH3A4y>fpEbpYgY?r$*-A`0AlWunWcUck9aK*E4>#z$koo zz1!BBw>t}2URJrDLfeHYBc)G~>b^e1U7{DLU45hcEi0@DbiGgZAy;~Z*)$Fo!3*MX+HRCQLTsd)oLnOqk0#S>U&-?;Ixc%Jv-JS4`ovvYqzE7`zOpGJUF(damXty7G!oR5Cl*5Rs?;(e>HJh2xjVQk7e zn3`{tiEfq{1>iCtwa12ooC{5`bBvd^M}3{H!h_H#s@-I?AU4l%cKF7gIoFLIsuZe!)mJ-y&edpu(7q$G%V#39y5NGknF2yO$Ul))rE;`tP}cEpcu zuhu|7!*r{(pCR3z$r!vUmSXe7fq}LD4YR~Uq}%y9Vdx`rFQ?<^WFl)S53q``hY}@% z$}F6NJuU{aIB@&HrbdO;pD(2Iu#2iekfoMZlt{I?l#szxBR(`YveK#jTj2@BZmtXm zwU6w(4CFGBZOJ({UZb0Ic{IA8zKg!FOm03}f43blz{><7%?vw&!xG>t<5_tUQWLfN zwZFlSTMq%le3KP@9JxPcYbPuTw9xHtKXr}(-;K+x-CLnOBhYJDJD1&(n@F7s_S=O& z41i;8en;3;XJ3gO`h>wtlVF{J7~jI7bv)f63DV#NVDR3!heyCK=nJW8Y<9FAN;b1| z9uWPQh?;KEb;iQuJtP^_Th2o;E(vE}VrXIwkE>XVjf8kD=vsu;1;zc+Q@lFCPfmKJ zSmvWU30vr&MH<3;m8mxwF`t%cYEXp5MoK;0AexUL<(vKBLy6p6&2&fbA+vt1xb=lO zvtr-+xDH;*6XkN0JzWx)yw;R!{_p(?Zm9NQJYx*oMXENRl$?5&DTsN2WTA0h?I*J} z%kxF4d`(<|@Vfd!MxF9*7Bx2?JDCT(GGCKy>oS*@hR>Ky(b5Y_Y7S*?;-J~jI~Jf` zK3fHu$9?^HR76t?e5o@McZtN4KVp>9Y+hfu2sY#w4|G$`=Iy+)q@_Up^8C7xp~jbi znHC7SAu)+oVO1*U@p~a7UT?kQ=em#nm$q1`5yVZM( zQA$N!F8&76`J8p(c&cUB(j%Er+?Dd`t34y=S^c!J4igk&=z1uFyGH4LX>KZrLI!&^ zi;A~r57BFKJON;?DthB!!TU&uhfFiKUD>Kpq_LA)2;D+f)=GEP zGzwj7Kj*T{sXmSeZwIeBgEpzKJGxibMuiYTpuJRxL3OZMwyFuCwU;--2QXiIAPw`! zwQZX0gX^Q3jE8agiadp^(RxAt3kn4mYo~W`%!hI;yv+_g^_Sc8bb0Ut&n;wxMe$=S z^)jDnTx#mT=C3psChD@|dEHRn|}Zkwl$Ws?f|E-A_tx0rPeHU#GU*off)ZnWp7$B(6?f z5S)Bip6t12lx4ie6-ru>#@*yJcY8onHqDFwb#-fdFpm68v!^yQ*nJ?eF zvWW3t{rp_=V$xZgteZ1&-9P^IR=^ckPtE5!M3Y+rD5EsWLqYOtA1$zl9W*kmv8dP! zl60@s9i~#6e=0coEcyX^G$GRJK8H?+U6;KqPVdEv3n6RosrKzWoBlnchABcs-aU!a zoJB_3^;e=B_A|j|z6``(cc_M6I<(#{j`UBn-Dy_uWTeT+yYtnlO5@@^_;WpY*9_$r z)035O*=fmfb|id` zKnQUx>;?CKyy-d=cUWQS5*(WYCc&JbBvS|7AhgY;VH*{VNx=f&c8#*G2DxQ!tu@%7 z?-Gz=-IZ*^p=0Xzxwjt|gePHaQi$KlnUj6X+~Um|57zaCuJYl`VVPy+htxfE0*N}; zZf($chdqMt5z!;7RDQp@bl^M1WKYPwkn-^r(HB>cg-r6h)TFrQ*8+mw;Svn5Yc{h? z^HFB8sosf?P{wl9A!U#Mq(oZmQ$FzKfcES<+c-CsJ6s;?xNCk_3Z8JW9H%5&1x1k3 zoL{kA+5)>tOQEpScGa=v)sd6_u$@|M@(NL`(csrXtOhICN^kGv!L!slGH9nduHPEw zbua=UOL!>+G*U)-7Z3;x#6et!IJ)yTLpRp(YZYhpIFLD}ZeH&TClz#kULBaIf7Ed{ z%jI@Pf_sZ718E`m;#`+QcEZVfkh`xeiqOscBW(#gS5Vh{`9ZwRkq0V}Rp8+)fiNCJ zCo3fT(4$r%aD)S<#vs(!&})@u;0PXvo>G=Vf4U(G0->iuue+cJtUl;JX`rV>01*Uk z7JAAGoFaT%JqZHNFrcX(+_y!gYtUa2so?5bV?oE0s9yfuIW<6i0k3Ar5Zo0w5Ss^{ zm(#_^Nq_e=V|h`mW+dgrTKdV=?b+V4BYqHvD9XloN#m*YAlpYLI8Kl>2(1}t4-6zx z5Rg9ffVl;|{w9tAz!(SGV~8&Fmni6g7PuYp4sZr%0KNS7`T`TU4+8dsUPJpzK?U5> z0lmcq`Y#~egMhF@fg_|DdioxEpce&!uv_S_Hoo0`50H=_O-U>nYdGeRp6wGr?}99W zKp+7q9KF)TyeLXewLM+|i)pgx@uOTQ`JaE7Ugi*r)xDqo1N{|_4IpQQi2?s7`H!Xu zl%W(b@kjoKf_UpY1q}Q`7!+u#Kd{`tF9Z?vQX+alXbUv&X0>ZSN`*k-H-UZlxHUuF zzX%1l)Jy1LndR~GKjHMZI+xC`pd{S5UA~g0DQrf`I5GPC!vX_W5wH~o!sa?7?%XxO z8dqZh3a7=Z*|(%jfN!?R9TpWfXy(oDYROSM6PIL>8pJA!Vj|AP@v;2j^JG57kP%( z=Kf4st0I?}oBtWUm$QxPd|&kF;x&3ty!}V=iC}vT5!(Jf`ny5IQP>y*$F>V>d($aM zCbKx|XV}8Wg%bD!GdtB5uak}iY!E9#keS52$|n1?*tze0FqZ6QppnZRR8W3k7kEpt z_ZGOi(OO^i^P`xOOl0pWa5^(n*HM<%=%YX{60q1+7N&K(qA&EKnK)yi_yMFZ8MhD< z5R9BdTl;wOsN-xKJ9oqTUOl%e+GnB{*7UH$a*0P&y06!GU;jiGZ}p%(@HtjM6&I6} zaz%)`g|;{@Pa(T`659BllsI~xq{9`XRaz11ks}4SM4299zEsZpD>reJ&bf!^NX3K$ zoCT)S5PRkem!#TbmF?XF73ALB%iYh+Me|y{E+8@@ioP9e&YHP#R?pbRmDxzSTH>MQ z-m%Xbx3sI{kFi8<(Y4C4H>XdsH#O7kqae@i+GW%XN4)Kf7w&U>yzVEM^ksO70x|0g zNfS7+Y)mVrx0ZxI_<7S+gCTYW#7?Qu6UnIyxH6_^!afSrZpxJ}QX||@u?UKA)Yf-b zXA*eU-@2~4iZ0Xo&B13n-KN??cuFF_d*!7$Mr2loE_3=`C@O{>0l~d;#SbhBsZSC= zRBPCX(D*E!`B*tfmEN=@cx&1rK|rM`kMT^fdOOX#)YH#NDa7hj)F&6i=FyP{4H;hN zJG&(H+xr@v#mk}9H4HANy$BA)c!Ahg`qeETkaT6dRvk)-7Skw_y#j|vQ};4TJ?%x* z7kbQmf5%8S9(y^q%nga&I$I9^SUKS`Nq&C$);W(G%<2z58UOv%v*aG64 zdWbXy6y1hnudBCwH0Wlygg1+D&Y47+T&{vXxFbI2V>GDAP-*26@NnbB9SKc3qi|{= zqxp+K?MTY%v#f1CtWOCE@3iqKH^$ocQJ#58%%4|k*yt(GRG{Q~55FiA==nl0-7mg) zpgA@G_C9#LtLtOK0l%*0A{AN0(xtf&sU#%DHO&R1M? zuUTMEO(TC?%*m2Jr8uGFZ`j1|v&h&{Tv$r%onVB#SgrYdFDyri(q&eA98l@|sST z8xef7$P_JYRsU+0sjyIuT7RGCnPY3f>PMxf4S9p|NU8`SI=DN|X5mPTtBs=;`+Ijs z{dekx{TsMGl#LzklWC?>o)hTEj<(Gedh#Juf~UDp!h6g# z%vw@75Ggfd(!-XP$1-nJytn4+wiADMc6zMDy?D|-&xvf2n6B50&zRS zK6If87|?>_QSE4IC~Hc~geu@X$#yl4xjWV3ULdsjY#q3F<`#=Hl&Rjs%A8Z7S2&kZ zct20_xVQ*kmwqmIlp8s~-MoUiPtaev^gh+T%Yi;u6EXumBd3|W@)q%XjI}mlY<3>| zhDtUEzsU6N2um%+aTKxxqD_Ho+Pd4dS*L97r?!6aMh_e@u#q1{n?7s?+Yy{zqq{yI zjXWnjy>lvO+ontmk6bG$pjhO$>pfP2-4@6!f(&njpg2A6PiB@_b0^=v9UO+$1X zB%^@0OOBLqGk|;4Y{x&9ajaC*J9JD!r&Mui3@bCNJ-R19y4kKeLL=P$c|c4RWsFS1 z)da~fk&CdFi>0ztI~G)$3DGf5A>l{1@T9he=Dz8f`d9FBAfb!7n_8yiDx&?8s)>(> zzo-t4D>O+h;dE9%_e`t5lJS&)3XBKu?bs@A6}zJ#PuK7?!6Ppt ze)go}sSUN-ExOZa*_ah<#ODtU&83Av1;FPrW|>z5LzmqNJZXrOMrk>~h=NQ`=9;Ip z%w)dX6S5*t#w47q^59P6w#bU)q^(S=5$LF1*}Q6XaD@Aiw&U(Fprjg8$2K!WP&!R& z&M);&s84K&!I!ex5w4nSkpFhgio532iHm(->Vs9Ox%9aetJ~`6S-GW1lf6_Pd+pBs z_7nZ|h1-T1DlU*Qyr(!Bjlr>;VG7Eygciu2GOqoMdM2l;ddTvAQEMHu=0 z*VEZXHP#zb>#032JIo4v+k?D@3lPV*6?0Yx^NzR~PDabHo}&#G7djgCB9M|ec;H7+ z)81ndm)#52b|WG!Tx%zB2j}fg3ri+yU{>w~KBU_iHKE*QV3t$U;Xn#vrm#F(?d(*5 zFb9T3BJnsAw=;3@D+Qk%QXQqb;rA0dS1#mR_tS>QkEueamhAcN%T@>UOCJ=4Wgoq` zCad}Epxl-iQHbS`r(#--kO}Y3ia@Vhs0SMgb>xerD7C;FRrDcff$KqxcGKD;Pq~$t zmCo0y(6Q`-GpO^d8aRrif;bfdQcVOx%OxDF^-l7|FR+mGHvOXpqxKK0)eH+2C>J!* zd2+Bgg)~t_jV4n-BgOZPZExTx%8PVr5i)!=vETa8fW`yhMwu(%SS4rl)^m~-$eUOh zMxReA0TXe3C<@-UVnevlR0EV_8fQ%fY~XSa_<6#7`5Y2E_?>XAv%=W*h7Iu)* zZ%pA;4g>&P8zf3>fQO4WQz4O}iyog)?NF4)5ZPyt(xU;xMcmB=~=lk&SIV4+<9l?F8<)DVC~YW)Fn4J{81 zp&Ty(U&V30@HJHQA%2!{+BiirmLuf0#g+c?SLag<1}WrTh%tVBjq}qF_?WL0Q=P`Z zw`6FZ*_|Y$_ofTKyje7uFsvt=#z^1y%;UIaB8J?6dy3>p@y3JWWnB9}VUCNTGp?W| z5-`oNJZLH9;=;p-+EiKofizy?8+L@;*Y7stT>I>YJ9&AAt8>D<$TvIr>DUGc7V+P| z(5Cd8gb#m#y18CECR}H_G?OhHx&0x?gjBEmj$p;-;u{$?>o(eQZzGj1dT z$;36~Yh@q3dmcFK8ih4E#?@l6v~qTSxz*7q)%14XJ(;#|mG5rJ!9`MxmT7s!DHGxA zDsK@kvrSKe7E6fYSQwl)e@4JXA32>S$?bS~=1SXoMMZT6l*RVLyY7x&X3bvXWM4>- zRh&(1aM}{3xxrJEe6OR))SI{Va44f$*FSm29?(_>Zq{MrGCZw_wt%y~o?dU9TA0Sf zQW-I;J801YxQonp>~4*pjPYX`4MK*qK|MkVZ>0e1qfS+;MN9a=!=A z6faEd?aN*SFV)f)sO6+7=s09BNey_D<&zo|I1u@Vn?!Coyw$7tShIh|QuVZhUv-E*@HFu48 zTdN;*+$6B{Z1V^0Pp5w5l?va-@5_q$S$S~oMW#gwkL!<^c-LEKFc5G z0Y0+(clH5+n8~}FgS|(0RJKhEV()&D3B8yhiNEd?3mR3l0h)qcGxu`4@V3k?TE689 zRGaj`kO&lYgo#OhsYCEivIS!POV{Yh89@x_3jnS04{Y-9CUL(v^q<6Vra@6fi7zqs ztnqn#qPf_Sl2$3v>m;Xs`iOkqg*MSZv4G2-GOY^G1MojEN*etQ zeE~|yGC(8p1ONM^Luw;Aaq|Q zgE~A)$d~Ul|8R}`Pa6Io7~TI|M7^0f{BJ<|oUjqGFZc4Ba94wYPkEr0fB{^6ndr}M z0yHpitN)$`YQ2X)rttq%G^nd99irum6!u?~i|4(%T0)0b4{+)?4)Sv%l@_#yU{%&%p`GCnb zjPfvlFBX)B`L1jyxP{xl*$ z1FHncB}RYJ0Al@71mw3LQ<$|kF8A;ke}+|9<1*2oUHot2s>N@|Rp`h}8{s|l?0MOg zKzz6r0z=t*VfR!+qjSpx;0O%Lf7HwPeQW#t zo)iBs<1irBzpq7iSvSyU^ZTF-vm)GINWRCK@6Tp3jDic7iM~7W_gIts+ac8Mw?in@ ziBUj?4#=n%o0X0`i<8Nr?^3MZCgA60Nx6%Ptz1hiq%72Wyr>ZZ584KgTCrldjaw4( z>w$AmGtfq7bFa?>uwen5kh7u zJbVY*r{4?PMcfkR7tID>7ZYNqqY3CU07NQS6`ub(D3?9XX#H>mI*>H?iRR`2sDUB< zw_~~Jk5~?Cne{Sb9D^tCNR9E#RzL9B%$q{vvf%H<<>Fl7)!~=>Hjv5qtyB+yp6hqw z^Q(gfL>mw$^w9z`)!&HB5)TR8k)WRQXK?<9A_E#AhHew${8vhS`N_ScBIxDM1Hk_} zIRCa-|DS_1&yU~?Nu@JigltR>jr7sNxrU{ZHcSpDF6!7o7S#H$(uoPC`cw%>QOK z^uJC~QJVf)f(q132>mXW%6}!+KM!z!EPMSoVU0&D;mP*|3{S!ApUUL~4Q2p07@z%K KcEUfBj{gH;!vvTB literal 0 HcmV?d00001 From ff901bec0081ee1d4806f3a8fe14549c276675d8 Mon Sep 17 00:00:00 2001 From: opencode Date: Wed, 26 Aug 2026 15:22:45 +0000 Subject: [PATCH 09/21] docs: redo Playwright screenshot evidence for PR #49 Screenshot shows the flashcards deck list with Biology 101 (12 cards) and World History (8 cards). --- evidence/pr49-spaced.png | Bin 13742 -> 60022 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/evidence/pr49-spaced.png b/evidence/pr49-spaced.png index 6bbc68f4c3294415979f4ffc6a3232637de177fd..013324637cc3bab79fbcb28ca132690bdd273ae6 100644 GIT binary patch literal 60022 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 Date: Thu, 3 Sep 2026 04:01:04 +0000 Subject: [PATCH 10/21] fix(study): correct study_queue/review endpoint URLs The extra slash before .json (/study_queue/.json, /review/.json) does not match the DRF format-suffix routes (/study_queue.json, /review.json) or this file's own convention, so study mode and ratings 404. Use the suffix form. --- front/api/flashcards.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/api/flashcards.ts b/front/api/flashcards.ts index 83ff9761..5c4d3767 100644 --- a/front/api/flashcards.ts +++ b/front/api/flashcards.ts @@ -153,7 +153,7 @@ export const fetchStudyQueue = async ( limit = 50 ): Promise => request( - `/decks/${deckId}/study_queue/.json?mode=${mode}&limit=${limit}`, + `/decks/${deckId}/study_queue.json?mode=${mode}&limit=${limit}`, { method: "GET" }, [] ); @@ -165,7 +165,7 @@ export const reviewFlashcard = async ( rating: FlashcardRating ): Promise => request( - `/decks/${deckId}/flashcards/${flashcardId}/review/.json`, + `/decks/${deckId}/flashcards/${flashcardId}/review.json`, { method: "POST", body: JSON.stringify({ rating }), From 7580dc2da23e1acbd98fb2dc9852b4bf151556e6 Mon Sep 17 00:00:00 2001 From: opencode Date: Thu, 3 Sep 2026 05:01:20 +0000 Subject: [PATCH 11/21] fix(study): format-suffix actions must accept format kwarg + fresh evidence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DRF passes format='json' to custom actions; study_queue and review rejected it with TypeError (500), so study mode showed 'Nothing due' against a live backend. Accept format=None (matching DRF convention). Evidence: real study session β€” card front, flipped back with Again/Hard/Good/Easy + interval hints, completion summary. Also fix /.json endpoint URLs and guard web notif crash. --- back/bots/viewsets/flashcard_viewset.py | 4 ++-- evidence/pr49-study-back.png | Bin 0 -> 25301 bytes evidence/pr49-study-complete.png | Bin 0 -> 22755 bytes evidence/pr49-study-front.png | Bin 0 -> 20663 bytes 4 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 evidence/pr49-study-back.png create mode 100644 evidence/pr49-study-complete.png create mode 100644 evidence/pr49-study-front.png diff --git a/back/bots/viewsets/flashcard_viewset.py b/back/bots/viewsets/flashcard_viewset.py index ded69050..09bd8fe0 100644 --- a/back/bots/viewsets/flashcard_viewset.py +++ b/back/bots/viewsets/flashcard_viewset.py @@ -70,7 +70,7 @@ def perform_create(self, serializer): serializer.save(deck=deck, order=max_order + 1) @action(detail=True, methods=['post'], url_path='review') - def review(self, request, deck_pk=None, flashcardId=None): + def review(self, request, deck_pk=None, flashcardId=None, format=None): """Rate a card (again|hard|good|easy) and reschedule it via SM-2.""" flashcard = self.get_object() @@ -187,7 +187,7 @@ def perform_destroy(self, instance): instance.delete() @action(detail=True, methods=['get'], url_path='study_queue') - def study_queue(self, request, pk=None): + def study_queue(self, request, pk=None, format=None): """Cards to study, ordered by due_at ascending (nulls last). Query params: diff --git a/evidence/pr49-study-back.png b/evidence/pr49-study-back.png new file mode 100644 index 0000000000000000000000000000000000000000..678c113e947e66952af6fa04d26b833ac3d82447 GIT binary patch literal 25301 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 literal 0 HcmV?d00001 diff --git a/evidence/pr49-study-complete.png b/evidence/pr49-study-complete.png new file mode 100644 index 0000000000000000000000000000000000000000..b2715e938141c0f2a9163114eb955b19f302ae67 GIT binary patch literal 22755 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 Date: Thu, 3 Sep 2026 14:07:23 +0000 Subject: [PATCH 12/21] chore(49): renumber migration 0039->0047 onto 48 --- ...more.py => 0047_flashcard_due_at_flashcard_ease_and_more.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename back/bots/migrations/{0039_flashcard_due_at_flashcard_ease_and_more.py => 0047_flashcard_due_at_flashcard_ease_and_more.py} (97%) diff --git a/back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py b/back/bots/migrations/0047_flashcard_due_at_flashcard_ease_and_more.py similarity index 97% rename from back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py rename to back/bots/migrations/0047_flashcard_due_at_flashcard_ease_and_more.py index fd4a1bc3..8b050c79 100644 --- a/back/bots/migrations/0039_flashcard_due_at_flashcard_ease_and_more.py +++ b/back/bots/migrations/0047_flashcard_due_at_flashcard_ease_and_more.py @@ -8,7 +8,7 @@ class Migration(migrations.Migration): dependencies = [ - ('bots', '0038_alter_aimodel_options_alter_device_options'), + ('bots', '0046_useraccount_onboarding_completed_at'), ] operations = [ From 2a9d8ede7c93c393580db89d7dd515ed8c89c6cf Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Wed, 9 Sep 2026 04:46:39 +0000 Subject: [PATCH 13/21] fix(49): address review feedback - serializers: default due_count=0, card_count=0, last_studied_at=None so deck create responses include annotation fields - srs: hard now increments reps so all-hard cards progress and later good skips learning steps - study_queue: limit<1 returns 400 instead of silently clamping to 1 - study UI: don't advance on failed review, reset rating flag in finally, functional again-count (double-tap guard) --- back/bots/serializers/flashcard_serializer.py | 12 ++-- back/bots/services/srs.py | 3 +- back/bots/tests/test_spaced_repetition_api.py | 18 +++++ back/bots/tests/test_srs.py | 18 ++++- back/bots/viewsets/flashcard_viewset.py | 4 +- front/__tests__/api/flashcards.test.ts | 2 +- front/app/flashcards/study.tsx | 67 ++++++++++--------- 7 files changed, 80 insertions(+), 44 deletions(-) diff --git a/back/bots/serializers/flashcard_serializer.py b/back/bots/serializers/flashcard_serializer.py index 46b43f00..050a54a8 100644 --- a/back/bots/serializers/flashcard_serializer.py +++ b/back/bots/serializers/flashcard_serializer.py @@ -23,9 +23,9 @@ class Meta: class DeckSerializer(serializers.ModelSerializer): flashcards = FlashcardSerializer(many=True, read_only=True) - card_count = serializers.IntegerField(read_only=True, source='flashcard_count') - due_count = serializers.IntegerField(read_only=True) - last_studied_at = serializers.DateTimeField(read_only=True) + card_count = serializers.IntegerField(read_only=True, source='flashcard_count', default=0) + due_count = serializers.IntegerField(read_only=True, default=0) + last_studied_at = serializers.DateTimeField(read_only=True, allow_null=True, default=None) profile = serializers.SlugRelatedField( queryset=Profile.objects.all(), slug_field='profile_id', @@ -47,9 +47,9 @@ class Meta: class DeckListSerializer(serializers.ModelSerializer): - card_count = serializers.IntegerField(read_only=True, source='flashcard_count') - due_count = serializers.IntegerField(read_only=True) - last_studied_at = serializers.DateTimeField(read_only=True) + card_count = serializers.IntegerField(read_only=True, source='flashcard_count', default=0) + due_count = serializers.IntegerField(read_only=True, default=0) + last_studied_at = serializers.DateTimeField(read_only=True, allow_null=True, default=None) class Meta: model = Deck diff --git a/back/bots/services/srs.py b/back/bots/services/srs.py index f9146304..01be7f30 100644 --- a/back/bots/services/srs.py +++ b/back/bots/services/srs.py @@ -45,7 +45,7 @@ def apply_sm2(card, rating, now=None): Sketch: again: reset reps, bump lapses, short same-day interval, ease down (floored at MIN_EASE) - hard: interval = max(1, interval * 1.2), ease down + hard: interval = max(1, interval * 1.2), ease down, reps += 1 good: 1 day -> 6 days -> interval * ease; reps += 1 easy: like good * 1.3, ease up; reps += 1 """ @@ -66,6 +66,7 @@ def apply_sm2(card, rating, now=None): interval_days = LAPSE_INTERVAL_DAYS elif rating == 'hard': interval_days = max(FIRST_INTERVAL_DAYS, interval_days * HARD_MULTIPLIER) + reps += 1 elif rating == 'good': if reps == 0: interval_days = FIRST_INTERVAL_DAYS diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py index 226d28c9..0c5c43ee 100644 --- a/back/bots/tests/test_spaced_repetition_api.py +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -223,6 +223,12 @@ def test_invalid_mode_returns_400(self, auth_client, deck): response = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?mode=bogus') assert response.status_code == 400 + def test_invalid_limit_returns_400(self, auth_client, deck): + make_card(deck) + for bad in ('0', '-5', 'abc'): + response = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/?limit={bad}') + assert response.status_code == 400 + def test_queue_due_filter_respects_timezone(self, auth_client, deck): """due_at values are timezone-aware (stored UTC); the due filter must compare correctly no matter which zone was used to construct them. @@ -299,3 +305,15 @@ def test_unstudied_deck_has_zero_due_count_and_no_last_studied(self, auth_client data = response.json() assert data['due_count'] == 1 assert data['last_studied_at'] is None + + def test_deck_create_returns_annotation_defaults(self, auth_client, test_profile): + response = auth_client.post( + '/api/decks.json', + {'name': 'Fresh', 'profile': str(test_profile.profile_id)}, + format='json', + ) + assert response.status_code == 201 + data = response.json() + assert data['card_count'] == 0 + assert data['due_count'] == 0 + assert data['last_studied_at'] is None diff --git a/back/bots/tests/test_srs.py b/back/bots/tests/test_srs.py index 778ff6cd..c4e6f3ce 100644 --- a/back/bots/tests/test_srs.py +++ b/back/bots/tests/test_srs.py @@ -53,7 +53,7 @@ def test_new_card_easy_is_longer_than_good(self): def test_new_card_hard_gets_minimum_one_day(self): fields = apply_sm2(FakeCard(), 'hard', NOW) assert fields['interval_days'] == 1 # max(1, 0 * 1.2) - assert fields['reps'] == 0 + assert fields['reps'] == 1 assert fields['ease'] == pytest.approx(DEFAULT_EASE - 0.15) def test_new_card_again_lapses(self): @@ -92,10 +92,22 @@ def test_hard_grows_interval_slowly(self): fields = apply_sm2(card, 'hard', NOW) assert fields['interval_days'] == 10 * 1.2 - def test_hard_does_not_increment_reps(self): + def test_hard_increments_reps(self): card = FakeCard(interval_days=10, reps=3) fields = apply_sm2(card, 'hard', NOW) - assert fields['reps'] == 3 + assert fields['reps'] == 4 + + def test_hard_then_good_leaves_learning_steps(self): + first = apply_sm2(FakeCard(), 'hard', NOW) + assert first['reps'] == 1 + second = apply_sm2(FakeCard(**{ + 'interval_days': first['interval_days'], + 'ease': first['ease'], + 'reps': first['reps'], + 'lapses': 0, + }), 'good', NOW) + assert second['interval_days'] == SECOND_INTERVAL_DAYS + assert second['reps'] == 2 class TestApplySm2Lapse: diff --git a/back/bots/viewsets/flashcard_viewset.py b/back/bots/viewsets/flashcard_viewset.py index b673275a..a9585160 100644 --- a/back/bots/viewsets/flashcard_viewset.py +++ b/back/bots/viewsets/flashcard_viewset.py @@ -215,7 +215,9 @@ def study_queue(self, request, pk=None, format=None): limit = int(request.query_params.get('limit', 50)) except (TypeError, ValueError): return Response({'limit': 'Invalid limit'}, status=status.HTTP_400_BAD_REQUEST) - limit = max(1, min(limit, 200)) + if limit < 1: + return Response({'limit': 'Invalid limit'}, status=status.HTTP_400_BAD_REQUEST) + limit = min(limit, 200) queryset = queryset[:limit] serializer = FlashcardSerializer(queryset, many=True) diff --git a/front/__tests__/api/flashcards.test.ts b/front/__tests__/api/flashcards.test.ts index ff0b2fb0..d10ddc92 100644 --- a/front/__tests__/api/flashcards.test.ts +++ b/front/__tests__/api/flashcards.test.ts @@ -193,7 +193,7 @@ jest.mock('../../api/apiClient', () => ({ due_at: '2024-01-04T00:00:00Z', interval_days: intervals[body.rating as string] ?? 0, ease: body.rating === 'again' ? 2.3 : body.rating === 'easy' ? 2.65 : 2.5, - reps: body.rating === 'again' || body.rating === 'hard' ? 0 : 1, + reps: body.rating === 'again' ? 0 : 1, lapses: body.rating === 'again' ? 1 : 0, last_reviewed_at: '2024-01-03T09:00:00Z', created_at: '2024-01-01T00:00:00Z', diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index b0158bba..bc91be75 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -125,43 +125,46 @@ export default function Study() { const handleRating = async (rating: FlashcardRating) => { if (ratingInProgress || !deckId) return; setRatingInProgress(true); - - if (process.env.EXPO_OS === "ios") { - if (rating === "again") { - Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning); - } else { - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + try { + if (process.env.EXPO_OS === "ios") { + if (rating === "again") { + Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning); + } else { + Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + } } - } - const currentCard = cards[currentIndex]; - let nextDueAt: string | null = null; - try { - const updated = await reviewFlashcard( - deckId, - currentCard.flashcard_id, - rating - ); - nextDueAt = updated?.due_at ?? null; - } catch (error) { - Sentry.captureException(error); - Alert.alert("Error", "Failed to save your review"); - } + const currentCard = cards[currentIndex]; + let updated; + try { + updated = await reviewFlashcard( + deckId, + currentCard.flashcard_id, + rating + ); + } catch (error) { + Sentry.captureException(error); + Alert.alert("Error", "Failed to save your review"); + return; + } + const nextDueAt: string | null = updated?.due_at ?? null; - if (rating === "again") { - setAgainCount(againCount + 1); - } - if (nextDueAt) { - setReviewedDues((prev) => [...prev, nextDueAt as string]); - } + if (rating === "again") { + setAgainCount((c) => c + 1); + } + if (nextDueAt) { + setReviewedDues((prev) => [...prev, nextDueAt as string]); + } - if (currentIndex < cards.length - 1) { - resetFlip(); - setCurrentIndex(currentIndex + 1); - } else { - setCompleted(true); + if (currentIndex < cards.length - 1) { + resetFlip(); + setCurrentIndex(currentIndex + 1); + } else { + setCompleted(true); + } + } finally { + setRatingInProgress(false); } - setRatingInProgress(false); }; const earliestNextDue = (): string | null => { From 7b85249233d73d2aa0caa5d5574911a262ef936e Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Wed, 9 Sep 2026 04:51:41 +0000 Subject: [PATCH 14/21] fix(49): update deck/study screen tests for due-queue study flow --- front/app/__tests__/deck-test.tsx | 2 +- front/app/__tests__/study-test.tsx | 58 +++++++++++++++++++----------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/front/app/__tests__/deck-test.tsx b/front/app/__tests__/deck-test.tsx index 7feebf01..2e5b1307 100644 --- a/front/app/__tests__/deck-test.tsx +++ b/front/app/__tests__/deck-test.tsx @@ -89,7 +89,7 @@ describe('DeckDetail', () => { expect(mockRouter.push).toHaveBeenCalledWith({ pathname: '/flashcards/study', - params: { deckId: 'deck-1', title: 'Spanish' }, + params: { deckId: 'deck-1', title: 'Spanish', mode: 'due' }, }); }); diff --git a/front/app/__tests__/study-test.tsx b/front/app/__tests__/study-test.tsx index e96e7cfb..db924e69 100644 --- a/front/app/__tests__/study-test.tsx +++ b/front/app/__tests__/study-test.tsx @@ -3,7 +3,7 @@ import { render, screen, fireEvent, waitFor } from '@testing-library/react-nativ import { useRouter, useLocalSearchParams } from 'expo-router'; import Study from '../flashcards/study'; -import { fetchFlashcards } from '@/api/flashcards'; +import { fetchStudyQueue, reviewFlashcard } from '@/api/flashcards'; jest.mock('expo-router', () => ({ useRouter: jest.fn(), @@ -11,12 +11,15 @@ jest.mock('expo-router', () => ({ })); jest.mock('@/api/flashcards', () => ({ - fetchFlashcards: jest.fn(), + fetchStudyQueue: jest.fn(), + reviewFlashcard: jest.fn(), })); jest.mock('expo-haptics', () => ({ impactAsync: jest.fn(), + notificationAsync: jest.fn(), ImpactFeedbackStyle: { Light: 'light', Medium: 'medium' }, + NotificationFeedbackType: { Warning: 'warning' }, })); const mockRouter = { push: jest.fn(), replace: jest.fn(), back: jest.fn() }; @@ -28,6 +31,12 @@ const card = (id: string, front: string, back: string) => ({ front, back, order: 0, + due_at: '2026-08-25T10:00:00Z', + interval_days: 0, + ease: 2.5, + reps: 0, + lapses: 0, + last_reviewed_at: null, created_at: '2026-08-25T10:00:00Z', updated_at: '2026-08-25T10:00:00Z', }); @@ -37,49 +46,56 @@ describe('Study', () => { jest.clearAllMocks(); (useRouter as jest.Mock).mockReturnValue(mockRouter); (useLocalSearchParams as jest.Mock).mockReturnValue({ deckId: 'deck-1' }); - (fetchFlashcards as jest.Mock).mockResolvedValue({ - results: [card('c1', 'Q1', 'A1'), card('c2', 'Q2', 'A2')], - count: 2, - }); + (fetchStudyQueue as jest.Mock).mockResolvedValue([ + card('c1', 'Q1', 'A1'), + card('c2', 'Q2', 'A2'), + ]); + (reviewFlashcard as jest.Mock).mockImplementation( + async (_deckId: string, flashcardId: string, _rating: string) => ({ + ...card(flashcardId, 'Q', 'A'), + due_at: '2026-08-26T10:00:00Z', + }) + ); }); it('renders the first card with progress', async () => { render(); await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); - expect(screen.getByText('1 / 2')).toBeTruthy(); + expect(screen.getByText('0 / 2')).toBeTruthy(); }); - it('advances to the next card', async () => { + it('advances to the next card after flip + rating', async () => { render(); await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); - fireEvent.press(screen.getByTestId('study-next')); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-good')); await waitFor(() => expect(screen.getByText('Q2')).toBeTruthy()); - expect(screen.getByText('2 / 2')).toBeTruthy(); + expect(screen.getByText('1 / 2')).toBeTruthy(); }); - it('completes the deck on the last card and restarts', async () => { + it('completes the deck on the last card', async () => { render(); await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); - fireEvent.press(screen.getByTestId('study-next')); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-good')); await waitFor(() => expect(screen.getByText('Q2')).toBeTruthy()); - fireEvent.press(screen.getByTestId('study-next')); - - await waitFor(() => expect(screen.getByText('Done! πŸŽ‰')).toBeTruthy()); - expect(screen.getByText('You studied all 2 cards.')).toBeTruthy(); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-good')); - fireEvent.press(screen.getByTestId('study-restart')); - await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); - expect(screen.getByText('1 / 2')).toBeTruthy(); + await waitFor(() => + expect(screen.getByTestId('study-session-complete')).toBeTruthy() + ); + expect(screen.getByText('You reviewed 2 cards.')).toBeTruthy(); }); it('shows the empty state when there are no cards', async () => { - (fetchFlashcards as jest.Mock).mockResolvedValue({ results: [], count: 0 }); + (fetchStudyQueue as jest.Mock).mockResolvedValue([]); render(); - await waitFor(() => expect(screen.getByText('No cards to study')).toBeTruthy()); + await waitFor(() => expect(screen.getByText('Nothing due πŸŽ‰')).toBeTruthy()); }); }); From 072da084950273a31b5413b1559c45369051a376 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 04:29:59 +0000 Subject: [PATCH 15/21] fix(49): address copilot review comments --- back/bots/tests/test_spaced_repetition_api.py | 11 +++++++++++ back/bots/viewsets/flashcard_viewset.py | 2 +- front/e2e/07-spaced-repetition.e2e.js | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py index 0c5c43ee..23c229ea 100644 --- a/back/bots/tests/test_spaced_repetition_api.py +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -262,6 +262,17 @@ def test_study_queue_other_users_deck_returns_404(self, api_client, other_user, response = api_client.get(f'/api/decks/{deck.deck_id}/study_queue/') assert response.status_code == 404 + def test_study_queue_requires_authentication(self, api_client, deck): + response = api_client.get(f'/api/decks/{deck.deck_id}/study_queue/') + assert response.status_code == 401 + + def test_review_str_does_not_raise(self, deck): + card = make_card(deck) + review = FlashcardReview.objects.create( + flashcard=card, profile=deck.profile, rating='good' + ) + assert str(review) == f"{card.pk}: good at {review.reviewed_at}" + def test_study_queue_includes_scheduling_fields(self, auth_client, deck): make_card(deck, ease=2.1, reps=4, lapses=1, interval_days=12.5) results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() diff --git a/back/bots/viewsets/flashcard_viewset.py b/back/bots/viewsets/flashcard_viewset.py index a9585160..c9ff6cb7 100644 --- a/back/bots/viewsets/flashcard_viewset.py +++ b/back/bots/viewsets/flashcard_viewset.py @@ -96,7 +96,7 @@ def review(self, request, deck_pk=None, flashcardId=None, format=None): class DeckViewSet(viewsets.ModelViewSet): - permission_classes = [IsOwner] + permission_classes = [IsAuthenticated, IsOwner] serializer_class = DeckSerializer queryset = Deck.objects.all() diff --git a/front/e2e/07-spaced-repetition.e2e.js b/front/e2e/07-spaced-repetition.e2e.js index 1fad8eec..90eb9f21 100644 --- a/front/e2e/07-spaced-repetition.e2e.js +++ b/front/e2e/07-spaced-repetition.e2e.js @@ -157,7 +157,7 @@ describe('Spaced Repetition Study E2E Flow (Real API)', () => { it('should reflect next-due state afterwards', async () => { // All rated cards are scheduled >= 4h out, so the due queue empties. const tokens = await getTestTokens(); - const response = await fetch(`${API_BASE}/decks/${deckId}/study_queue/.json?mode=due`, { + const response = await fetch(`${API_BASE}/decks/${deckId}/study_queue.json?mode=due`, { headers: { Authorization: `Bearer ${tokens.access}` }, }); const queue = await response.json(); From 99f1793b32a84fc61414a791f1fcc2969d0727d1 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 04:35:40 +0000 Subject: [PATCH 16/21] chore(49): remove evidence files, now attached to PR description --- evidence/pr49-spaced.mp4 | Bin 102734 -> 0 bytes evidence/pr49-spaced.png | Bin 60022 -> 0 bytes evidence/pr49-spaced.webm | Bin 367401 -> 0 bytes evidence/pr49-study-back.png | Bin 25301 -> 0 bytes evidence/pr49-study-complete.png | Bin 22755 -> 0 bytes evidence/pr49-study-front.png | Bin 20663 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 evidence/pr49-spaced.mp4 delete mode 100644 evidence/pr49-spaced.png delete mode 100644 evidence/pr49-spaced.webm delete mode 100644 evidence/pr49-study-back.png delete mode 100644 evidence/pr49-study-complete.png delete mode 100644 evidence/pr49-study-front.png diff --git a/evidence/pr49-spaced.mp4 b/evidence/pr49-spaced.mp4 deleted file mode 100644 index 2498c461040fd737796b093e5271854e81d7bd32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102734 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�FY(u6 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 KcEUfBj{gH;!vvTB diff --git a/evidence/pr49-spaced.png b/evidence/pr49-spaced.png deleted file mode 100644 index 013324637cc3bab79fbcb28ca132690bdd273ae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60022 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%0A0Ce@2fG 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�H18 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%0DSE%O*k0iB6^i{DXnBS$Mw}S*Ide3sM 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%0D_c{@| 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 diff --git a/evidence/pr49-study-complete.png b/evidence/pr49-study-complete.png deleted file mode 100644 index b2715e938141c0f2a9163114eb955b19f302ae67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22755 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 Date: Sat, 12 Sep 2026 05:03:58 +0000 Subject: [PATCH 17/21] fix(49): address copilot review batch 2 - Serializer: scheduling fields read-only, mutated only via review (logged) - Review: transaction.atomic + select_for_update against lost updates - Seed: delete stale cards so reruns converge to exactly 8 - API: fetchStudyQueue/reviewFlashcard throw on failure (no silent empty/null) - Study: load-error state with retry; null review never advances; hints derived per-card from SM-2 state - E2E: select E2E Test Profile by name; assert response.ok and array body --- .../commands/seed_e2e_spaced_repetition.py | 5 + back/bots/serializers/flashcard_serializer.py | 7 ++ back/bots/tests/test_spaced_repetition_api.py | 29 +++++ back/bots/viewsets/flashcard_viewset.py | 30 +++-- front/__tests__/api/flashcards.test.ts | 15 +++ front/api/flashcards.ts | 28 +++-- front/app/__tests__/study-test.tsx | 26 ++++ front/app/flashcards/study.tsx | 113 +++++++++++++----- front/e2e/07-spaced-repetition.e2e.js | 10 +- 9 files changed, 213 insertions(+), 50 deletions(-) diff --git a/back/bots/management/commands/seed_e2e_spaced_repetition.py b/back/bots/management/commands/seed_e2e_spaced_repetition.py index f7d5a394..55dbd1da 100644 --- a/back/bots/management/commands/seed_e2e_spaced_repetition.py +++ b/back/bots/management/commands/seed_e2e_spaced_repetition.py @@ -68,6 +68,11 @@ def handle(self, *args, **options): ) now = timezone.now() + # Delete cards from earlier runs/sessions that are not part of this + # layout, so reruns converge to exactly these eight cards. + Flashcard.objects.filter(deck=deck).exclude( + front__in=[front for front, _, _ in CARDS] + ).delete() created_cards = 0 for order, (front, back, state) in enumerate(CARDS): card, card_created = Flashcard.objects.get_or_create( diff --git a/back/bots/serializers/flashcard_serializer.py b/back/bots/serializers/flashcard_serializer.py index 050a54a8..da11a717 100644 --- a/back/bots/serializers/flashcard_serializer.py +++ b/back/bots/serializers/flashcard_serializer.py @@ -19,6 +19,13 @@ class Meta: 'due_at', 'interval_days', 'ease', 'reps', 'lapses', 'last_reviewed_at', 'created_at', 'updated_at', ] + # Scheduling is owned by the review endpoint: POST/PATCH payloads + # cannot set these directly, so every schedule change has a + # FlashcardReview log row. Still serialized on output. + read_only_fields = [ + 'due_at', 'interval_days', 'ease', 'reps', 'lapses', + 'last_reviewed_at', + ] class DeckSerializer(serializers.ModelSerializer): diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py index 23c229ea..888f349b 100644 --- a/back/bots/tests/test_spaced_repetition_api.py +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -273,6 +273,35 @@ def test_review_str_does_not_raise(self, deck): ) assert str(review) == f"{card.pk}: good at {review.reviewed_at}" + +@pytest.mark.django_db +class TestSchedulingFieldsReadOnly: + def test_create_ignores_scheduling_fields(self, auth_client, deck): + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/', + {'front': 'Q', 'back': 'A', 'ease': 9.9, 'reps': 10, + 'interval_days': 99, 'lapses': 5}, + format='json', + ) + assert response.status_code == 201 + data = response.json() + assert data['ease'] == 2.5 + assert data['reps'] == 0 + assert data['interval_days'] == 0 + assert data['lapses'] == 0 + + def test_update_ignores_scheduling_fields(self, auth_client, deck): + card = make_card(deck) + response = auth_client.patch( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/', + {'ease': 9.9, 'reps': 10, 'due_at': '2099-01-01T00:00:00Z'}, + format='json', + ) + assert response.status_code == 200 + card.refresh_from_db() + assert card.ease == 2.5 + assert card.reps == 0 + def test_study_queue_includes_scheduling_fields(self, auth_client, deck): make_card(deck, ease=2.1, reps=4, lapses=1, interval_days=12.5) results = auth_client.get(f'/api/decks/{deck.deck_id}/study_queue/').json() diff --git a/back/bots/viewsets/flashcard_viewset.py b/back/bots/viewsets/flashcard_viewset.py index c9ff6cb7..8beb1015 100644 --- a/back/bots/viewsets/flashcard_viewset.py +++ b/back/bots/viewsets/flashcard_viewset.py @@ -1,5 +1,6 @@ import uuid +from django.db import transaction from django.db.models import Count, F, Max, Q from django.utils import timezone from rest_framework import status, viewsets @@ -72,8 +73,6 @@ def perform_create(self, serializer): @action(detail=True, methods=['post'], url_path='review') def review(self, request, deck_pk=None, flashcardId=None, format=None): """Rate a card (again|hard|good|easy) and reschedule it via SM-2.""" - flashcard = self.get_object() - rating = request.data.get('rating') if rating not in srs.RATINGS: return Response( @@ -81,16 +80,23 @@ def review(self, request, deck_pk=None, flashcardId=None, format=None): status=status.HTTP_400_BAD_REQUEST, ) - updates = srs.apply_sm2(flashcard, rating) - for field, value in updates.items(): - setattr(flashcard, field, value) - flashcard.save(update_fields=list(updates.keys()) + ['updated_at']) - - FlashcardReview.objects.create( - flashcard=flashcard, - profile=flashcard.deck.profile, - rating=rating, - ) + with transaction.atomic(): + flashcard = self.get_object() + # Lock the row so concurrent reviews serialize: without this, + # two simultaneous POSTs could both schedule from the same + # reps/ease and the later save would silently drop the first. + flashcard = Flashcard.objects.select_for_update().get(pk=flashcard.pk) + + updates = srs.apply_sm2(flashcard, rating) + for field, value in updates.items(): + setattr(flashcard, field, value) + flashcard.save(update_fields=list(updates.keys()) + ['updated_at']) + + FlashcardReview.objects.create( + flashcard=flashcard, + profile=flashcard.deck.profile, + rating=rating, + ) return Response(FlashcardSerializer(flashcard).data) diff --git a/front/__tests__/api/flashcards.test.ts b/front/__tests__/api/flashcards.test.ts index d10ddc92..69468c9a 100644 --- a/front/__tests__/api/flashcards.test.ts +++ b/front/__tests__/api/flashcards.test.ts @@ -7,6 +7,7 @@ import { fetchStudyQueue, reviewFlashcard, } from '../../api/flashcards'; +import { apiClient } from '../../api/apiClient'; // Mock the apiClient to return paginated responses matching OpenAPI schema jest.mock('../../api/apiClient', () => ({ @@ -328,6 +329,12 @@ describe('Flashcards API', () => { expect(queue[0].reps).toBe(0); expect(queue[1].reps).toBe(1); }); + + it('should throw instead of resolving to [] when the request fails', async () => { + (apiClient as jest.Mock).mockResolvedValueOnce({ ok: false, status: 500, data: null }); + + await expect(fetchStudyQueue(testDeckId)).rejects.toThrow(); + }); }); describe('reviewFlashcard', () => { @@ -353,5 +360,13 @@ describe('Flashcards API', () => { expect(updated?.lapses).toBe(1); expect(updated?.reps).toBe(0); }); + + it('should throw instead of resolving to null when the request fails', async () => { + (apiClient as jest.Mock).mockResolvedValueOnce({ ok: false, status: 500, data: null }); + + await expect( + reviewFlashcard(testDeckId, '660e8400-e29b-41d4-a716-446655440010', 'good') + ).rejects.toThrow(); + }); }); }); \ No newline at end of file diff --git a/front/api/flashcards.ts b/front/api/flashcards.ts index 5c4d3767..bd588247 100644 --- a/front/api/flashcards.ts +++ b/front/api/flashcards.ts @@ -147,28 +147,40 @@ export const deleteFlashcard = async ( }; // Cards to study for this deck, ordered by due_at ascending. +// +// Throws on failure (instead of resolving to []) so callers can tell an +// empty queue apart from a network/server error. export const fetchStudyQueue = async ( deckId: string, mode: StudyQueueMode = "due", limit = 50 -): Promise => - request( +): Promise => { + const response = await requestRaw( `/decks/${deckId}/study_queue.json?mode=${mode}&limit=${limit}`, - { method: "GET" }, - [] + { method: "GET" } ); + if (!response?.ok || !response.data) { + throw new Error(`Study queue request failed for deck ${deckId}`); + } + return response.data; +}; // Rate a card during study; returns the rescheduled flashcard. +// Throws on failure so a failed review can never be counted as done. export const reviewFlashcard = async ( deckId: string, flashcardId: string, rating: FlashcardRating -): Promise => - request( +): Promise => { + const response = await requestRaw( `/decks/${deckId}/flashcards/${flashcardId}/review.json`, { method: "POST", body: JSON.stringify({ rating }), - }, - null + } ); + if (!response?.ok || !response.data) { + throw new Error(`Review request failed for card ${flashcardId}`); + } + return response.data; +}; diff --git a/front/app/__tests__/study-test.tsx b/front/app/__tests__/study-test.tsx index db924e69..a32d170f 100644 --- a/front/app/__tests__/study-test.tsx +++ b/front/app/__tests__/study-test.tsx @@ -98,4 +98,30 @@ describe('Study', () => { await waitFor(() => expect(screen.getByText('Nothing due πŸŽ‰')).toBeTruthy()); }); + + it('shows an error with retry when the queue fails to load', async () => { + (fetchStudyQueue as jest.Mock).mockRejectedValueOnce(new Error('offline')); + render(); + + await waitFor(() => expect(screen.getByTestId('study-load-error')).toBeTruthy()); + // A failed load must not render as an empty queue. + expect(screen.queryByText('Nothing due πŸŽ‰')).toBeNull(); + + fireEvent.press(screen.getByTestId('study-load-retry')); + await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); + }); + + it('stays on the same card when saving the review fails', async () => { + (reviewFlashcard as jest.Mock).mockRejectedValueOnce(new Error('offline')); + render(); + + await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-good')); + + await waitFor(() => expect(reviewFlashcard).toHaveBeenCalled()); + // The failed review is not counted: still on Q1, session not complete. + expect(screen.getByText('Q1')).toBeTruthy(); + expect(screen.queryByTestId('study-session-complete')).toBeNull(); + }); }); diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index bc91be75..755c18fc 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -28,13 +28,37 @@ import { useThemeColor } from "@/hooks/useThemeColor"; const { width: SCREEN_WIDTH } = Dimensions.get("window"); const CARD_WIDTH = SCREEN_WIDTH - 40; -// Rating buttons shown after the flip. Interval hints mirror the SM-2 -// defaults for an early card (<1d for Again's same-day relearn step). -const RATINGS: { rating: FlashcardRating; label: string; hint: string }[] = [ - { rating: "again", label: "Again", hint: "<1d" }, - { rating: "hard", label: "Hard", hint: "1d" }, - { rating: "good", label: "Good", hint: "3d" }, - { rating: "easy", label: "Easy", hint: "7d" }, +// Interval preview shown under each rating button, derived from the current +// card's scheduling state (mirrors back/bots/services/srs.py) so the hint +// stays correct as the card progresses past the early learning steps. +const LAPSE_HINT = "<1d"; + +function previewHint(card: Flashcard | undefined, rating: FlashcardRating): string { + const interval = card?.interval_days ?? 0; + const ease = card?.ease ?? 2.5; + const reps = card?.reps ?? 0; + let days: number; + switch (rating) { + case "again": + return LAPSE_HINT; + case "hard": + days = Math.max(1, interval * 1.2); + break; + case "good": + days = reps === 0 ? 1 : reps === 1 ? 6 : interval * ease; + break; + case "easy": + days = (reps === 0 ? 1 : reps === 1 ? 6 : interval * ease) * 1.3; + break; + } + return days < 1 ? LAPSE_HINT : `${Math.round(days)}d`; +} + +const RATINGS: { rating: FlashcardRating; label: string }[] = [ + { rating: "again", label: "Again" }, + { rating: "hard", label: "Hard" }, + { rating: "good", label: "Good" }, + { rating: "easy", label: "Easy" }, ]; export default function Study() { @@ -48,6 +72,7 @@ export default function Study() { const [againCount, setAgainCount] = useState(0); const [reviewedDues, setReviewedDues] = useState([]); const [ratingInProgress, setRatingInProgress] = useState(false); + const [loadError, setLoadError] = useState(false); const [now] = useState(() => Date.now()); const [flipAnim] = useState(() => new Animated.Value(0)); @@ -59,24 +84,29 @@ export default function Study() { const tintColor = useThemeColor({}, "tint"); const borderColor = useThemeColor({}, "border"); + const loadQueue = async () => { + if (!deckId) { + Alert.alert("Error", "Invalid deck"); + router.back(); + return; + } + setLoading(true); + setLoadError(false); + try { + // Default study queue: only cards that are due right now. + // fetchStudyQueue throws on failure, so a network/server error lands + // in the error state below instead of rendering as "Nothing due". + const dueCards = await fetchStudyQueue(deckId, "due"); + setCards(dueCards); + } catch (error) { + Sentry.captureException(error); + setLoadError(true); + } finally { + setLoading(false); + } + }; + useEffect(() => { - const loadQueue = async () => { - if (!deckId) { - Alert.alert("Error", "Invalid deck"); - router.back(); - return; - } - try { - // Default study queue: only cards that are due right now. - const dueCards = await fetchStudyQueue(deckId, "due"); - setCards(dueCards); - } catch (error) { - Sentry.captureException(error); - setCards([]); - } finally { - setLoading(false); - } - }; loadQueue(); }, [deckId, router]); @@ -117,6 +147,7 @@ export default function Study() { setCards(allCards); } catch (error) { Sentry.captureException(error); + Alert.alert("Error", "Failed to load cards"); } finally { setLoading(false); } @@ -135,7 +166,7 @@ export default function Study() { } const currentCard = cards[currentIndex]; - let updated; + let updated: Flashcard; try { updated = await reviewFlashcard( deckId, @@ -147,7 +178,9 @@ export default function Study() { Alert.alert("Error", "Failed to save your review"); return; } - const nextDueAt: string | null = updated?.due_at ?? null; + // reviewFlashcard throws on failure, so reaching here means the + // review was persisted; only then do we advance the session. + const nextDueAt: string | null = updated.due_at ?? null; if (rating === "again") { setAgainCount((c) => c + 1); @@ -189,6 +222,30 @@ export default function Study() { ); } + if (!loading && loadError) { + return ( + + + + Couldn't load your cards + + + Check your connection and try again. + + + + Retry + + + + + ); + } + if (cards.length === 0) { return ( @@ -315,7 +372,7 @@ export default function Study() { {isFlipped ? ( - RATINGS.map(({ rating, label, hint }) => ( + RATINGS.map(({ rating, label }) => ( {label} - {hint} + {previewHint(currentCard, rating)} )) ) : ( diff --git a/front/e2e/07-spaced-repetition.e2e.js b/front/e2e/07-spaced-repetition.e2e.js index 90eb9f21..a3b7ba0f 100644 --- a/front/e2e/07-spaced-repetition.e2e.js +++ b/front/e2e/07-spaced-repetition.e2e.js @@ -64,8 +64,12 @@ async function getSeedState(accessToken) { const decks = await deckRes.json(); const deck = (decks.results || []).find((d) => d.name === DECK_NAME); if (!deck) throw new Error(`Seeded deck "${DECK_NAME}" not found β€” run the seed command`); + // Other e2e seeds reuse e2e-test-user, so profiles[0] is not guaranteed + // to be this seed's profile β€” and the deck list is profile-filtered. + const profile = (profiles.results || []).find((p) => p.name === 'E2E Test Profile'); + if (!profile) throw new Error('Seeded profile "E2E Test Profile" not found β€” run the seed command'); return { - profile: JSON.stringify(profiles.results[0]), + profile: JSON.stringify(profile), bot: JSON.stringify(bots.results[0]), deckId: deck.deck_id, deckDueCount: deck.due_count, @@ -160,8 +164,10 @@ describe('Spaced Repetition Study E2E Flow (Real API)', () => { const response = await fetch(`${API_BASE}/decks/${deckId}/study_queue.json?mode=due`, { headers: { Authorization: `Bearer ${tokens.access}` }, }); + expect(response.ok).toBe(true); const queue = await response.json(); - expect(Array.isArray(queue) ? queue : []).toEqual([]); + expect(Array.isArray(queue)).toBe(true); + expect(queue).toEqual([]); // We are back on the deck detail after Done; studying again shows the // "nothing due" state instead of cards. From b5b3b1c7ac9ae8bfd02dfe2713e6dfa02b616563 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 05:35:57 +0000 Subject: [PATCH 18/21] fix(49): drive study reload via key so effect sets no state synchronously Fixes frontend lint error react-hooks/set-state-in-effect: loader lives inside the effect and touches state only after await; retry resets flags in the event handler and bumps reloadKey. --- front/app/flashcards/study.tsx | 54 +++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index 755c18fc..14bf69c7 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -73,6 +73,7 @@ export default function Study() { const [reviewedDues, setReviewedDues] = useState([]); const [ratingInProgress, setRatingInProgress] = useState(false); const [loadError, setLoadError] = useState(false); + const [reloadKey, setReloadKey] = useState(0); const [now] = useState(() => Date.now()); const [flipAnim] = useState(() => new Animated.Value(0)); @@ -84,32 +85,39 @@ export default function Study() { const tintColor = useThemeColor({}, "tint"); const borderColor = useThemeColor({}, "border"); - const loadQueue = async () => { - if (!deckId) { - Alert.alert("Error", "Invalid deck"); - router.back(); - return; - } + useEffect(() => { + // Loader lives inside the effect and touches state only after the + // first await, so the effect itself performs no synchronous setState. + const loadQueue = async () => { + if (!deckId) { + Alert.alert("Error", "Invalid deck"); + router.back(); + return; + } + try { + // Default study queue: only cards that are due right now. + // fetchStudyQueue throws on failure, so a network/server error lands + // in the error state below instead of rendering as "Nothing due". + const dueCards = await fetchStudyQueue(deckId, "due"); + setCards(dueCards); + } catch (error) { + Sentry.captureException(error); + setLoadError(true); + } finally { + setLoading(false); + } + }; + loadQueue(); + }, [deckId, router, reloadKey]); + + // Retry resets the flags here (event handler, not the effect) and + // re-runs the loader above via reloadKey. + const retryLoad = () => { setLoading(true); setLoadError(false); - try { - // Default study queue: only cards that are due right now. - // fetchStudyQueue throws on failure, so a network/server error lands - // in the error state below instead of rendering as "Nothing due". - const dueCards = await fetchStudyQueue(deckId, "due"); - setCards(dueCards); - } catch (error) { - Sentry.captureException(error); - setLoadError(true); - } finally { - setLoading(false); - } + setReloadKey((k) => k + 1); }; - useEffect(() => { - loadQueue(); - }, [deckId, router]); - const frontRotate = flipAnim.interpolate({ inputRange: [0, 1], outputRange: ["0deg", "180deg"], @@ -235,7 +243,7 @@ export default function Study() { Retry From 30a8618b3bc35f8858825e73b3fee6b6274867bd Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 12:15:02 +0000 Subject: [PATCH 19/21] fix(49): address copilot review batch 3 (e2e + all-mode error) - E2E: scope deck lookup to E2E Test Profile via ?profileId= - E2E: use header-back-button testID (shared BackButton default) - Study: failed study-all-anyway sets loadError instead of fake empty queue --- front/app/flashcards/study.tsx | 3 +++ front/e2e/07-spaced-repetition.e2e.js | 31 ++++++++++++++------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index 14bf69c7..efa0d326 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -155,6 +155,9 @@ export default function Study() { setCards(allCards); } catch (error) { Sentry.captureException(error); + // Surface the failure instead of falling back to "Nothing due": + // retry reloads the due queue, the primary study flow. + setLoadError(true); Alert.alert("Error", "Failed to load cards"); } finally { setLoading(false); diff --git a/front/e2e/07-spaced-repetition.e2e.js b/front/e2e/07-spaced-repetition.e2e.js index a3b7ba0f..917177a7 100644 --- a/front/e2e/07-spaced-repetition.e2e.js +++ b/front/e2e/07-spaced-repetition.e2e.js @@ -48,26 +48,27 @@ async function getTestTokens() { } async function getSeedState(accessToken) { - const [profileRes, botRes, deckRes] = await Promise.all([ - fetch(`${API_BASE}/profiles.json`, { - headers: { Authorization: `Bearer ${accessToken}` }, - }), - fetch(`${API_BASE}/bots.json`, { - headers: { Authorization: `Bearer ${accessToken}` }, - }), - fetch(`${API_BASE}/decks.json`, { - headers: { Authorization: `Bearer ${accessToken}` }, - }), + const authHeaders = { Authorization: `Bearer ${accessToken}` }; + const [profileRes, botRes] = await Promise.all([ + fetch(`${API_BASE}/profiles.json`, { headers: authHeaders }), + fetch(`${API_BASE}/bots.json`, { headers: authHeaders }), ]); const profiles = await profileRes.json(); const bots = await botRes.json(); - const decks = await deckRes.json(); - const deck = (decks.results || []).find((d) => d.name === DECK_NAME); - if (!deck) throw new Error(`Seeded deck "${DECK_NAME}" not found β€” run the seed command`); // Other e2e seeds reuse e2e-test-user, so profiles[0] is not guaranteed // to be this seed's profile β€” and the deck list is profile-filtered. const profile = (profiles.results || []).find((p) => p.name === 'E2E Test Profile'); if (!profile) throw new Error('Seeded profile "E2E Test Profile" not found β€” run the seed command'); + // Scope the deck lookup to that profile: another profile (e.g. from the + // streaming-chat seed) may own its own "Cell Bio" deck, which would not + // appear once the app selects E2E Test Profile. + const deckRes = await fetch( + `${API_BASE}/decks.json?profileId=${profile.profile_id}`, + { headers: authHeaders } + ); + const decks = await deckRes.json(); + const deck = (decks.results || []).find((d) => d.name === DECK_NAME); + if (!deck) throw new Error(`Seeded deck "${DECK_NAME}" not found β€” run the seed command`); return { profile: JSON.stringify(profile), bot: JSON.stringify(bots.results[0]), @@ -176,9 +177,9 @@ describe('Spaced Repetition Study E2E Flow (Real API)', () => { await waitFor(element(by.id('study-all-anyway'))).toBeVisible().withTimeout(10000); // Leave the study screen, then go up to the deck list. - await element(by.id('back-button')).atIndex(0).tap(); + await element(by.id('header-back-button')).tap(); await waitFor(element(by.id('study-button'))).toBeVisible().withTimeout(10000); - await element(by.id('back-button')).atIndex(0).tap(); + await element(by.id('header-back-button')).tap(); await waitFor(element(by.id(`deck-row-${deckId}`))).toBeVisible().withTimeout(10000); // Deck list no longer shows a red due badge for this deck. From c77e5c439fdfa9b47e55c0416d43f7bc06fd7c03 Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 13:24:07 +0000 Subject: [PATCH 20/21] fix(49): address suppressed copilot comments - Seed: recreate deck cards each run (clears reviews via cascade, no dupes); reactivate soft-deleted profile/bot - Tests: .json suffix coverage for review + study_queue with params - Contract: regenerate schema.yaml (review/study_queue paths); add MSW handlers - Study: hide card faces from screen readers until shown; AA-passing button colors; correct-rate summary per #59 - E2E: select bot by name --- .../commands/seed_e2e_spaced_repetition.py | 65 +-- back/bots/tests/test_spaced_repetition_api.py | 20 + front/__mocks__/handlers.ts | 45 ++ front/api/schema.yaml | 453 +++++++++++++++++- front/app/__tests__/study-test.tsx | 27 +- front/app/flashcards/study.tsx | 25 +- front/constants/Colors.ts | 6 + front/e2e/07-spaced-repetition.e2e.js | 4 +- 8 files changed, 592 insertions(+), 53 deletions(-) diff --git a/back/bots/management/commands/seed_e2e_spaced_repetition.py b/back/bots/management/commands/seed_e2e_spaced_repetition.py index 55dbd1da..499bce08 100644 --- a/back/bots/management/commands/seed_e2e_spaced_repetition.py +++ b/back/bots/management/commands/seed_e2e_spaced_repetition.py @@ -52,13 +52,23 @@ def handle(self, *args, **options): user.set_password(PASSWORD) user.save() - profile, _ = Profile.objects.get_or_create(user=user, name='E2E Test Profile') + profile, _ = Profile.objects.update_or_create( + user=user, + name='E2E Test Profile', + # A previous run may have soft-deleted this profile; the + # profiles API hides deleted rows, so reactivate it. + defaults={'deleted_at': None}, + ) ai_model = AiModel.objects.order_by('pk').first() - bot, _ = Bot.objects.get_or_create( + bot_defaults = {'deleted_at': None} + if ai_model is not None: + bot_defaults['ai_model'] = ai_model + bot, _ = Bot.objects.update_or_create( user=user, name='E2E Test Bot', - defaults={'ai_model': ai_model}, + # Same soft-delete reactivation as the profile above. + defaults=bot_defaults, ) deck, _ = Deck.objects.get_or_create( @@ -68,41 +78,36 @@ def handle(self, *args, **options): ) now = timezone.now() - # Delete cards from earlier runs/sessions that are not part of this - # layout, so reruns converge to exactly these eight cards. - Flashcard.objects.filter(deck=deck).exclude( - front__in=[front for front, _, _ in CARDS] - ).delete() - created_cards = 0 + # Recreate the deck's cards from scratch every run: this removes + # stale/duplicate cards (front is not unique, so upserting cannot + # converge) and cascades to the cards' FlashcardReview rows, so + # repeated seeds converge to exactly these eight cards with no + # leftover activity. + Flashcard.objects.filter(deck=deck).delete() for order, (front, back, state) in enumerate(CARDS): - card, card_created = Flashcard.objects.get_or_create( - deck=deck, - front=front, - defaults={'back': back, 'order': order}, - ) - if card_created: - created_cards += 1 - - # Reset scheduling every run so repeated seeds converge. - card.back = back - card.order = order - card.ease = 2.5 - card.interval_days = 0 - card.reps = 0 - card.lapses = 0 - card.last_reviewed_at = None + card_kwargs = { + 'deck': deck, + 'front': front, + 'back': back, + 'order': order, + 'ease': 2.5, + 'interval_days': 0, + 'reps': 0, + 'lapses': 0, + 'last_reviewed_at': None, + } if state == 'due': - card.due_at = now - timedelta(days=1) + card_kwargs['due_at'] = now - timedelta(days=1) elif state == 'future': - card.due_at = now + timedelta(days=7) + card_kwargs['due_at'] = now + timedelta(days=7) else: # new - card.due_at = now - card.save() + card_kwargs['due_at'] = now + Flashcard.objects.create(**card_kwargs) due_count = Flashcard.objects.filter(deck=deck, due_at__lte=now).count() self.stdout.write(self.style.SUCCESS( f"E2E seed complete: user={user.username} (created={user_created}) " f"profile_id={profile.profile_id} bot_id={bot.bot_id} " f"deck_id={deck.deck_id} cards={Flashcard.objects.filter(deck=deck).count()} " - f"(new={created_cards}) due_now={due_count}" + f"due_now={due_count}" )) diff --git a/back/bots/tests/test_spaced_repetition_api.py b/back/bots/tests/test_spaced_repetition_api.py index 888f349b..3edc3a04 100644 --- a/back/bots/tests/test_spaced_repetition_api.py +++ b/back/bots/tests/test_spaced_repetition_api.py @@ -157,6 +157,17 @@ def test_review_creates_review_log(self, auth_client, test_profile, deck): assert review.profile == test_profile assert review.reviewed_at is not None + def test_review_json_format_suffix(self, auth_client, deck): + # The frontend calls the .json routes; cover them directly. + card = make_card(deck) + response = auth_client.post( + f'/api/decks/{deck.deck_id}/flashcards/{card.flashcard_id}/review.json', + {'rating': 'good'}, + ) + assert response.status_code == 200 + assert response.json()['reps'] == 1 + assert FlashcardReview.objects.filter(flashcard=card).count() == 1 + @pytest.mark.django_db class TestStudyQueue: @@ -311,6 +322,15 @@ def test_study_queue_includes_scheduling_fields(self, auth_client, deck): assert card['ease'] == 2.1 assert card['reps'] == 4 + def test_study_queue_json_format_suffix_with_params(self, auth_client, deck): + for i in range(3): + make_card(deck, order=i, due_at=timezone.now() - timedelta(days=1)) + response = auth_client.get( + f'/api/decks/{deck.deck_id}/study_queue.json?mode=all&limit=2' + ) + assert response.status_code == 200 + assert len(response.json()) == 2 + @pytest.mark.django_db class TestDeckAnnotations: diff --git a/front/__mocks__/handlers.ts b/front/__mocks__/handlers.ts index 70c6293e..b85d32a4 100644 --- a/front/__mocks__/handlers.ts +++ b/front/__mocks__/handlers.ts @@ -129,6 +129,51 @@ export const handlers = [ return HttpResponse.json({}, { status: 204 }); }), + // Spaced repetition study queue + review + http.get('/api/decks/:deck_pk/study_queue.json', async () => { + await delay(200); + return HttpResponse.json([ + { + id: 10, + flashcard_id: '660e8400-e29b-41d4-a716-446655440010', + deck: '550e8400-e29b-41d4-a716-446655440001', + front: 'What is anaphase?', + back: 'Sister chromatids separate', + order: 0, + due_at: '2024-01-01T00:00:00Z', + interval_days: 0, + ease: 2.5, + reps: 0, + lapses: 0, + last_reviewed_at: null, + created_at: '2024-01-01T00:00:00Z', + updated_at: '2024-01-01T00:00:00Z', + }, + ]); + }), + + http.post('/api/decks/:deck_pk/flashcards/:id/review.json', async ({ request, params }) => { + await delay(200); + const body = (await request.json()) as Record; + const id = params.id as string; + return HttpResponse.json({ + id: 10, + flashcard_id: id, + deck: '550e8400-e29b-41d4-a716-446655440001', + front: 'What is anaphase?', + back: 'Sister chromatids separate', + order: 0, + due_at: '2024-01-04T00:00:00Z', + interval_days: body.rating === 'again' ? 0.1667 : 1, + ease: 2.5, + reps: body.rating === 'again' ? 0 : 1, + lapses: body.rating === 'again' ? 1 : 0, + last_reviewed_at: '2024-01-03T09:00:00Z', + created_at: '2024-01-01T00:00:00Z', + updated_at: '2024-01-03T09:00:00Z', + }); + }), + // Profile endpoints http.get('/api/profiles.json', async () => { await delay(200); diff --git a/front/api/schema.yaml b/front/api/schema.yaml index 3d45f2ca..8a805965 100644 --- a/front/api/schema.yaml +++ b/front/api/schema.yaml @@ -4,6 +4,72 @@ info: version: 1.0.0 description: API for the Bots application paths: + /api/activity/chats/: + get: + operationId: activity_chats_list + description: |- + Parent inbox: list recent chats across profiles + read-only transcript. + + Read-only by design: parents review here, they never write into the kid + thread (roadmap 04 non-goal). + parameters: + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + tags: + - activity + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedActivityChatListList' + description: '' + /api/activity/chats/{id}/: + get: + operationId: activity_chats_retrieve + description: |- + Parent inbox: list recent chats across profiles + read-only transcript. + + Read-only by design: parents review here, they never write into the kid + thread (roadmap 04 non-goal). + parameters: + - in: path + name: id + schema: + type: string + required: true + tags: + - activity + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityChatList' + description: '' + /api/activity/summary/: + get: + operationId: activity_summary_retrieve + description: Per-profile activity counts for the summary chips (windowed by + ?days=). + tags: + - activity + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + description: No response body /api/ai_models/: get: operationId: ai_models_list @@ -48,6 +114,25 @@ paths: schema: $ref: '#/components/schemas/AiModel' description: '' + /api/auth/reauthenticate: + post: + operationId: auth_reauthenticate_create + description: |- + POST /api/auth/reauthenticate β€” verify the parent PIN. + + 200 -> {"parentSessionToken": "", "expiresAt": ""} + 400 -> malformed body / no PIN configured + 401 -> {"detail": "Invalid PIN", "remainingAttempts": n} + 403 -> teen-delegated sessions can never reauthenticate + 423 -> {"detail": "PIN locked. Try again later.", "lockedUntil": ""} + tags: + - auth + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + description: No response body /api/bots/: get: operationId: bots_list @@ -379,14 +464,14 @@ paths: schema: $ref: '#/components/schemas/Deck' description: '' - /api/decks/{deck_id_pk}/flashcards/: + /api/decks/{deck_pk}/flashcards/: get: operationId: decks_flashcards_list parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true - name: page required: false @@ -410,9 +495,9 @@ paths: operationId: decks_flashcards_create parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true tags: - decks @@ -438,14 +523,14 @@ paths: schema: $ref: '#/components/schemas/Flashcard' description: '' - /api/decks/{deck_id_pk}/flashcards/{flashcardId}/: + /api/decks/{deck_pk}/flashcards/{flashcardId}/: get: operationId: decks_flashcards_retrieve parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true - in: path name: flashcardId @@ -469,9 +554,9 @@ paths: operationId: decks_flashcards_update parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true - in: path name: flashcardId @@ -507,9 +592,9 @@ paths: operationId: decks_flashcards_partial_update parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true - in: path name: flashcardId @@ -544,9 +629,9 @@ paths: operationId: decks_flashcards_destroy parameters: - in: path - name: deck_id_pk + name: deck_pk schema: - type: string + type: integer required: true - in: path name: flashcardId @@ -562,6 +647,46 @@ paths: responses: '204': description: No response body + /api/decks/{deck_pk}/flashcards/{flashcardId}/review/: + post: + operationId: decks_flashcards_review_create + description: Rate a card (again|hard|good|easy) and reschedule it via SM-2. + parameters: + - in: path + name: deck_pk + schema: + type: integer + required: true + - in: path + name: flashcardId + schema: + type: string + format: uuid + required: true + tags: + - decks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Flashcard' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/Flashcard' + multipart/form-data: + schema: + $ref: '#/components/schemas/Flashcard' + required: true + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Flashcard' + description: '' /api/decks/{id}/: get: operationId: decks_retrieve @@ -666,6 +791,34 @@ paths: responses: '204': description: No response body + /api/decks/{id}/study_queue/: + get: + operationId: decks_study_queue_retrieve + description: |- + Cards to study, ordered by due_at ascending (nulls last). + + Query params: + mode: 'due' (default) only cards due now, or 'all' + limit: max cards returned (default 50, capped at 200) + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this deck. + required: true + tags: + - decks + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Deck' + description: '' /api/devices/: get: operationId: devices_list @@ -841,6 +994,19 @@ paths: responses: '200': description: No response body + /api/onboarding/bootstrap: + post: + operationId: onboarding_bootstrap_create + description: 'Atomic wizard save: profile name, first bot, PIN and completion + flag.' + tags: + - onboarding + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + description: No response body /api/profiles/: get: operationId: profiles_list @@ -993,6 +1159,26 @@ paths: responses: '204': description: No response body + /api/profiles/self/: + get: + operationId: profiles_self_retrieve + description: |- + Read-self endpoint for teen-delegated sessions. + + Returns only the profile this session is locked to, redacted via + OwnProfileSerializer. Parents have no use for it (403). + tags: + - profiles + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Profile' + description: '' /api/revenuecat/webhook: post: operationId: revenuecat_webhook_create @@ -1091,8 +1277,113 @@ paths: responses: '204': description: No response body + /api/user/onboarding/complete: + post: + operationId: user_onboarding_complete_create + description: Mark onboarding complete. Idempotent; teen delegated sessions are + 403. + tags: + - user + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '200': + description: No response body + /api/user/pin: + delete: + operationId: user_pin_destroy + description: |- + DELETE /api/user/pin β€” remove the parent PIN (opt out of PIN protection). + + Body: {"currentPin": "1234"}. Always requires a valid parent reauth + session plus the current PIN when one is set, so a kid holding the + device cannot be the one to turn protection off. No-op success when no + PIN is set. After removal, parent mutations rely on the parent session + alone (see ParentReauthRequired). + tags: + - user + security: + - jwtAuth: [] + - cookieAuth: [] + responses: + '204': + description: No response body components: schemas: + ActivityBot: + type: object + properties: + bot_id: + type: string + format: uuid + readOnly: true + name: + type: string + maxLength: 255 + color: + type: string + nullable: true + maxLength: 7 + icon: + type: string + nullable: true + maxLength: 255 + required: + - bot_id + - name + ActivityChatList: + type: object + description: Row of the parent activity inbox. Fields are annotations on the + Chat queryset. + properties: + chat_id: + type: string + format: uuid + title: + type: string + profile: + allOf: + - $ref: '#/components/schemas/ActivityProfile' + nullable: true + bot: + allOf: + - $ref: '#/components/schemas/ActivityBot' + nullable: true + message_count: + type: integer + last_message_preview: + type: string + nullable: true + last_message_at: + type: string + format: date-time + nullable: true + safety_event_count: + type: integer + readOnly: true + required: + - bot + - chat_id + - last_message_at + - last_message_preview + - message_count + - profile + - safety_event_count + - title + ActivityProfile: + type: object + properties: + profile_id: + type: string + format: uuid + readOnly: true + name: + type: string + maxLength: 255 + required: + - name + - profile_id AiModel: type: object properties: @@ -1332,6 +1623,16 @@ components: card_count: type: integer readOnly: true + default: 0 + due_count: + type: integer + readOnly: true + default: 0 + last_studied_at: + type: string + format: date-time + readOnly: true + nullable: true created_at: type: string format: date-time @@ -1343,8 +1644,10 @@ components: required: - card_count - created_at + - due_count - flashcards - id + - last_studied_at - name - profile - updated_at @@ -1365,6 +1668,16 @@ components: card_count: type: integer readOnly: true + default: 0 + due_count: + type: integer + readOnly: true + default: 0 + last_studied_at: + type: string + format: date-time + readOnly: true + nullable: true created_at: type: string format: date-time @@ -1376,7 +1689,9 @@ components: required: - card_count - created_at + - due_count - id + - last_studied_at - name - updated_at Device: @@ -1396,6 +1711,8 @@ components: type: boolean notify_on_new_message: type: boolean + notify_digest_only: + type: boolean deleted_at: type: string format: date-time @@ -1441,7 +1758,30 @@ components: maximum: 9223372036854775807 minimum: 0 format: int64 - default: 0 + due_at: + type: string + format: date-time + readOnly: true + nullable: true + interval_days: + type: number + format: double + readOnly: true + ease: + type: number + format: double + readOnly: true + reps: + type: integer + readOnly: true + lapses: + type: integer + readOnly: true + last_reviewed_at: + type: string + format: date-time + readOnly: true + nullable: true created_at: type: string format: date-time @@ -1453,8 +1793,14 @@ components: required: - back - created_at + - due_at + - ease - front - id + - interval_days + - lapses + - last_reviewed_at + - reps - updated_at Message: type: object @@ -1508,6 +1854,29 @@ components: - message_id - modified_at - text + PaginatedActivityChatListList: + type: object + required: + - count + - results + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: + type: array + items: + $ref: '#/components/schemas/ActivityChatList' PaginatedAiModelList: type: object required: @@ -1780,6 +2149,16 @@ components: card_count: type: integer readOnly: true + default: 0 + due_count: + type: integer + readOnly: true + default: 0 + last_studied_at: + type: string + format: date-time + readOnly: true + nullable: true created_at: type: string format: date-time @@ -1805,6 +2184,8 @@ components: type: boolean notify_on_new_message: type: boolean + notify_digest_only: + type: boolean deleted_at: type: string format: date-time @@ -1843,7 +2224,30 @@ components: maximum: 9223372036854775807 minimum: 0 format: int64 - default: 0 + due_at: + type: string + format: date-time + readOnly: true + nullable: true + interval_days: + type: number + format: double + readOnly: true + ease: + type: number + format: double + readOnly: true + reps: + type: integer + readOnly: true + lapses: + type: integer + readOnly: true + last_reviewed_at: + type: string + format: date-time + readOnly: true + nullable: true created_at: type: string format: date-time @@ -1865,6 +2269,14 @@ components: name: type: string maxLength: 255 + oauth_email: + type: string + format: email + nullable: true + maxLength: 254 + photo_url: + type: string + readOnly: true deleted_at: type: string format: date-time @@ -1890,6 +2302,14 @@ components: name: type: string maxLength: 255 + oauth_email: + type: string + format: email + nullable: true + maxLength: 254 + photo_url: + type: string + readOnly: true deleted_at: type: string format: date-time @@ -1907,6 +2327,7 @@ components: - id - modified_at - name + - photo_url - profile_id ProfileId: type: object diff --git a/front/app/__tests__/study-test.tsx b/front/app/__tests__/study-test.tsx index a32d170f..1ad2f277 100644 --- a/front/app/__tests__/study-test.tsx +++ b/front/app/__tests__/study-test.tsx @@ -90,6 +90,27 @@ describe('Study', () => { expect(screen.getByTestId('study-session-complete')).toBeTruthy() ); expect(screen.getByText('You reviewed 2 cards.')).toBeTruthy(); + expect(screen.getByTestId('study-correct-rate')).toHaveTextContent( + '100% correct (2 of 2).' + ); + }); + + it('reports the correct rate excluding Again ratings', async () => { + render(); + + await waitFor(() => expect(screen.getByText('Q1')).toBeTruthy()); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-again')); + await waitFor(() => expect(screen.getByText('Q2')).toBeTruthy()); + fireEvent.press(screen.getByTestId('study-card')); + fireEvent.press(screen.getByTestId('study-rating-good')); + + await waitFor(() => + expect(screen.getByTestId('study-session-complete')).toBeTruthy() + ); + expect(screen.getByTestId('study-correct-rate')).toHaveTextContent( + '50% correct (1 of 2).' + ); }); it('shows the empty state when there are no cards', async () => { @@ -120,8 +141,10 @@ describe('Study', () => { fireEvent.press(screen.getByTestId('study-rating-good')); await waitFor(() => expect(reviewFlashcard).toHaveBeenCalled()); - // The failed review is not counted: still on Q1, session not complete. - expect(screen.getByText('Q1')).toBeTruthy(); + // The failed review is not counted: progress unchanged, still flipped + // on the first card (answer visible), session not complete. + expect(screen.getByText('0 / 2')).toBeTruthy(); + expect(screen.getByText('A1')).toBeTruthy(); expect(screen.queryByTestId('study-session-complete')).toBeNull(); }); }); diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index efa0d326..787ea890 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -84,6 +84,8 @@ export default function Study() { const iconColor = useThemeColor({}, "icon"); const tintColor = useThemeColor({}, "tint"); const borderColor = useThemeColor({}, "border"); + const ratingButtonBg = useThemeColor({}, "studyRating"); + const againButtonBg = useThemeColor({}, "studyAgain"); useEffect(() => { // Loader lives inside the effect and touches state only after the @@ -245,7 +247,7 @@ export default function Study() { @@ -267,7 +269,7 @@ export default function Study() { @@ -281,6 +283,10 @@ export default function Study() { if (completed) { const nextDueIn = earliestNextDue(); + // "Correct" = any rating other than Again (issue #59 success criteria). + const correctCount = cards.length - againCount; + const correctPct = + cards.length > 0 ? Math.round((correctCount / cards.length) * 100) : 0; return ( @@ -290,6 +296,9 @@ export default function Study() { You reviewed {cards.length} card{cards.length === 1 ? "" : "s"}. + + {correctPct}% correct ({correctCount} of {cards.length}). + {againCount > 0 ? ( {againCount} rated β€œAgain” β€” they'll be back soon. @@ -302,7 +311,7 @@ export default function Study() { ) : null} router.back()} > Done @@ -347,6 +356,10 @@ export default function Study() { styles.cardFace, { transform: [{ rotateY: frontRotate }] }, ]} + // The front face is visually hidden after the flip; keep screen + // readers in sync so the question isn't announced twice. + accessibilityElementsHidden={isFlipped} + importantForAccessibility={isFlipped ? 'no-hide-descendants' : 'yes'} > [ styles.ratingButton, - { backgroundColor: rating === "again" ? "#d9534f" : tintColor }, + { backgroundColor: rating === "again" ? againButtonBg : ratingButtonBg }, pressed && styles.ratingButtonPressed, ratingInProgress && styles.ratingButtonDisabled, ]} diff --git a/front/constants/Colors.ts b/front/constants/Colors.ts index c91b042a..2ddf888a 100644 --- a/front/constants/Colors.ts +++ b/front/constants/Colors.ts @@ -16,6 +16,10 @@ export const Colors = { cardBackgroundSelected: tintColorLight, border: '#ccc', studyCardBack: '#f0f8ff', + // Rating buttons keep white text: these darker shades meet WCAG AA + // (tint #00a4c9 and again-red #d9534f do not). + studyRating: '#00708c', + studyAgain: '#b52a25', disabled: '#ccc', navButton: '#f0f0f0', navButtonIcon: '#03465b', @@ -29,6 +33,8 @@ export const Colors = { cardBackgroundSelected: tintColorDark, border: '#444', studyCardBack: '#1a2a3a', + studyRating: tintColorDark, + studyAgain: '#b52a25', disabled: '#555', navButton: '#333', navButtonIcon: '#00a4c9', diff --git a/front/e2e/07-spaced-repetition.e2e.js b/front/e2e/07-spaced-repetition.e2e.js index 917177a7..7cb2659f 100644 --- a/front/e2e/07-spaced-repetition.e2e.js +++ b/front/e2e/07-spaced-repetition.e2e.js @@ -69,9 +69,11 @@ async function getSeedState(accessToken) { const decks = await deckRes.json(); const deck = (decks.results || []).find((d) => d.name === DECK_NAME); if (!deck) throw new Error(`Seeded deck "${DECK_NAME}" not found β€” run the seed command`); + const bot = (bots.results || []).find((b) => b.name === 'E2E Test Bot'); + if (!bot) throw new Error('Seeded bot "E2E Test Bot" not found β€” run the seed command'); return { profile: JSON.stringify(profile), - bot: JSON.stringify(bots.results[0]), + bot: JSON.stringify(bot), deckId: deck.deck_id, deckDueCount: deck.due_count, }; From 224a2ae83f9ab968c4688221cc0955c70e019a2b Mon Sep 17 00:00:00 2001 From: Paul Shippy Date: Sat, 12 Sep 2026 14:47:50 +0000 Subject: [PATCH 21/21] fix(49): auth errors take logout flow; stop flip animation on reset - Study catches route UnauthorizedError to handleUnauthorized (queue, all-mode, rating) instead of error card / save alert - resetFlip stops the spring before setValue so the next card can't render flipped --- front/app/__tests__/study-test.tsx | 20 +++++++++++++++++++- front/app/flashcards/study.tsx | 16 ++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/front/app/__tests__/study-test.tsx b/front/app/__tests__/study-test.tsx index 1ad2f277..0332e11d 100644 --- a/front/app/__tests__/study-test.tsx +++ b/front/app/__tests__/study-test.tsx @@ -4,6 +4,8 @@ import { useRouter, useLocalSearchParams } from 'expo-router'; import Study from '../flashcards/study'; import { fetchStudyQueue, reviewFlashcard } from '@/api/flashcards'; +import { UnauthorizedError } from '@/api/apiClient'; +import { handleUnauthorized } from '@/hooks/useSelectedProfile'; jest.mock('expo-router', () => ({ useRouter: jest.fn(), @@ -15,6 +17,10 @@ jest.mock('@/api/flashcards', () => ({ reviewFlashcard: jest.fn(), })); +jest.mock('@/hooks/useSelectedProfile', () => ({ + handleUnauthorized: jest.fn(() => Promise.resolve(false)), +})); + jest.mock('expo-haptics', () => ({ impactAsync: jest.fn(), notificationAsync: jest.fn(), @@ -141,10 +147,22 @@ describe('Study', () => { fireEvent.press(screen.getByTestId('study-rating-good')); await waitFor(() => expect(reviewFlashcard).toHaveBeenCalled()); - // The failed review is not counted: progress unchanged, still flipped + // Still on the first card: progress unchanged, still flipped // on the first card (answer visible), session not complete. expect(screen.getByText('0 / 2')).toBeTruthy(); expect(screen.getByText('A1')).toBeTruthy(); expect(screen.queryByTestId('study-session-complete')).toBeNull(); }); + + it('delegates expired sessions to the logout flow instead of load error', async () => { + const authError = new UnauthorizedError(); + (handleUnauthorized as jest.Mock).mockResolvedValueOnce(true); + (fetchStudyQueue as jest.Mock).mockRejectedValueOnce(authError); + render(); + + await waitFor(() => + expect(handleUnauthorized).toHaveBeenCalledWith(authError, mockRouter) + ); + expect(screen.queryByTestId('study-load-error')).toBeNull(); + }); }); diff --git a/front/app/flashcards/study.tsx b/front/app/flashcards/study.tsx index 787ea890..e4d484d5 100644 --- a/front/app/flashcards/study.tsx +++ b/front/app/flashcards/study.tsx @@ -23,6 +23,7 @@ import { Flashcard, FlashcardRating, } from "@/api/flashcards"; +import { handleUnauthorized } from "@/hooks/useSelectedProfile"; import { useThemeColor } from "@/hooks/useThemeColor"; const { width: SCREEN_WIDTH } = Dimensions.get("window"); @@ -103,6 +104,10 @@ export default function Study() { const dueCards = await fetchStudyQueue(deckId, "due"); setCards(dueCards); } catch (error) { + // Expired sessions take the app's logout flow, not the error card. + if (await handleUnauthorized(error, router)) { + return; + } Sentry.captureException(error); setLoadError(true); } finally { @@ -142,6 +147,9 @@ export default function Study() { }; const resetFlip = () => { + // Stop the flip spring first: setValue alone leaves an in-flight + // animation running, which could show the next card already flipped. + flipAnim.stopAnimation(); flipAnim.setValue(0); setIsFlipped(false); }; @@ -156,6 +164,9 @@ export default function Study() { const allCards = await fetchStudyQueue(deckId, "all"); setCards(allCards); } catch (error) { + if (await handleUnauthorized(error, router)) { + return; + } Sentry.captureException(error); // Surface the failure instead of falling back to "Nothing due": // retry reloads the due queue, the primary study flow. @@ -187,6 +198,11 @@ export default function Study() { rating ); } catch (error) { + // Expired sessions take the app's logout flow; anything else stays + // on the card with a save error. + if (await handleUnauthorized(error, router)) { + return; + } Sentry.captureException(error); Alert.alert("Error", "Failed to save your review"); return;