obsidian-livesync icon indicating copy to clipboard operation
obsidian-livesync copied to clipboard

Adding a symlink to my vault causes Obsidian to crash on sync

Open verlen64 opened this issue 1 year ago β€’ 2 comments

Following this guide I added a symlink (hard link) to my vault that points to the Onedrive directory on my machine. My aim was to search, show and link to all the PDFs in that directory, which worked perfectly.

Unless I tried to sync my vault with Livesync as usual. As I hit that sync button I see the plugin starting to sync, but immediately after that Obsidian freezes. I tried to set a Synchronization Filter in Sync Settings excluding all PDF files, but that didn't change the behavior.

Apart from that problem, I thought it would be a good idea to be able to exclude that specific directory from syncing to my other devices because it is very large and not necessarily needed elsewhere than on my machine. Thus, I'd like to propose to add an option to exclude certain folders from syncing in Sync Settings.

verlen64 avatar May 11 '23 16:05 verlen64

Thank you for asking me! I did not check the behaviour exactly as you mentioned. However, sometimes the OneDrive directory makes us annoyed especially using Files on Demand. (If you do not use them, apologies for getting ahead of myself).

Have you enabled Hidden file sync or Customization sync? These features scan the local storage before synchronisation. If Files on Demand has been enabled on OneDrive, unexpected downloading may happens. Would you mind if I ask you to dump the configuration which can be made from the Make report button?

Apart from that problem, I thought it would be a good idea to be able to exclude that specific directory from syncing to my other devices because it is very large and not necessarily needed elsewhere than on my machine. Thus, I'd like to propose to add an option to exclude certain folders from syncing in Sync Settings.

This might be realised by Regular expression to ignore files ( ^\/dir_to_ignore\/ will work as you mentioned.) However, the specific UI might be useful!

vrtmrz avatar May 12 '23 09:05 vrtmrz

Thank you for your fast reply! I didn't enable Files on Demand in OneDrive nor did I enable Hidden file sync or Customization sync. My configuration is this: ----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 --- couchDB_URI: self-hosted couchDB_USER: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 couchDB_PASSWORD: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 couchDB_DBNAME: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 liveSync: false syncOnSave: false syncOnStart: false savingDelay: 200 lessInformationInLog: false gcDelay: 0 versionUpFlash: "" minimumChunkSize: 20 longLineThreshold: 250 showVerboseLog: false suspendFileWatching: false trashInsteadDelete: false periodicReplication: false periodicReplicationInterval: 300 syncOnFileOpen: false encrypt: true passphrase: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 usePathObfuscation: false doNotDeleteFolder: false resolveConflictsByNewerFile: true batchSave: false deviceAndVaultName: "" usePluginSettings: false showOwnPlugins: false showStatusOnEditor: false usePluginSync: false autoSweepPlugins: false autoSweepPluginsPeriodic: false notifyPluginOrSettingUpdated: false checkIntegrityOnSave: true batch_size: 250 batches_limit: 40 useHistory: true disableRequestURI: true skipOlderFilesOnSync: true checkConflictOnlyOnOpen: false syncInternalFiles: false syncInternalFilesBeforeReplication: false syncInternalFilesIgnorePatterns: /node_modules/, /.git/, /obsidian-livesync/ syncInternalFilesInterval: 60 additionalSuffixOfDatabaseName: "" ignoreVersionCheck: false lastReadUpdates: 19 deleteMetadataOfDeletedFiles: true syncIgnoreRegEx: /GoodNotes/+ syncOnlyRegEx: "" customChunkSize: 100 readChunksOnline: true watchInternalFileChanges: true automaticallyDeleteMetadataOfDeletedFiles: 0 disableMarkdownAutoMerge: false writeDocumentsIfConflicted: false useDynamicIterationCount: false syncAfterMerge: false configPassphraseStore: "" encryptedPassphrase: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 encryptedCouchDBConnection: 𝑅𝐸𝐷𝐴𝐢𝑇𝐸𝐷 permitEmptyPassphrase: false useIndexedDBAdapter: false useTimeouts: false writeLogToTheFile: false doNotPaceReplication: false hashCacheMaxCount: 300 hashCacheMaxAmount: 50 concurrencyOfReadChunksOnline: 100 minimumIntervalOfReadChunksOnline: 333

verlen64 avatar May 14 '23 18:05 verlen64