Skip to content

feat: add room home and caption reset - #30

Merged
Eotel merged 1 commit into
mainfrom
codex/room-home
Oct 25, 2026
Merged

Eotel merged 1 commit into
mainfrom
codex/room-home

Conversation

@Eotel

@Eotel Eotel commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

Summary

ホームから以前のルームへ再接続し、新しいルームの登録と、確認付きの字幕リセットを行えるようにします。

ホーム
├─ 登録・再接続
└─ ルーム
   ├─ 字幕の確認・訂正
   └─ 確認して字幕をリセット

接続は同時に1ルームとし、字幕・背景・設定を分離します。参加リンクを含む設定は0600のローカルファイルへ保存し、API応答にはリンクを返しません。古いタブからの保存と、リセット前の入力再送を拒否します。

Evidence

  • Before: 接続履歴がなく、再起動すると接続・AI・表示設定が消える。
    After: ルームごとに再接続でき、リセットでは字幕と下書きを消して設定を保持する。
  • bash scripts/check.sh:フロント141件、バックエンド194件、API型の一致、型検査、ビルドが成功。
  • 実ブラウザと実APIに合成字幕を送り、登録・切替・古いタブの保存拒否・リセットとキャンセル・再起動後の復元を確認。デスクトップと幅390pxで確認。UDトーク・マイク・AI提供元の実接続は今回未検証。
  • XStateの初回取得失敗は上流PR #5823と同じ修正を導入時に適用。クリーンインストールとStrict Modeの回帰テストが成功。画面レビューはこの会話内の独立した確認パスで実施。

ホーム画面

Merge Danger

Door: two-way

Blast Radius: application

ルーム管理と操作APIの対象選択を変更します。字幕はメモリ上のまま、接続・背景・表示などの設定を保存します。認証は追加せず、既存のローカル単一プロセスでの利用を維持します。

Session: /root

Add home-based registration and reconnection, isolated room captions and AI
context, and confirmation for reset and leaving unsaved work. Keep settings
across restarts, store private editing links with 0600 permissions, and reject
stale tabs and retired utterance replays. Preserve hidden state on reconnect
and start only the configured input.

Integrate with main at de2898a. Retain the current AI model selection,
contextual correction and inspector controls. Apply the cancellation fix
submitted in statelyai/xstate#5823 during locked dependency installation.

Validation: bash scripts/check.sh passes (141 frontend tests, 194 backend
tests, generated API agreement, type checks and build). A clean npm ci applies
the dependency patch and passes its StrictMode regression. Real browser tests
use a dedicated local API and synthetic captions for registration, reconnect,
reset/cancel, stale saves, restart persistence, and desktop/mobile layouts.
The UI review was an independent pass in the same conversation because separate
sessions are unavailable. Final disposition: ship. Usage docs and screenshots
are updated; the completed temporary implementation plan is removed.

No live UD Talk, microphone or LLM connection was used for this change.
The upstream fix passes its workspace tests and remote checks. Upstream GitHub
permissions prevent assigning its PR to Eotel. No implementation work remains
on this isolated branch; integration into the active checkout is separate.
@Eotel Eotel self-assigned this Oct 25, 2026
@Eotel
Eotel merged commit cab842e into main Oct 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant