Files
videoteca/docs/adr/0008-progresso-per-utente.md
T

1.4 KiB
Raw Blame History

0008 — Progresso di riproduzione per utente

  • Stato: Accettato
  • Data: 2026-10-11

Contesto

Con gli account (F-12) più persone guardano gli stessi filmati. ADR 0006 prevedeva un record progress per filmato, quindi condiviso: la posizione di uno sovrascriverebbe quella degli altri.

Decisione

Il record progress è univoco per coppia (utente, filmato). Resta invariato il resto di ADR 0006 (collezione nel DB, momenti di scrittura: pause, ~10 s in play, visibilitychange/pagehide con keepalive). Anche lo stato "visto" (completed, F-07) è per utente. Le API rules permettono a ciascun utente di leggere e scrivere solo i propri record progress. Dettaglio dei campi: 02-architettura.md.

Alternative considerate

  • Progresso condiviso (ADR 0006): semplice, ma sbagliato con più utenti.
  • localStorage: già scartato in ADR 0006; per utente non seguirebbe l'account tra dispositivi.

Conseguenze

  • ✔ Ogni utente riprende dal proprio punto.
  • ✔ Eliminando un utente o un filmato i relativi progress vanno eliminati a cascata.
  • ✘ Più record (utenti × filmati) e una regola in più da testare: un utente non deve poter leggere o scrivere il progresso di un altro (verificare in M4).
  • Resta valido: con due schede dello stesso utente sullo stesso filmato vince l'ultima scrittura.

Fonti

Nessuna esterna: decisione dell'utente del 2026-10-11 ("progresso per utente").