aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/sync/scheduler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/sync/scheduler.ts')
-rw-r--r--src/client/sync/scheduler.ts65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/client/sync/scheduler.ts b/src/client/sync/scheduler.ts
index 72a6e25..9c8572a 100644
--- a/src/client/sync/scheduler.ts
+++ b/src/client/sync/scheduler.ts
@@ -88,68 +88,3 @@ export async function undoReviewLocal(params: {
await localReviewLogRepository.delete(params.reviewLogId);
await syncQueue.notifyChanged();
}
-
-/**
- * Server-shaped study card. Includes all FSRS fields needed to reconstruct
- * a LocalCard so we can submit reviews offline.
- */
-export interface ServerStudyCard {
- id: string;
- deckId: string;
- noteId: string;
- isReversed: boolean;
- front: string;
- back: string;
- state: number;
- due: string;
- stability: number;
- difficulty: number;
- elapsedDays: number;
- scheduledDays: number;
- reps: number;
- lapses: number;
- lastReview: string | null;
- createdAt: string;
- updatedAt: string;
- deletedAt: string | null;
- syncVersion: number;
-}
-
-/**
- * Cache study cards into IndexedDB so the scheduler can submit reviews
- * even when the network drops mid-session. Only cards are cached here —
- * note types / fields / values come through the regular sync pull.
- */
-export async function cacheStudyCards(cards: ServerStudyCard[]): Promise<void> {
- for (const c of cards) {
- const local: LocalCard = {
- id: c.id,
- deckId: c.deckId,
- noteId: c.noteId,
- isReversed: c.isReversed,
- front: c.front,
- back: c.back,
- state: c.state as LocalCard["state"],
- due: new Date(c.due),
- stability: c.stability,
- difficulty: c.difficulty,
- elapsedDays: c.elapsedDays,
- scheduledDays: c.scheduledDays,
- reps: c.reps,
- lapses: c.lapses,
- lastReview: c.lastReview ? new Date(c.lastReview) : null,
- createdAt: new Date(c.createdAt),
- updatedAt: new Date(c.updatedAt),
- deletedAt: c.deletedAt ? new Date(c.deletedAt) : null,
- syncVersion: c.syncVersion,
- _synced: true,
- };
-
- // Don't clobber pending local edits (e.g., a review that hasn't
- // been pushed yet). If the local copy has unsynced changes, skip.
- const existing = await localCardRepository.findById(c.id);
- if (existing && !existing._synced) continue;
-
- await localCardRepository.upsertFromServer(local);
- }
-}