fix(frontend): まれに設定変更のタブ間同期に失敗する問題を修正 (#16991)

This commit is contained in:
かっこかり 2025-12-16 22:56:57 +09:00 committed by GitHub
parent 90345591bb
commit cc05d93194
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 9 deletions

View File

@ -257,20 +257,23 @@ export class PreferencesManager extends EventEmitter<PreferencesManagerEvents> {
this.rewriteRawState(key, v);
this.emit('committed', {
key,
value: v,
oldValue: this.s[key],
});
const record = this.getMatchedRecordOf(key);
const _save = () => {
this.save();
this.emit('committed', {
key,
value: v,
oldValue: this.s[key],
});
};
if (parseScope(record[0]).account == null && isAccountDependentKey(key) && currentAccount != null) {
this.profile.preferences[key].push([makeScope({
server: host,
account: currentAccount.id,
}), v, {}]);
this.save();
_save();
return;
}
@ -278,12 +281,12 @@ export class PreferencesManager extends EventEmitter<PreferencesManagerEvents> {
this.profile.preferences[key].push([makeScope({
server: host,
}), v, {}]);
this.save();
_save();
return;
}
record[1] = v;
this.save();
_save();
if (record[2].sync) {
// awaitの必要なし