Persist room solve history and past sessions

Abierto
#160 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript, mongodb, nodejs, postgresql, react

Línea de trabajo

Comienza revisando PR #171, PR #140, #174 y #175 para entender el trabajo de persistencia, retención, read API y paridad ya planificado. Resuelve el comportamiento documentado de retención y privacidad y, después, sigue la secuencia de implementación hasta la profile/session-history UI. Se considera completado cuando los intentos finalizados se pueden consultar con paginación estable, los datos privados están protegidos y el comportamiento del rollback está documentado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area: data area: results enhancement priority: P1

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.
Lenguaje dominante
JavaScript
Estrellas
30
Forks
9
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de coder13/LetsCube

Todos los issues de coder13/LetsCube

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.