1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-23 05:14:13 +02:00

fix(frontend): 意図せず参照渡しになり得る箇所をdeepCloneするように修正 (#17207)

現状は(おそらく)問題は起きていないが今後問題が発現するシチュエーションが出てくる可能性がある
This commit is contained in:
syuilo
2026-03-05 20:38:42 +09:00
committed by GitHub
parent d5b86a8b49
commit a025209602
2 changed files with 15 additions and 7 deletions

View File

@@ -14,6 +14,7 @@ import { copyToClipboard } from '@/utility/copy-to-clipboard.js';
import { i18n } from '@/i18n.js';
import * as os from '@/os.js';
import { deepEqual } from '@/utility/deep-equal.js';
import { deepClone } from '@/utility/clone.js';
// NOTE: 明示的な設定値のひとつとして null もあり得るため、設定が存在しないかどうかを判定する目的で null で比較したり ?? を使ってはいけない
@@ -122,7 +123,8 @@ export function getInitialPrefValue<K extends keyof PREF>(k: K): ValueOf<K> {
if (typeof _default === 'function') { // factory
return _default() as ValueOf<K>;
} else {
return _default as unknown as ValueOf<K>;
// 参照渡しになるのを防ぐためclone
return deepClone(_default as unknown as ValueOf<K>);
}
}