💻 システム開発

2026-05-18_架電リスト同期バグ_keep-local防御問題

最終更新 2026年05月18日 / 31_システム開発部/SCALE_CRM/2026-05-18_架電リスト同期バグ_keep-local防御問題.md

架電リスト同期バグ: keep-local防御問題

概要

SCALE CRMの架電リストで、リスト追加(162件→410件)が細川のアカウントだけ反映されない問題が発生。リロードしても変わらなかった。

根本原因

core.js の架電リスト「keep-local防御」が2箇所に存在:
- _initSupabase(リロード経路)
- forceFetchCallListFromD1(リアルタイム/30秒ポーリング経路)

両方とも _localHasMoreDeletes(ローカルの削除済 > D1の削除済)が真だと「ローカルを保持してD1へ逆同期」する設計。細川のブラウザのlocalStorageは古い162件(過去のsoft-delete含む)を保持しており、D1側の410件より「削除が多い」と誤判定され、ローカルが優先されてしまった。

対策

  • keep-local防御のロジック修正(削除件数の比較条件を改善)
  • localStorageクリアで即時復旧

関連する修正依頼

  • 上部リアルタイム数値に「通電数」項目追加(通電率の左)
  • APIアポ獲得ペース・SCALEランクが未稼働時に0/Dを表示するよう修正
  • 架電タイマー初期設定の無効化

教訓

  • localStorage保持データとサーバーサイドの不整合は「逆同期」設計で悪化しうる
  • 複数アカウント間でlocalStorageの状態が異なることを前提にテストすべき

関連ノート