mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-10-24 18:13:20 +00:00
Preserve adopted encryption settings when prerequisites change
This commit is contained in:
1 parent
d31ad56211
commit
83d40a561f
3 files changed
+55
-3
No files matched your search
@@ -215,8 +215,17 @@ export class ModuleResolvingMismatchedTweaks extends AbstractModule {
|
||||
): Promise<[TweakValues | boolean, boolean]> {
|
||||
if (assessment.alignment === "matched") return [false, false];
|
||||
if (this.requiresIdConfigurationReview(assessment)) return [false, false];
|
||||
// Retain saved preferences when only their effective representation differs from the assessment.
|
||||
// Retain saved preferences only when they leave the adopted effective values unchanged.
|
||||
const assessedSettings = settingsAfterAdoption(assessment, "adoptPreferred");
|
||||
const acceptedSettings = settingsAfterAdoption(assessment, "adoptPreferred", this.settings);
|
||||
if (
|
||||
this.settings.remoteType === REMOTE_COUCHDB &&
|
||||
usesEncryptedInternalMetadata({ ...this.settings, ...acceptedSettings }) !==
|
||||
usesEncryptedInternalMetadata({ ...this.settings, ...assessedSettings })
|
||||
) {
|
||||
// Adopting encryption prerequisites can activate a previously inactive preference.
|
||||
acceptedSettings.encryptInternalMetadata = assessedSettings.encryptInternalMetadata;
|
||||
}
|
||||
const autoAcceptSide = await this._shouldAutoAcceptCompatibleLossy(assessment);
|
||||
if (autoAcceptSide === "REMOTE") return [acceptedSettings, false];
|
||||
if (autoAcceptSide === "CURRENT") return [true, false];
|
||||
|
||||
Reference in new issue
Block a user