Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syncing with other device often causes notes to become empty #539

Open
jensenhuangyankai opened this issue Nov 13, 2024 · 2 comments
Open

Comments

@jensenhuangyankai
Copy link

Abstract

After making changes on one device, I open obsidian on my other device, and a blank page shows. The filename that appears on my other obsidian device is correct, but it is zero bytes.

Expected behaviour

  • Everything syncing properly

Actually happened

  • Blank file appears

Reproducing procedure

  1. configured couchdb, with customization sync + sync hidden files
  2. make changes on obsidian md file
  3. open obsidian on other device
  4. doesn't sync correctly

Report materials

If the information is not available, do not hesitate to report it as it is. You can also of course omit it if you think this is indeed unnecessary. If it is necessary, I will ask you.

Report from the LiveSync

---- Obsidian info ----
Navigator: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.6.7 Chrome/124.0.6367.243 Electron/30.1.2 Safari/537.36
FileSystem: insensitive
---- remote config ----
cluster:
n: "1"
cors:
credentials: "true"
origins: app://obsidian.md,capacitor://localhost,http://localhost
chttpd:
bind_address: 0.0.0.0
enable_cors: "true"
max_http_request_size: "4294967296"
port: "5984"
require_valid_user: "true"
admins: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷
vendor:
name: The Apache Software Foundation
feature_flags:
partitioned||*: "true"
chttpd_auth:
hash_algorithms: sha256, sha
require_valid_user: "true"
secret: 6c3e34c395c45b7d3c721ec9c815c1c1
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"
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: false
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: Surface-Laptop-7
usePluginSettings: false
showOwnPlugins: false
showStatusOnEditor: true
showStatusOnStatusbar: true
showOnlyIconsOnEditor: false
usePluginSync: true
autoSweepPlugins: false
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/, .obsidian/workspace.json
syncInternalFilesInterval: 60
additionalSuffixOfDatabaseName: e181a77c6e56e398
ignoreVersionCheck: false
lastReadUpdates: 23
deleteMetadataOfDeletedFiles: false
syncIgnoreRegEx: ""
syncOnlyRegEx: ""
customChunkSize: 0
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: 40
minimumIntervalOfReadChunksOnline: 50
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: 0
usePluginSyncV2: true
usePluginEtc: false
handleFilenameCaseSensitive: false
doNotUseFixedRevisionForChunks: true
showLongerLogInsideEditor: false
sendChunksBulk: false
sendChunksBulkMaxSize: 25
useSegmenter: false
useAdvancedMode: true
usePowerUserMode: true
useEdgeCaseMode: true
configPassphrase: ""
preset: ""
syncMode: LIVESYNC
dummy: 0

@vrtmrz
Copy link
Owner

vrtmrz commented Dec 3, 2024

Sorry for being late! And thank you for opening the issue!
However, your configuration seems fine. Would you mind if I ask you to enable Verbose log and check what can be output on the logs, please?

@cameronpenner
Copy link

cameronpenner commented Jan 4, 2025

I have a similar issue and can share the repro steps. I use daily notes across two windows computers and an android device. When I was using the default sync settings, and Obsidian's "Open daily note on startup" I found that the first time I opened obsidian on a device each day, it would create the daily note faster then it could sync. This resulted in the new empty note being newer than the already existing note. Since default sync is set to automatically overwrite with the newer file on a conflict, the existing note gets cleared and then immediately synced, deleting that note's contents in the couchdb as well.

Steps:

  1. Setup two devices with all default sync settings
  2. Set both devices to open daily note on startup
  3. Open one device, and type something into the daily note
  4. Open the second device

Expected behaviour: Ii keeps the daily note with content in it on both devices
Actual behaviour: It deletes all content from the daily note, and it is now synced with nothing in it on both devices

Future changes to the empty note are correctly synced to both devices as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants