coder13 / coder13/LetsCube

Persist room solve history and past sessions

Aperta
#160 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area: data area: results enhancement priority: P1
Lingua principale
JavaScript
Stelle
30
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Users want to revisit solves and sessions after the live room is gone.

Feedback source:
- Would it be possible to access past solves, like up to 30 days?
- You could make it so you can look at all your past solves.
- Scrambles should remain available after completion while respecting room retention.
- Audio/video feedback also mentioned an option to save the session.

## Current foundation

- PR #171 adds PostgreSQL dual writes for durable solve results while MongoDB remains the live read source.
- PR #140 prevents normal-room TTL deletion by hiding expired rooms, but it predates the current `dev` branch and must be rebased/redesigned.
- #174 defines the first feature-flagged solve-history read API.
- #175 covers the historical backfill and parity checks required before that read path can be trusted.

## Implementation sequence

- [ ] Decide and document retention and privacy behavior for public, private, and deleted/hidden rooms.
- [ ] Rework or split PR #140 on top of the modernized `dev` branch.
- [ ] Deploy and stabilize PostgreSQL dual writes.
- [ ] Complete #175 and verify historical/ongoing parity.
- [ ] Complete #174 with authenticated cursor pagination.
- [ ] Add a profile/session-history UI.
- [ ] Reuse the read API for previous scramble review (#161) and csTimer export (#163).

## Acceptance criteria

- [ ] Completed attempts persist with event, time, penalties, scramble, timestamps, and stable user/session references.
- [ ] Users can browse their history after the live room is hidden or expired.
- [ ] Private-room and deletion/retention expectations are enforced server-side.
- [ ] History pagination is stable and does not expose other users' private data.
- [ ] The migration has a documented disable/rollback path while MongoDB remains the live source of truth.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando PR #171, PR #140, #174 e #175 per comprendere il lavoro già pianificato su persistenza, retention, read API e parità. Risolvi il comportamento documentato relativo a retention e privacy, quindi segui la sequenza di implementazione fino alla profile/session-history UI. Il lavoro è completato quando i tentativi completati sono consultabili con una paginazione stabile, i dati privati sono protetti e il comportamento del rollback è documentato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, mongodb, nodejs, postgresql, react
Ambito
api, backend, databases, frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.