From f5bd895e18444974418ab10e09101cd2d0762a59 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sat, 31 May 2025 14:16:28 +0900 Subject: [PATCH] Update def.ts --- packages/frontend/src/preferences/def.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index aa6bcfe668..a500ee9822 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -398,9 +398,20 @@ export const PREF_DEF = { accountDependent: true, default: [] as WatermarkPreset[], mergeStrategy: (a, b) => { - const sameIdExists = a.some(x => b.some(y => x.id === y.id)); - if (sameIdExists) throw new Error(); - return a.concat(b); + const mergedItems = [] as (typeof a)[]; + for (const x of a.concat(b)) { + const sameIdItem = mergedItems.find(y => y.id === x.id); + if (sameIdItem != null) { + if (deepEqual(x, sameIdItem)) { // 完全な重複は無視 + continue; + } else { // IDは同じなのに内容が違う場合はマージ不可とする + throw new Error(); + } + } else { + mergedItems.push(x); + } + } + return mergedItems; }, }, defaultWatermarkPresetId: {