Skip to content

perf(history): the panel reads and draws the whole log at launch #114

Description

@smileygames

観測

#48 / #113 で部屋のログを入れた。保持は「無制限追記、ローテーションなし」と決めたが、その決定は #48 の未決3件のうち Master が判断したのはサイドバーの件のみで、保持期間の既定は AI 側が置いたものである。

その既定と、実装が取った読み出しの形の噛み合わせが、決定の時点で検討されていない。

前提

2026-08-27 に 48-room-log2ecd079)で確認。

  • src-tauri/src/room_log.rsroom_log コマンドは std::fs::read_to_string でファイル全体を一度に読む。
  • src/main.tsrenderHistory は投稿 1 件につき <li> を 1 つ作り、全件を #history-list へ入れる。
  • 追記側に上限もローテーションもない(room_log.rs のモジュール doc に「No rotation and no ceiling」と明記)。
  • したがって起動時のコスト(読み取りバイト数・DOM ノード数・メモリ)は、その部屋で過去に言われた発言の総数に比例して際限なく伸びる。

未決

  • 上限を持たせるか、それとも読み出し側だけを窓にするか。ログそのものを削らずに済むのは後者。
  • 窓にするなら単位は何か(末尾 N 件 / 直近 N 日 / スクロールで遡る)。
  • 遡る形にするなら、コマンドの署名に範囲が要る。現在の room_log() は引数を持たない。

制約

  • ログ自体を削る方向は慎重に。feat(room): the room keeps no history #48 の目的は「実際に何が起きたか」を後から引けることであり、古い方から消えるのは目的の中心に当たる部分から消えることになる(room_log.rs の doc が同じ理由でローテーションを退けている)。
  • 起動時の部屋は新規のまま。この issue は履歴パネルの読み出しの話であって、部屋の振る舞いには触れない。

関連

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement新機能・改善要望forming本文を再構築しながら要求を整えている状態

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions