この謎ポップアップの件,development と production で挙動が異なる原因を調べていたんですが……
# Chrome拡張だとIDEからステップ実行もできないし production だと sourcemap もないし,
# chomex 内部だと console.log() もなぜか効かないしで,ホントつらみ……w
production ビルドだと uglify により自動的に e とかそういう名前になってしまっていて,
これが原因なような気がしています.
で,おそらくそれが原因だろうと思いますが,
ここで missions, recoveries, shipbuildings 全てに同じ結果が入っています.
console.log("upcoming");
console.table({
missions: missions.upcomming,
recoveries: recoveries.upcomming,
shipbuildings: shipbuildings.upcomming,
});
通知クリックで消去も Router が e で知らせてくるので production では反応できなかったようで,
router.on("e", async (id) => {
const ns = new NotificationService();
await ns.clear(id);
});
これを試しに NotificationClick に追加してみたところ期待通りクリック消去されました.まぁこの対処はナイw
なお,この状況なのに正常に登録された入渠や遠征の通知が正常に出るのは何故かと思ったんですが,
「finished に入ってくるオブジェクトは実行時点では既に自分が Missions だとかのクラス名を忘れているが,
オブジェクトが保持している notificationOptions() メソッドは維持しているので,
通知オプションは期待通りに設定される」
という状況であるようです.