レビュー結果
- 対象
- 未コミットの変更(作業ツリー)
- 比較元
- HEAD(最後のコミット)
- 変更量
- 3ファイル / +84 -12行
- 内容
- お気に入り登録の追加
ユーザーが困る不具合を2件見つけました。重い順に並べています。修正はまだ行っていません。
重いお気に入りが他の人の分まで消える
src/favorites.js:47
- 発生条件
- 2人以上が同時にお気に入りを外したとき。削除処理が利用者を絞り込まずに実行されます。
- 影響
- 他の利用者の登録済みデータが消えます。元に戻す手段がありません。
- 該当箇所
-
- await db.favorites.delete({itemId});
+ await db.favorites.delete({itemId, userId});
- 再現手順
- 利用者Aと利用者Bが同じ商品をお気に入りに入れる → Aが外す → Bの一覧からも消えていることを確認
中くらい通信に失敗すると、登録できていないのに星が点いたままになる
src/components/FavoriteButton.js:22
- 発生条件
- 圏外や通信エラーのとき。画面の表示を先に変えてから送信しており、失敗しても元に戻していません。
- 影響
- 登録できたと思ったのに、次に開くと消えています。データが壊れるわけではありませんが、原因が分からず繰り返し操作することになります。
- 再現手順
- 機内モードにする → 星を押す → 点灯するのを確認 → 通信を戻して再読み込み → 消えている
このほかに、命名や書き方の好みに関する箇所がいくつかありましたが、動作に影響しないため挙げていません。
今回の差分に含まれない既存の問題も、比較元との差分外のため対象外にしています。
提案する進め方
- 1件目を再現してから直す(データが消えるため最優先)
- 直したあと、同じ再現手順をもう一度実行する
- 2件目に進む
どちらから修正しますか。指示をいただければ、その1件だけを直します。