From 069d0c1e77e6086afe0cbba092d7674bd472047f Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Mon, 15 Dec 2025 12:13:32 -0300 Subject: [PATCH] chore: fix conflicts in demo --- packages/snjs/lib/Services/Sync/SyncService.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/snjs/lib/Services/Sync/SyncService.ts b/packages/snjs/lib/Services/Sync/SyncService.ts index f81672cbcf0..6e3f83a486c 100644 --- a/packages/snjs/lib/Services/Sync/SyncService.ts +++ b/packages/snjs/lib/Services/Sync/SyncService.ts @@ -807,6 +807,12 @@ export class SyncService throw Error('Attempting to default mode sync without having completed initial.') } + const isReadOnlySession = this.sessionManager.isCurrentSessionReadOnly() + if (isReadOnlySession) { + this.logger.debug('Skipping upload payloads because session is read-only.') + return { uploadPayloads: [], syncMode: useMode } + } + const uploadPayloads: ServerSyncPushContextualPayload[] = useMode === SyncMode.Default ? await this.payloadsByPreparingForServer(payloads) : [] @@ -901,6 +907,7 @@ export class SyncService const { shouldExecuteSync, releaseLock } = this.configureSyncLock(options) const { items, beginDate, frozenDirtyIndex, neverSyncedDeleted } = await this.prepareForSync(options) + const shouldSkipUploadsForReadOnlySession = this.sessionManager.isCurrentSessionReadOnly() === true if (options.mode === SyncMode.LocalOnly) { this.logger.debug('Syncing local only, skipping remote sync request') @@ -918,7 +925,16 @@ export class SyncService return } - const latestItems = await this.prepareForSyncExecution(items, inTimeResolveQueue, beginDate, frozenDirtyIndex) + const latestItems = await this.prepareForSyncExecution( + shouldSkipUploadsForReadOnlySession ? [] : items, + inTimeResolveQueue, + beginDate, + frozenDirtyIndex, + ) + + if (shouldSkipUploadsForReadOnlySession && items.length > 0) { + this.logger.debug('Read-only session detected, skipping upload of dirty items.') + } const online = this.sessionManager.online()