obsidian-livesync
obsidian-livesync copied to clipboard
Some notes synced as zero size
Abstract
I installed Obsidian 1.5.3 and Obsidian-LiveSync on a three devices: 1. my desktop (Win10), then 2. Android (11) mobile and 3. laptop. Desktop is my primary device. I have imported notes from Evernote ENEX file to a local Obsidian Vault. Next I set up synchronisation on my desktop and waited until it ended pushing notes to a couchdb database. I have configured the livesync on my mobile (Android) afterwards and synced. Finally the same on a laptop. On the mobile and laptop synchronisations failed to fetch body of 3 out of 392 notes. The notes were seen as title only with zero file sizes and empty bodies.
Expected behaviour
As Obsidian-LiveSync finished synchronisation I have expected it pushed all the notes to the couchdb database. Hence I expected that all those notes will get fetched intact on the two other devices in a newly set up vaults.
Actually happened
- Synchronisation on the desktop finished without an error.
- For the mobile and laptop 3 out of 392 notes were fetched as zero size files.
Reproducing procedure
I have configured synchronisation as described above only once and the issue happened. I could try to reproduce and gather some logs in case it'd help. Just let me know what to collect.
Report from the LiveSync
Below are reports from all the 3 devices and also dump of the information regarding one of the failed notes.
Dumped information of one of the failed notes (notice size: 0)
1.01.2024, 18:44:30->Enhanced doc
1.01.2024, 18:44:30->{
"data": "",
"_id": "przemhb's notebook/Odpowiedź z Plusa.md",
"path": "przemhb's notebook/Odpowiedź z Plusa.md",
"ctime": 1391450122000,
"mtime": 1391450122000,
"size": 0,
"_rev": "2-cd56c262cfc84633943d43819740ce2f",
"children": [
"h:+1k1bb8isxowev"
],
"datatype": "plain",
"type": "plain"
}
1.01.2024, 18:44:30->therefore:
1.01.2024, 18:44:30->{
"data": [
""
],
"path": "przemhb's notebook/Odpowiedź z Plusa.md",
"_id": "przemhb's notebook/Odpowiedź z Plusa.md",
"ctime": 1391450122000,
"mtime": 1391450122000,
"size": 0,
"_rev": "2-cd56c262cfc84633943d43819740ce2f",
"children": [
"h:+1k1bb8isxowev"
],
"datatype": "plain",
"type": "plain"
}
Report from hatch (desktop)
----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
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:
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: 0.0.0.0
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.21.5
couchDB_URI: self-hosted
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: true
passphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷
usePathObfuscation: false
doNotDeleteFolder: false
resolveConflictsByNewerFile: false
batchSave: false
deviceAndVaultName: ""
usePluginSettings: false
showOwnPlugins: false
showStatusOnEditor: true
usePluginSync: false
autoSweepPlugins: false
autoSweepPluginsPeriodic: false
notifyPluginOrSettingUpdated: false
checkIntegrityOnSave: false
batch_size: 50
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: 0
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: 100
minimumIntervalOfReadChunksOnline: 333
hashAlg: xxhash64
suspendParseReplicationResult: false
doNotSuspendOnFetching: false
useIgnoreFiles: false
ignoreFiles: .gitignore
syncOnEditorSave: false
pluginSyncExtendedSetting: {}
Report from the hatch (Android mobile)
----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
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:
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: 0.0.0.0
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.21.5
couchDB_URI: self-hosted
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: true
passphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷
usePathObfuscation: false
doNotDeleteFolder: false
resolveConflictsByNewerFile: false
batchSave: false
deviceAndVaultName: ""
usePluginSettings: false
showOwnPlugins: false
showStatusOnEditor: true
usePluginSync: false
autoSweepPlugins: false
autoSweepPluginsPeriodic: false
notifyPluginOrSettingUpdated: false
checkIntegrityOnSave: false
batch_size: 50
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: 21
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: 100
minimumIntervalOfReadChunksOnline: 333
hashAlg: xxhash64
suspendParseReplicationResult: false
doNotSuspendOnFetching: false
useIgnoreFiles: false
ignoreFiles: .gitignore
syncOnEditorSave: false
pluginSyncExtendedSetting: {}
Report from hatch (laptop)
----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
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:
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: 0.0.0.0
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.21.5
couchDB_URI: self-hosted
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: true
passphrase: 𝑅𝐸𝐷𝐴𝐶𝑇𝐸𝐷
usePathObfuscation: false
doNotDeleteFolder: false
resolveConflictsByNewerFile: false
batchSave: false
deviceAndVaultName: ""
usePluginSettings: false
showOwnPlugins: false
showStatusOnEditor: true
usePluginSync: false
autoSweepPlugins: false
autoSweepPluginsPeriodic: false
notifyPluginOrSettingUpdated: false
checkIntegrityOnSave: false
batch_size: 50
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: 21
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: 100
minimumIntervalOfReadChunksOnline: 333
hashAlg: xxhash64
suspendParseReplicationResult: false
doNotSuspendOnFetching: false
useIgnoreFiles: false
ignoreFiles: .gitignore
syncOnEditorSave: false
pluginSyncExtendedSetting: {}
Report from the LiveSync (laptop). There were a few attempts to toggle on/off the sync, scan storage etc. Two of the three notes were modified on the desktop, then reverted in hope to force their sync. I believe it caused them to be eventually synced. Third (info above) is at it was, so it was not synced and it still isn't.
1.01.2024, 16:51:25->Checking deleted files
1.01.2024, 16:51:27->Collecting local files on the DB: 25
1.01.2024, 16:51:27->Collecting local files on the DB: 50
1.01.2024, 16:51:27->Collecting local files on the DB: 75
1.01.2024, 16:51:27->Collecting local files on the DB: 100
1.01.2024, 16:51:27->Collecting local files on the DB: 125
1.01.2024, 16:51:27->Collecting local files on the DB: 150
1.01.2024, 16:51:27->Collecting local files on the DB: 175
1.01.2024, 16:51:27->Collecting local files on the DB: 200
1.01.2024, 16:51:27->Collecting local files on the DB: 225
1.01.2024, 16:51:27->Collecting local files on the DB: 250
1.01.2024, 16:51:27->Collecting local files on the DB: 275
1.01.2024, 16:51:27->Collecting local files on the DB: 300
1.01.2024, 16:51:27->Collecting local files on the DB: 325
1.01.2024, 16:51:27->Collecting local files on the DB: 350
1.01.2024, 16:51:27->Collecting local files on the DB: 375
1.01.2024, 16:51:27->Collecting local files on the DB: 400
1.01.2024, 16:51:27->Collecting local files on the DB: 425
1.01.2024, 16:51:27->Collecting local files on the DB: 450
1.01.2024, 16:51:27->Collecting local files on the DB: 475
1.01.2024, 16:51:27->Collecting local files on the DB: 500
1.01.2024, 16:51:27->Collecting local files on the DB: 525
1.01.2024, 16:51:27->Collecting local files on the DB: 550
1.01.2024, 16:51:27->Collecting local files on the DB: 575
1.01.2024, 16:51:27->Collecting local files on the DB: 600
1.01.2024, 16:51:27->Collecting local files on the DB: 625
1.01.2024, 16:51:27->Collecting local files on the DB: 650
1.01.2024, 16:51:27->Collecting local files on the DB: 675
1.01.2024, 16:51:27->Collecting local files on the DB: 700
1.01.2024, 16:51:27->Collecting local files on the DB: 725
1.01.2024, 16:51:27->Collecting local files on the DB: 750
1.01.2024, 16:51:27->Collecting local files on the DB: 775
1.01.2024, 16:51:27->Updating database by new files
1.01.2024, 16:51:27->UPDATE DATABASE
1.01.2024, 16:51:27->UPDATE DATABASE: PASS:0, FAILED:0
1.01.2024, 16:51:27->UPDATE STORAGE
1.01.2024, 16:51:27->UPDATE STORAGE: PASS:7, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:1/8
1.01.2024, 16:51:27->CHECK FILE STATUS:1/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:2/8
1.01.2024, 16:51:27->CHECK FILE STATUS:2/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:3/8
1.01.2024, 16:51:27->CHECK FILE STATUS:3/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:4/8
1.01.2024, 16:51:27->CHECK FILE STATUS:4/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:5/8
1.01.2024, 16:51:27->CHECK FILE STATUS:5/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:6/8
1.01.2024, 16:51:27->CHECK FILE STATUS:6/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:7/8
1.01.2024, 16:51:27->CHECK FILE STATUS:7/8: PASS:100, FAILED:0
1.01.2024, 16:51:27->CHECK FILE STATUS:8/8
1.01.2024, 16:51:27->CHECK FILE STATUS:8/8: PASS:78, FAILED:0
1.01.2024, 16:51:27->Initialized, NOW TRACKING!
1.01.2024, 16:51:27->Before LiveSync, start OneShot once...
1.01.2024, 16:51:27->OneShot Sync begin... (pullOnly)
1.01.2024, 16:51:28->Replication completed
1.01.2024, 16:51:28->LiveSync begin...
1.01.2024, 16:51:38->Replication closed
1.01.2024, 16:54:25->Before LiveSync, start OneShot once...
1.01.2024, 16:54:25->OneShot Sync begin... (pullOnly)
1.01.2024, 16:54:26->Replication completed
1.01.2024, 16:54:26->LiveSync begin...
1.01.2024, 16:54:34->Enhanced doc
1.01.2024, 16:54:34->{
"data": "",
"_id": "przemhb's notebook/Odpowiedź z Plusa.md",
"path": "przemhb's notebook/Odpowiedź z Plusa.md",
"ctime": 1391450122000,
"mtime": 1391450122000,
"size": 0,
"_rev": "2-cd56c262cfc84633943d43819740ce2f",
"children": [
"h:+1k1bb8isxowev"
],
"datatype": "plain",
"type": "plain"
}
1.01.2024, 16:54:34->therefore:
1.01.2024, 16:54:34->{
"data": [
""
],
"path": "przemhb's notebook/Odpowiedź z Plusa.md",
"_id": "przemhb's notebook/Odpowiedź z Plusa.md",
"ctime": 1391450122000,
"mtime": 1391450122000,
"size": 0,
"_rev": "2-cd56c262cfc84633943d43819740ce2f",
"children": [
"h:+1k1bb8isxowev"
],
"datatype": "plain",
"type": "plain"
}
1.01.2024, 16:55:50->Replication closed
1.01.2024, 17:15:59->Before LiveSync, start OneShot once...
1.01.2024, 17:15:59->OneShot Sync begin... (pullOnly)
1.01.2024, 17:16:00->Replication activated
1.01.2024, 17:16:01->Applied Bez nazwy.md (Bez nazw:2-95d) change...
1.01.2024, 17:16:01->Replication completed
1.01.2024, 17:16:01->LiveSync begin...
1.01.2024, 17:16:01->Replication activated
1.01.2024, 17:16:01->Replication activated
1.01.2024, 17:16:11->Replication closed
1.01.2024, 17:45:27->Before LiveSync, start OneShot once...
1.01.2024, 17:45:27->OneShot Sync begin... (pullOnly)
1.01.2024, 17:45:28->Replication completed
1.01.2024, 17:45:28->LiveSync begin...
1.01.2024, 17:45:34->Replication closed
1.01.2024, 19:01:00->Before LiveSync, start OneShot once...
1.01.2024, 19:01:00->OneShot Sync begin... (pullOnly)
1.01.2024, 19:01:01->Replication completed
1.01.2024, 19:01:01->LiveSync begin...
1.01.2024, 19:01:12->{
"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",
"enable_cors": "true",
"max_http_request_size": "4294967296",
"port": "5984",
"require_valid_user": "true"
},
"admins": {
"obsidian": "-pbkdf2-1b8a4f4717b7ce3b34c1e6e799c4195c1ddf8851,ac8baf6a6ff412004c0f4488b9c9fa08,10"
},
"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": "0.0.0.0",
"port": "5986"
},
"smoosh": {
"state_dir": "./data"
},
"couch_httpd_auth": {
"authentication_db": "_users"
},
"couchdb_engines": {
"couch": "couch_bt_engine"
},
"couchdb": {
"database_dir": "./data",
"max_document_size": "50000000",
"single_node": "true",
"uuid": "b4b43f88db71edf5f4c7e0145cfa0b63",
"view_index_dir": "./data"
}
}
1.01.2024, 19:01:12->Information has been copied to clipboard
1.01.2024, 19:01:17->Replication closed
1.01.2024, 19:47:14->Before LiveSync, start OneShot once...
1.01.2024, 19:47:14->OneShot Sync begin... (pullOnly)
1.01.2024, 19:47:14->Replication completed
1.01.2024, 19:47:14->LiveSync begin...
1.01.2024, 19:47:28->{
"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",
"enable_cors": "true",
"max_http_request_size": "4294967296",
"port": "5984",
"require_valid_user": "true"
},
"admins": {
"obsidian": "-pbkdf2-1b8a4f4717b7ce3b34c1e6e799c4195c1ddf8851,ac8baf6a6ff412004c0f4488b9c9fa08,10"
},
"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": "0.0.0.0",
"port": "5986"
},
"smoosh": {
"state_dir": "./data"
},
"couch_httpd_auth": {
"authentication_db": "_users"
},
"couchdb_engines": {
"couch": "couch_bt_engine"
},
"couchdb": {
"database_dir": "./data",
"max_document_size": "50000000",
"single_node": "true",
"uuid": "b4b43f88db71edf5f4c7e0145cfa0b63",
"view_index_dir": "./data"
}
}
1.01.2024, 19:47:28->Information has been copied to clipboard
1.01.2024, 19:47:44->Replication closed
1.01.2024, 19:54:39->Before LiveSync, start OneShot once...
1.01.2024, 19:54:39->OneShot Sync begin... (pullOnly)
1.01.2024, 19:54:40->Replication completed
1.01.2024, 19:54:40->LiveSync begin...
Other information, insights and intuition.
Please provide any additional context or information about the problem.
Hi. I am a new to about LiveSync plugin.
First of all, the following text is not directly related to the solution of your problem this time przemhb. I used to have a problem with file size being set to ZERO on sync, but I thought that the problem was solved some time ago (v0.21.2).
Since v0.21.2.I did not have the problem of the file size reducing to zero size again
This bug was fixed resolved by following.
- On 10/24 synced PDF file size increases 5x after syncing between IOS and iPadOS - ■Vrtmrz/obsidian■Livesync
- On 11/5 synchronized PDF file size is now 0 - Issue ˶#318 - vrtmrz/obsidian ✾-livesync
- On 11/27 v0.21.2 reased.
- change comparison between v0.21.2 and previous v0.21.1
- v0.21.2 fixes:
-
Files are no longer corrupted during rebuild.
-
Large binary files can now be written correctly on mobile platforms.
-
Fixed a decoding error that caused the file to be 0 bytes.
-
After reviewing the detailed information you have provided, I did not find any issues wrong with chunk size, batch size, or any other aspect of the platform.
I have a hypothesis, with all due respect, is it possible that the file size was set to 0 in the sync prior to v0.21.1, and you just noticed it in v0.21.5? I apologize if this is very rude and I am wrong. That is all.
I have installed the LiveSync on the 31.12.2023, so I guess I never have had versions lower, than the last 0.21.5.
Thank you for opening this issue! Your detailed information is very useful to infer the problem. I appreciate your effort and kindness!
The dump of the information indicates that the file was saved as zero bytes in fact. However, the revision has been gotten 2
. Therefore, it possibly had been overwritten by the empty file.
Unexpected conflicts while fetching had been common before v0.22.0. I guess that this could be a result of a failure of automatic resolving.
If it was so, we have an old revision. Could you please check the document history by Show history
?
And, if possible, please try the latest version.
Thank you for your kind words.
Show history shows 1 revision (see screenshot attached).
I updated to 22.1, waited for the sync to complete, but the note is still empty.
Oh my, it seems that we have already lost revision 1. There is still a possibility that only another device (due to only the latest changes revision would be transferred), has that, but we should think that the note is lost in this client; and be in a very regretful situation.
I am very sorry to be got as like this. If you really need this document (from the timestamp, I think that it might be so), would you please check the CouchDB directly with the following parameters?
https://your-couchdb.example.com/yourdatabase/przemhb%27s+notebook%2FOdpowied%C5%BA+z+Plusa.md?deleted_conflicts=true&revs_info=true
This will respond to us like this:
{
"_id": "Untitled.md",
"_rev": "2-beee03dd23f14e20affca4803043f1ff",
"children": [
"h:1ov6d7gstvdqj"
],
"path": "Untitled.md",
"ctime": 1702629702243,
"mtime": 1702630820610,
"size": 56,
"type": "plain",
"_revs_info": [
{
"rev": "2-beee03dd23f14e20affca4803043f1ff",
"status": "available"
},
{
"rev": "1-d1050bb04e17cacedfba8da57f5634ae",
"status": "available"
}
],
"_deleted_conflicts": [
"110-1e55c83b8d6fb54c66e016acec3e0d2e"
]
}
If the status of rev 1-xxx
is not missing
, there are still possibilities for recovery.
It seems the link is not valid as I get error 404 when trying to open: http://192.168.0.2/couchdb/obsidian/przemhb%27s+notebook%2FOdpowied%C5%BA+z+Plusa.md?deleted_conflicts=true&revs_info=true
26 sty 2024 10:16:32 vorotamoroz @.***>:
Oh my, it seems that we have already lost revision 1. There is still a possibility that only another device (due to only the latest changes revision would be transferred), has that, but we should think that the note is lost in this client; and be in a very regretful situation.
I am very sorry to be got as like this. If you really need this document (from the timestamp, I think that it might be so), would you please check the CouchDB directly with the following parameters?
https://your-couchdb.example.com/yourdatabase/przemhb%27s+notebook%2FOdpowied%C5%BA+z+Plusa.md?deleted_conflicts=true&revs_info=true
This will respond to us like this:
*{ "_id": "Untitled.md", "_rev": "2-beee03dd23f14e20affca4803043f1ff", "children": [ "h:1ov6d7gstvdqj" ], "path": "Untitled.md", "ctime": 1702629702243, "mtime": 1702630820610, "size": 56, "type": "plain", "_revs_info": [ { "rev": "2-beee03dd23f14e20affca4803043f1ff", "status": "available" }, { "rev": "1-d1050bb04e17cacedfba8da57f5634ae", "status": "available" } ], "_deleted_conflicts": [ "110-1e55c83b8d6fb54c66e016acec3e0d2e" ] } * If the status of rev 1-xxx is not missing, there are still possibilities for recovery.
— Reply to this email directly, view it on GitHub[https://github.com/vrtmrz/obsidian-livesync/issues/357#issuecomment-1911720768], or unsubscribe[https://github.com/notifications/unsubscribe-auth/ACKNLB7Q6ISJ473CQF6Z2IDYQNX67AVCNFSM6AAAAABBJHIETKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJRG4ZDANZWHA]. You are receiving this because you authored the thread. [Obrazek śledzący][https://github.com/notifications/beacon/ACKNLB3SW3IDLY6GPQ7MUMTYQNX67A5CNFSM6AAAAABBJHIETKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTR6KFUA.gif]
Thank you for the try! I am so sad for that. Would you check also from the Fauxton (web UI)?
Changes can be seen in http://192.168.0.2/_utils/#/database/obsidian/_changes
or http://192.168.0.2/couchdb/_utils/#/database/obsidian/_changes
.
I opened: https://192.168.0.2/couchdb/_utils/#/database/obsidian/_changes and used "Document ID" search box to find the note, but it failed - see animated GIF attached. (Note my database is encrypted)
Thank you! The screen recording helps me! The note seems to exist, as there are red candidates, but I am a little puzzled as to why I get a message that it cannot be found. Could you access the CouchDB directly, without reverse proxy? (like 192.168.0.2:5984/_utils...).
I tried the same on my server opening http://localhost/couchdb/_utils/#database/obsidian/_changes. Got the same behaviour.
When I tried to open the Fauxton using 5984 port my browser failed to do so throwing:
{"error":"not_found","reason":"Database does not exist."}
That's also on attempts to open just: http://localhost/couchdb/_utils/
Verified, that CouchDB listens on the port.
May I ask how you are hosting the CouchDB?
If we ran CouchDB in our local environment, fauxton should be on http://localhost:5984/_utils
. (No subdirectory needed)
Oh, right. Removed the subdirectory from the address and finally got the changes as follows:
{ "_id": "przemhb's notebook/Odpowiedź z Plusa.md", "_rev": "2-cd56c262cfc84633943d43819740ce2f", "children": [ "h:+1k1bb8isxowev" ], "path": "przemhb's notebook/Odpowiedź z Plusa.md", "ctime": 1391450122000, "mtime": 1391450122000, "size": 0, "type": "plain" }