Persist room solve history and past sessions

オープン
#160 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
javascript, mongodb, nodejs, postgresql, react

調査の方向性

まず PR #171、PR #140、#174、#175 を確認し、すでに計画されている persistence、retention、read API、parity の作業を理解します。文書化されている retention と privacy の動作を解決し、その後、profile/session-history UI まで実装シーケンスに沿って進めます。完了とは、完了済みの試行を安定したページネーションで参照でき、private data が保護され、rollback の動作が文書化されている状態を意味します。

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
JavaScript
スター
30
フォーク
9
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

coder13/LetsCube のほかの issue

coder13/LetsCube の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。