Skip to content

v0.4.0 Mobile Reliability Walkthrough

Codex Remote Control Lab v0.4.0

v0.4.0 は、phone bridge を本当にスマホから触る場面に寄せた reliability release です。正しい artifact を開く、mobile keyboard で slash command を入力する、iOS focus zoom を避ける、実行中の run が reconnecting / approval waiting / interrupt 可能のどれなのかを読む、といった細かい体感を固めています。

Mobile Tap を正確に扱う

artifact panel は phone bridge の重要な操作面です。v0.4.0 では、chat と review digest card から artifact preview へ入る経路を強化しました。tap が nested text に当たっても一番近い artifact trigger を解決し、狭い画面でも panel を開いたままにし、chat card から選んだ artifact を panel の先頭 row で上書きしません。

この release では、mobile artifact click path と実際の open state を示す proof asset も追加しています。

Mobile artifact click proof

スマホ keyboard から Slash Skill を使う

composer は slash command の入力に合わせて installed skill menu を開けるようになりました。bridge は可能なら実際の installed plugin SKILL.md を読み、入力に合わせて menu を filter し、/api/skills が一時失敗した場合も retry し、mobile の全角 slash を正規化してから選択した command を挿入します。

phone では keyboard や IME によって desktop と違う文字が入ることがあります。今回の release は、通常の slash input、retry、全角 slash insertion を Playwright で検証し、menu と inserted command の状態を screenshot evidence として残しています。

Slash skill menu on mobile

Conversation を読める状態に保つ

bridge は reconnecting stream や background thread polling を、chat content ではなく status の問題として扱います。Codex の reconnect 系 payload は raw transport detail として conversation に出さず、run state だけを更新します。disconnect 後に thread-list が同じ失敗を繰り返す場合も、chat log を埋め続けません。

thread switching も落ち着きました。選択先の履歴が load されるまで前の visible history を維持し、古い WebSocket connection から遅れて届いた ready message は無視します。ネットワークが少し不安定でも、phone UI が古い thread へ戻るような見え方を避けます。

Provider と Status を読み分ける

v0.4.0 では experimental Claude provider として npm run phone:claude を追加しました。同じ browser bridge UI を使い、turn ごとに claude -p --output-format stream-json を起動し、同じ workdir の Claude Code JSONL session を sidebar に読みます。一方で、Codex app-server 専用の plugin lookup、live approval callback、history sync は Codex mode に限定しており、docs でも parity を過剰に主張しないようにしています。

Codex mode では PHONE_CODEX_RATE_LIMIT_REFRESH_COMMAND="node scripts/read-desktop-rate-limits.js" による任意の rate-limit status 表示も使えます。この helper は local Codex auth を読み、usage endpoint を呼び、表示用 field だけを正規化します。raw token や完全な API response は bridge cache に残しません。

Safety と Release Hygiene

この release は公開面も整理しています。generated tmp/ campaign / QA artifact は tracking から外し、local .phone-rate-limits.json.phone-workspaces.json cache を ignore し、contributor docs には公開安全な upstream PR path を追加しました。

release branch は Node test suite、generated UI freshness / syntax check、VitePress build、CI verify、whitespace diff validation、新しい release header の SVG XML validation で確認しました。