vrtmrz / obsidian-livesync

MIT License
5.13k stars 167 forks source link

Hidden files overwrite the database when opening the application #504

Open 0zd0 opened 1 month ago

0zd0 commented 1 month ago

Abstract

Overwriting hidden files when opening an application on a second device (opened simultaneously work correctly)

Expected behaviour

Actually happened

Reproducing procedure

  1. Open the app on device №1, close it on device №2
  2. Change Options -> Apperance -> Accent color
  3. Open the app on device №2
  4. After synchronization, re-open the app on device №1

Report materials

Report from the LiveSync

Report ``` ---- Obsidian info ---- Navigator: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.6.7 Chrome/124.0.6367.243 Electron/30.5.1 Safari/537.36 FileSystem: sensitive ---- remote config ---- cors: credentials: "true" headers: accept, authorization, content-type, origin, referer max_age: "3600" methods: GET, PUT, POST, HEAD, DELETE origins: app://obsidian.md,capacitor://localhost,http://localhost chttpd: bind_address: any max_http_request_size: "4294967296" port: "5984" require_valid_user: "true" admins: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 vendor: name: The Apache Software Foundation feature_flags: partitioned||*: "true" chttpd_auth: authentication_redirect: /_utils/session.html hash_algorithms: sha256, sha require_valid_user: "true" indexers: couch_mrview: "true" prometheus: additional_port: "false" bind_address: 127.0.0.1 port: "17986" httpd: WWW-Authenticate: Basic realm="couchdb" bind_address: 127.0.0.1 enable_cors: "true" port: "5986" smoosh: state_dir: ./data couch_httpd_auth: authentication_db: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 secret: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 authentication_redirect: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchdb_engines: couch: couch_bt_engine couchdb: database_dir: ./data max_document_size: "50000000" single_node: "true" uuid: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 view_index_dir: ./data ---- Plug-in config --- version:0.23.23 remoteType: "" useCustomRequestHandler: false couchDB_URI: self-hosted(HTTPS) couchDB_USER: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchDB_PASSWORD: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchDB_DBNAME: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 liveSync: true syncOnSave: false syncOnStart: false savingDelay: 200 lessInformationInLog: false gcDelay: 0 versionUpFlash: "" minimumChunkSize: 20 longLineThreshold: 250 showVerboseLog: true suspendFileWatching: false trashInsteadDelete: true periodicReplication: false periodicReplicationInterval: 60 syncOnFileOpen: false encrypt: false passphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 usePathObfuscation: false doNotDeleteFolder: false resolveConflictsByNewerFile: false batchSave: false batchSaveMinimumDelay: 5 batchSaveMaximumDelay: 60 deviceAndVaultName: arch usePluginSettings: false showOwnPlugins: false showStatusOnEditor: true showStatusOnStatusbar: true showOnlyIconsOnEditor: false usePluginSync: true autoSweepPlugins: true autoSweepPluginsPeriodic: true notifyPluginOrSettingUpdated: true checkIntegrityOnSave: false batch_size: 25 batches_limit: 25 useHistory: true disableRequestURI: true skipOlderFilesOnSync: true checkConflictOnlyOnOpen: false showMergeDialogOnlyOnActive: false syncInternalFiles: true syncInternalFilesBeforeReplication: false syncInternalFilesIgnorePatterns: \/node_modules\/, \/\.git\/, \/obsidian-livesync\/, ^\.git\/ syncInternalFilesInterval: 60 additionalSuffixOfDatabaseName: 1be10e65a0191e4d ignoreVersionCheck: false lastReadUpdates: 23 deleteMetadataOfDeletedFiles: false syncIgnoreRegEx: "" syncOnlyRegEx: "" customChunkSize: 50 readChunksOnline: true watchInternalFileChanges: true automaticallyDeleteMetadataOfDeletedFiles: 0 disableMarkdownAutoMerge: false writeDocumentsIfConflicted: false useDynamicIterationCount: false syncAfterMerge: false configPassphraseStore: "" encryptedPassphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 encryptedCouchDBConnection: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 permitEmptyPassphrase: false useIndexedDBAdapter: true useTimeouts: false writeLogToTheFile: false doNotPaceReplication: false hashCacheMaxCount: 300 hashCacheMaxAmount: 50 concurrencyOfReadChunksOnline: 30 minimumIntervalOfReadChunksOnline: 25 hashAlg: xxhash64 suspendParseReplicationResult: false doNotSuspendOnFetching: false useIgnoreFiles: false ignoreFiles: .gitignore syncOnEditorSave: false pluginSyncExtendedSetting: {} syncMaxSizeInMB: 50 settingSyncFile: "" writeCredentialsForSettingSync: false notifyAllSettingSyncFile: false isConfigured: true settingVersion: 10 enableCompression: false accessKey: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 bucket: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷(0 letters) endpoint: Not configured or AWS region: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷(4 letters) secretKey: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 useEden: false maxChunksInEden: 10 maxTotalLengthInEden: 1024 maxAgeInEden: 10 disableCheckingConfigMismatch: false displayLanguage: "" enableChunkSplitterV2: false disableWorkerForGeneratingChunks: false processSmallFilesInUIThread: false notifyThresholdOfRemoteStorageSize: 2000 usePluginSyncV2: false usePluginEtc: false handleFilenameCaseSensitive: false doNotUseFixedRevisionForChunks: false showLongerLogInsideEditor: false sendChunksBulk: true sendChunksBulkMaxSize: 40 useSegmenter: false useAdvancedMode: true usePowerUserMode: false useEdgeCaseMode: true configPassphrase: "" preset: "" syncMode: LIVESYNC dummy: 0 ```

Obsidian debug info

Device №1 ``` 30.09.2024, 04:21:01->Cache initialized 300 / 250000000000 30.09.2024, 04:21:01->loading plugin 30.09.2024, 04:21:01->Self-hosted LiveSync v0.23.23 0.23.23 30.09.2024, 04:21:01->xxhash for plugin initialised 30.09.2024, 04:21:01->Waiting for ready... 30.09.2024, 04:21:01->Cache initialized 10 / 1000000000 30.09.2024, 04:21:01->Cache initialized 300 / 50000000 30.09.2024, 04:21:01->Newer xxhash has been initialised 30.09.2024, 04:21:01->Opening Database... 30.09.2024, 04:21:01->Database info 30.09.2024, 04:21:02->{ "doc_count": 1502, "update_seq": 2573, "db_name": "Main-1be10e65a0191e4d-livesync-v2-indexeddb", "auto_compaction": false, "adapter": "indexeddb" } 30.09.2024, 04:21:02->Database is now ready. 30.09.2024, 04:21:02->Log window opened 30.09.2024, 04:21:02->Opening the key-value database 30.09.2024, 04:21:02->Initialize and checking database files 30.09.2024, 04:21:02->Checking deleted files 30.09.2024, 04:21:02->Collecting local files on the storage 30.09.2024, 04:21:02->Collecting local files on the DB 30.09.2024, 04:21:02->Collecting local files on the DB: 25 30.09.2024, 04:21:02->Total files in the database: 48 30.09.2024, 04:21:02->Total files in the storage: 32 30.09.2024, 04:21:02->Total files: 49 30.09.2024, 04:21:02->Files exist only in storage: 1 30.09.2024, 04:21:02->Files exist only in database: 17 30.09.2024, 04:21:02->Files exist both in storage and database: 31 30.09.2024, 04:21:02->Synchronising... 30.09.2024, 04:21:02->UPDATE DATABASE 30.09.2024, 04:21:02->UPDATE STORAGE 30.09.2024, 04:21:02->SYNC DATABASE AND STORAGE 30.09.2024, 04:21:02->UPDATE DATABASE All done: DONE:1, FAILED:0 30.09.2024, 04:21:02->Initialized, NOW TRACKING! 30.09.2024, 04:21:02->Synchronizing hidden files... 30.09.2024, 04:21:02->Scanning customizations... 30.09.2024, 04:21:02->Scanning customizing files. 30.09.2024, 04:21:02->UPDATE DATABASE All done: DONE:1, FAILED:0 SYNC DATABASE AND STORAGE All done: DONE:31, FAILED:0 30.09.2024, 04:21:02->Scanning hidden files. 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/app.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/appearance.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/community-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/core-plugins-migration.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/core-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:02->Chunks saved (with fixed): doc: arch/CONFIG/workspace.json.md ,chunks: 5 (new:3, recycled:0, cached:2) 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/CONFIG/workspace.json.md: (config) Done 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins.json 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins.json 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins-migration.json 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins.json 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins-migration.json 30.09.2024, 04:21:02->Customization file skipped: .obsidian/core-plugins-migration.json 30.09.2024, 04:21:02->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-icon-folder.md: (config) Skipped (Same content) 30.09.2024, 04:21:03->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-minimal-settings.md: (config) Skipped (Same content) 30.09.2024, 04:21:03->Config: skipped (Possibly is not exist): .obsidian/plugins/obsidian-minimal-settings/styles.css 30.09.2024, 04:21:03->Hidden file skipped: .obsidian/workspace.json is synchronized in customization sync. 30.09.2024, 04:21:03->Customization file skipped: .obsidian/workspace.json 30.09.2024, 04:21:03->Customization file skipped: .obsidian/community-plugins.json 30.09.2024, 04:21:03->Hidden file skipped: .obsidian/workspace.json is synchronized in customization sync. 30.09.2024, 04:21:03->Customization file skipped: .obsidian/workspace.json 30.09.2024, 04:21:03->Scanning customizations : done 30.09.2024, 04:21:03->Customization file skipped: .obsidian/community-plugins.json 30.09.2024, 04:21:03->Hidden file skipped: .obsidian/workspace.json is synchronized in customization sync. 30.09.2024, 04:21:03->Customization file skipped: .obsidian/workspace.json 30.09.2024, 04:21:03->Customization file skipped: .obsidian/community-plugins.json 30.09.2024, 04:21:05->Hidden files scanned: 3 files had been modified 30.09.2024, 04:21:05->Synchronizing hidden files done 30.09.2024, 04:21:05->Cache initialized 300 / 50000000 30.09.2024, 04:21:05->Scanning customizing files. 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/app.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/appearance.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/community-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/core-plugins-migration.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/core-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/CONFIG/workspace.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:05->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-icon-folder.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-minimal-settings.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->Config: skipped (Possibly is not exist): .obsidian/plugins/obsidian-minimal-settings/styles.css 30.09.2024, 04:21:06->Scanning customizing files. 30.09.2024, 04:21:06->Scanning hidden files. 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/app.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/appearance.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/community-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/core-plugins-migration.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/core-plugins.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/CONFIG/workspace.json.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-icon-folder.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->STORAGE --> DB:ix:arch/PLUGIN_DATA/obsidian-minimal-settings.md: (config) Skipped (Same content) 30.09.2024, 04:21:06->Config: skipped (Possibly is not exist): .obsidian/plugins/obsidian-minimal-settings/styles.css 30.09.2024, 04:21:09->Hidden files scanned: 3 files had been modified 30.09.2024, 04:21:09->Modifying callback of the save command 30.09.2024, 04:21:09->Additional safety scan.. 30.09.2024, 04:21:09->Checking storage sizes 30.09.2024, 04:21:09->Before LiveSync, start OneShot once... 30.09.2024, 04:21:09->OneShot Sync begin... (pullOnly) 30.09.2024, 04:21:12->Remote storage size: 39.43MB 30.09.2024, 04:21:12->There are no conflicted files 30.09.2024, 04:21:12->Additional safety scan done 30.09.2024, 04:21:13->Bulk sending chunks to remote database... 30.09.2024, 04:21:13->Looking for the point last synchronized point. 30.09.2024, 04:21:13->All changeset has been scanned (Last seq = 2577). 30.09.2024, 04:21:13->Found 9 chunks to check (Since 2562). 30.09.2024, 04:21:14->Queued 3 chunks. (Since 2562). 30.09.2024, 04:21:14->Sending 3 (7024 => 6.86KB in plain) chunks to remote database... 30.09.2024, 04:21:14->↑ Uploading chunks 3/(0 done) 30.09.2024, 04:21:14->↑ Uploading chunks 3/(3 done) 30.09.2024, 04:21:17->Replication paused 30.09.2024, 04:21:17->Replication completed 30.09.2024, 04:21:17->LiveSync begin... 30.09.2024, 04:21:18->Replication activated 30.09.2024, 04:21:19->Replication paused 30.09.2024, 04:21:20->Replication activated 30.09.2024, 04:21:20->Replication paused 30.09.2024, 04:21:39->Customization file skipped: .obsidian/app.json 30.09.2024, 04:21:39->Customization file skipped: .obsidian/app.json 30.09.2024, 04:21:39->Customization file skipped: .obsidian/app.json 30.09.2024, 04:21:39->Chunks saved (with fixed): doc: .obsidian/appearance.json ,chunks: 1 (new:0, recycled:1, cached:0) 30.09.2024, 04:21:39->STORAGE --> DB:.obsidian/appearance.json: (hidden) Done 30.09.2024, 04:21:39->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:39->Replication activated 30.09.2024, 04:21:39->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:39->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:40->Replication paused 30.09.2024, 04:21:59->Replication activated 30.09.2024, 04:21:59->START :Applying hidden 1 files change 30.09.2024, 04:21:59->Scanning hidden files. 30.09.2024, 04:21:59->STORAGE <-- DB:.obsidian/appearance.json: written (hidden, overwrite) 30.09.2024, 04:21:59->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:59->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:59->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:59->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:21:59->Customization file skipped: .obsidian/appearance.json 30.09.2024, 04:22:00->Replication paused 30.09.2024, 04:22:02->Hidden files scanned: 1 files had been modified 30.09.2024, 04:22:02->DONE :Applying hidden 1 files change 30.09.2024, 04:22:09->Scanning hidden files. 30.09.2024, 04:22:12->Hidden files scanned: 2 files had been modified ```

On my iPhone I can't copy the log or settings, you should have added just buttons that copy to clipboard when clicked, not output to console. The settings are basically the same as on PC. I've attached a screenshot showing how the plugin overwrites the new changes with the old ones when the app is first opened

Device №2 ![image](https://github.com/user-attachments/assets/242a6fb0-9614-442f-af8e-a6dd830b4f1e)

Other information, insights and intuition.

First, I'll describe my usage. CouchDB is hosted on my VPS in Docker. Obsidian is used on two devices: an IPhone and Arch Linux (I'll just call it PC). The №1 device is PC. №2 is an IPhone.

I don't know exactly how the local DB works, but from what I understand, the server shares the DB with hidden files for different devices? It first tries to send all hidden files to the DB and writes “Same content” - at which point the plugin apparently marks it as a new file and so sends it to the shared DB

0zd0 commented 1 month ago

Got the same result if the №2 device is Android. I thought there might be some limitations on iOS

vrtmrz commented 1 month ago

Thank you for opening the issue!

On my iPhone I can't copy the log or settings,

I agree that this should be quite hard. Please turn on Write logs into the file on the Hatch pane. We can address it calmly.

For security reasons, items that may contain credentials will not be handled automatically or implicitly.

Now returning to the topic, I must apologise for any confusion.

In Device No.1, your appearance.json is saved as a customisation sync. (If you have enabled Customisation sync, operate under that feature unless it is configured as automatic).

On the other hand, the second Device No.2 appears to handle the file as a part of Hidden file sync. This suggests that customisation sync may be disabled or set to Automatic.

Would you mind confirming that both devices are configured as the same?

0zd0 commented 1 month ago

Thanks for the quick response

I agree that this should be quite hard. Please turn on Write logs into the file on the Hatch pane. We can address it calmly.

I see that the iOS system is completely closed and I can't access the app files. I can't see the obsidian files through any file manager. So I can do a pool-request for you with buttons and copying to clipboard if you don't mind.

In Device No.1, your appearance.json is saved as a customisation sync. (If you have enabled Customisation sync, operate under that feature unless it is configured as automatic).

I have Hidden files synchronization enabled and at the same time Enable customization sync, could this be a problem?

I don't see any documentation on this, so I don't understand if this is supposed to work together?

image

image

0zd0 commented 1 month ago

I apologize about the logs, I didn't notice that he could post it in a note. Device №2:

Report from the LiveSync

Report ``` ---- Obsidian info ---- Navigator: Mozilla/5.0 (iPhone; CPU iPhone OS 18_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 FileSystem: sensitive ---- remote config ---- cors: credentials: "true" headers: accept, authorization, content-type, origin, referer max_age: "3600" methods: GET, PUT, POST, HEAD, DELETE origins: app://obsidian.md,capacitor://localhost,http://localhost chttpd: bind_address: any max_http_request_size: "4294967296" port: "5984" require_valid_user: "true" admins: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 vendor: name: The Apache Software Foundation feature_flags: partitioned||*: "true" chttpd_auth: authentication_redirect: /_utils/session.html hash_algorithms: sha256, sha require_valid_user: "true" indexers: couch_mrview: "true" prometheus: additional_port: "false" bind_address: 127.0.0.1 port: "17986" httpd: WWW-Authenticate: Basic realm="couchdb" bind_address: 127.0.0.1 enable_cors: "true" port: "5986" smoosh: state_dir: ./data couch_httpd_auth: authentication_db: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 secret: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 authentication_redirect: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchdb_engines: couch: couch_bt_engine couchdb: database_dir: ./data max_document_size: "50000000" single_node: "true" uuid: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 view_index_dir: ./data ---- Plug-in config --- version:0.23.23 remoteType: "" useCustomRequestHandler: false couchDB_URI: self-hosted(HTTPS) couchDB_USER: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchDB_PASSWORD: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 couchDB_DBNAME: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 liveSync: true syncOnSave: false syncOnStart: false savingDelay: 200 lessInformationInLog: false gcDelay: 0 versionUpFlash: "" minimumChunkSize: 20 longLineThreshold: 250 showVerboseLog: true suspendFileWatching: false trashInsteadDelete: true periodicReplication: false periodicReplicationInterval: 60 syncOnFileOpen: false encrypt: false passphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 usePathObfuscation: false doNotDeleteFolder: true resolveConflictsByNewerFile: true batchSave: false batchSaveMinimumDelay: 5 batchSaveMaximumDelay: 60 deviceAndVaultName: iphone usePluginSettings: false showOwnPlugins: false showStatusOnEditor: true showStatusOnStatusbar: true showOnlyIconsOnEditor: true usePluginSync: true autoSweepPlugins: true autoSweepPluginsPeriodic: true notifyPluginOrSettingUpdated: true checkIntegrityOnSave: false batch_size: 25 batches_limit: 25 useHistory: true disableRequestURI: true skipOlderFilesOnSync: true checkConflictOnlyOnOpen: false showMergeDialogOnlyOnActive: false syncInternalFiles: true syncInternalFilesBeforeReplication: false syncInternalFilesIgnorePatterns: \/node_modules\/, \/\.git\/, \/obsidian-livesync\/ syncInternalFilesInterval: 60 additionalSuffixOfDatabaseName: documents/Main ignoreVersionCheck: false lastReadUpdates: 23 deleteMetadataOfDeletedFiles: false syncIgnoreRegEx: "" syncOnlyRegEx: "" customChunkSize: 50 readChunksOnline: true watchInternalFileChanges: true automaticallyDeleteMetadataOfDeletedFiles: 0 disableMarkdownAutoMerge: false writeDocumentsIfConflicted: false useDynamicIterationCount: false syncAfterMerge: false configPassphraseStore: "" encryptedPassphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 encryptedCouchDBConnection: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 permitEmptyPassphrase: false useIndexedDBAdapter: true useTimeouts: false writeLogToTheFile: true doNotPaceReplication: false hashCacheMaxCount: 300 hashCacheMaxAmount: 50 concurrencyOfReadChunksOnline: 30 minimumIntervalOfReadChunksOnline: 25 hashAlg: xxhash64 suspendParseReplicationResult: false doNotSuspendOnFetching: false useIgnoreFiles: false ignoreFiles: .gitignore syncOnEditorSave: false pluginSyncExtendedSetting: {} syncMaxSizeInMB: 50 settingSyncFile: "" writeCredentialsForSettingSync: false notifyAllSettingSyncFile: false isConfigured: true settingVersion: 10 enableCompression: false accessKey: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 bucket: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷(0 letters) endpoint: Not configured or AWS region: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷(4 letters) secretKey: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷 useEden: false maxChunksInEden: 10 maxTotalLengthInEden: 1024 maxAgeInEden: 10 disableCheckingConfigMismatch: false displayLanguage: "" enableChunkSplitterV2: false disableWorkerForGeneratingChunks: false processSmallFilesInUIThread: false notifyThresholdOfRemoteStorageSize: 2000 usePluginSyncV2: false usePluginEtc: false handleFilenameCaseSensitive: false doNotUseFixedRevisionForChunks: false showLongerLogInsideEditor: false sendChunksBulk: true sendChunksBulkMaxSize: 40 useSegmenter: false useAdvancedMode: true usePowerUserMode: false useEdgeCaseMode: false configPassphrase: "" preset: "" syncMode: LIVESYNC dummy: 0 ```

Logs

Logs ``` Main-documents/Main:08.10.2024, 03:10:58->Cache initialized 300 / 50000000 Main-documents/Main:08.10.2024, 03:10:58->Scanning customizing files. Main-documents/Main:08.10.2024, 03:10:58->STORAGE --> DB:ix:iphone/CONFIG/app.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:58->STORAGE --> DB:ix:iphone/CONFIG/core-plugins.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/workspace-mobile.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/community-plugins.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/appearance.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/core-plugins-migration.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-icon-folder.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-tasks-plugin.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->Chunks saved (with fixed): doc: iphone/PLUGIN_DATA/obsidian-livesync.md ,chunks: 5 (new:3, recycled:0, cached:2) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-livesync.md: (config) Done Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-minimal-settings.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->Config: skipped (Possibly is not exist): .obsidian/plugins/obsidian-minimal-settings/styles.css Main-documents/Main:08.10.2024, 03:10:59->Scanning customizing files. Main-documents/Main:08.10.2024, 03:10:59->Scanning hidden files. Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/app.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/core-plugins.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/workspace-mobile.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/community-plugins.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/appearance.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/CONFIG/core-plugins-migration.json.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-icon-folder.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-tasks-plugin.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->STORAGE --> DB:ix:iphone/PLUGIN_DATA/obsidian-minimal-settings.md: (config) Skipped (Same content) Main-documents/Main:08.10.2024, 03:10:59->Bulk sending chunks to remote database... Main-documents/Main:08.10.2024, 03:10:59->Config: skipped (Possibly is not exist): .obsidian/plugins/obsidian-minimal-settings/styles.css Main-documents/Main:08.10.2024, 03:10:59->Looking for the point last synchronized point. Main-documents/Main:08.10.2024, 03:10:59->All changeset has been scanned (Last seq = 3613). Main-documents/Main:08.10.2024, 03:10:59->Found 33 chunks to check (Since 3565). Main-documents/Main:08.10.2024, 03:10:59->Hidden file skipped: .obsidian/workspace-mobile.json is synchronized in customization sync. Main-documents/Main:08.10.2024, 03:10:59->Customization file skipped: .obsidian/workspace-mobile.json Main-documents/Main:08.10.2024, 03:11:00->Hidden file skipped: .obsidian/workspace-mobile.json is synchronized in customization sync. Main-documents/Main:08.10.2024, 03:11:00->Customization file skipped: .obsidian/workspace-mobile.json Main-documents/Main:08.10.2024, 03:11:00->Queued 9 chunks. (Since 3565). Main-documents/Main:08.10.2024, 03:11:00->Sending 9 (35500 => 34.67KB in plain) chunks to remote database... Main-documents/Main:08.10.2024, 03:11:00->↑ Uploading chunks 9/(0 done) Main-documents/Main:08.10.2024, 03:11:01->↑ Uploading chunks 9/(9 done) Main-documents/Main:08.10.2024, 03:11:02->Hidden file skipped: .obsidian/workspace-mobile.json is synchronized in customization sync. Main-documents/Main:08.10.2024, 03:11:02->Customization file skipped: .obsidian/workspace-mobile.json Main-documents/Main:08.10.2024, 03:11:02->Hidden files scanned: 0 files had been modified Main-documents/Main:08.10.2024, 03:11:03->Replication activated Main-documents/Main:08.10.2024, 03:11:03->Hidden file skipped: .obsidian/workspace-mobile.json is synchronized in customization sync. Main-documents/Main:08.10.2024, 03:11:03->Customization file skipped: .obsidian/workspace-mobile.json Main-documents/Main:08.10.2024, 03:11:03->START :Applying hidden 1 files change Main-documents/Main:08.10.2024, 03:11:03->Scanning hidden files. Main-documents/Main:08.10.2024, 03:11:03->Chunks saved (with fixed): doc: .obsidian/appearance.json ,chunks: 1 (new:0, recycled:1, cached:0) Main-documents/Main:08.10.2024, 03:11:03->STORAGE --> DB:.obsidian/appearance.json: (hidden) Done Main-documents/Main:08.10.2024, 03:11:04->Replication paused Main-documents/Main:08.10.2024, 03:11:04->Replication completed Main-documents/Main:08.10.2024, 03:11:04->LiveSync begin... Main-documents/Main:08.10.2024, 03:11:05->Replication activated Main-documents/Main:08.10.2024, 03:11:06->Hidden files scanned: 1 files had been modified Main-documents/Main:08.10.2024, 03:11:06->DONE :Applying hidden 1 files change Main-documents/Main:08.10.2024, 03:11:06->Replication paused Main-documents/Main:08.10.2024, 03:11:07->Replication activated Main-documents/Main:08.10.2024, 03:11:07->Replication paused ```