Skip to content

fix(dev): the tauri window never opens and a failed session leaves no trace #18

Description

@smileygames

観測

「セッション参加」を押しても何も起こらない(Master 報告、2026-08-21)。

npm run tauri dev の出力:

  VITE v6.4.3  ready in 483 ms
  ➜  Local:   http://localhost:5173/
        Warn Waiting for your frontend dev server to start on http://localhost:1420/...

根本原因 1: dev サーバのポート不一致(窓が開かない)

  • vite.config.ts存在しない。Vite は既定の 5173 で listen する。
  • src-tauri/tauri.conf.jsonbuild.devUrlhttp://localhost:1420
  • Tauri は 1420 を待ち続け、アプリの窓は開かない。

したがって Master が見ていた画面はブラウザで開いた http://localhost:5173/ と考えられる。ブラウザには Tauri の IPC が無いため invoke は解決せず、「押しても何も起こらない」という観測になる。

これはスキャフォールド移植(#1)以来の欠落であり、npm run tauri dev はこのリポジトリで一度も成功していない。CI は npm cicargo check しか行わないため検出されなかった。

根本原因 2: セッションの失敗が画面に出ない

窓が開いた後も、次の状態が観測できない。

  • src/main.tspty-data-{id} / pty-exit-{id} のどちらも listen していない。CLI が起動直後に落ちても画面には何も出ない。
  • start_session の成功/失敗は #status の 1 行にしか出ず、成功時は「起動しました」で止まる。その後セッションが死んでも表示は残る。
  • 起動フラグ由来の警告バナーや CLI 側のエラーは PTY の中にあり、画面から到達できない。

根本原因 1 を直しても、次に何が起きているかを Master が読めない状態は残る。切り分けの 1〜2 段目(部屋ソケットの listen、サイドカーの接続)が画面から確認できないことと同じ問題。

制約

  • ターミナルエミュレータは置かない。CLI の生出力を会話面へ流さないという docs/0-requirements.md の制約は維持する。診断のための表示は会話面とは別枠にする。
  • 根本原因 1 の修正は Tauri スキャフォールドの標準設定に合わせる。独自のポートを新設しない。

対象ファイル

  • vite.config.ts(新規)
  • src/main.ts, index.html, src/styles.css — セッション状態の可視化
  • README.md — 必要なら起動手順の補足

完了条件

  • npm run tauri dev でアプリの窓が開く。
  • セッションの起動失敗と異常終了が画面に出る。終了コードが判別できる。
  • 部屋ソケットの listen 状態とサイドカーの接続状態が画面から確認できる。
  • 切り分け手順の 1〜2 段目が、標準エラー出力を読まずに済む。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug動いていない、壊れているready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions