OK here is an update.
I completed the mount the NextCloud volume directly, forced the upload of / push the files from Joplin on Mac to mounted drive on NextCloud as "Local sync" target. That went quickly, about 20 min. to complete.
I changed the sync to "WebDAV" and ran the sync. It hung with some lock errors. I quit Joplin and came back 2 hours later and it completed it's sync.
For your info some interesting notes in the log.
- I don't use encryption however there are many many errors about looking for encryption key. For example this:
2023-05-16 15:29:25: models/Setting: "Could not set setting on the keychain. Will be saved to database instead: plugin-io.github.jackgruber.backup.password:", "Error: Password is required.
Error: Password is required.
at checkRequired (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/keytar/lib/keytar.js:5:11)
at Object.setPassword (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/keytar/lib/keytar.js:20:5)
at KeychainServiceDriver.<anonymous> (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/services/keychain/KeychainServiceDriver.node.js:19:43)
at Generator.next (<anonymous>)
at /Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/services/keychain/KeychainServiceDriver.node.js:8:71
at new Promise (<anonymous>)
at __awaiter (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/services/keychain/KeychainServiceDriver.node.js:4:12)
at KeychainServiceDriver.setPassword (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/services/keychain/KeychainServiceDriver.node.js:16:16)
at KeychainService.<anonymous> (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/services/keychain/KeychainService.js:51:32)
at Generator.next (<anonymous>)"
- Here are the error messages when Joplin couldn't complete the sync on the WebDAV sync. Please note that there is no other Joplin instance syncing with the NextCloud so I'm not sure what is locking the file. The files are already on the NextCloud instance with no changes so there shouldn't be anything locked after it has completed it's scan:
2023-05-16 17:49:25: Synchronizer: "Error: PUT 213b63fbf6d74c5fac3647f0db423c05.md: "Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked (Exception OCA\DAV\Connector\Sabre\Exception\FileLocked) (423): <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
Code: 423
Error: PUT 213b63fbf6d74c5fac3647f0db423c05.md: "Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked (Exception OCA\DAV\Connector\Sabre\Exception\FileLocked) (423): <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
at newError (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:414:11)
at WebDavApi.exec (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:441:11)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async FileApiDriverWebDav.put (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/file-api-driver-webdav.js:203:10)"
2023-05-16 17:49:25: Synchronizer: "Req 17:49:01: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/88a98b728acb49949dfc347cee3a1dfb.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-45481","User-Agent":"Joplin/1.0","Content-Length":"21424"},"body":"some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:01: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:02: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/8923f7c2331c4660b901f5dc60c9357a.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-97483","User-Agent":"Joplin/1.0","Content-Length":"1989"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:02: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:02: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/46423ea9b2284df3ab98e6ac71e4b0bf.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-62419","User-Agent":"Joplin/1.0","Content-Length":"3905"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:02: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:02: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/49a801be215b40bca4ad83f726432f74.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-48602","User-Agent":"Joplin/1.0","Content-Length":"5565"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:02: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:03: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/2cd05a07657a4b7d80af19d740b3055a.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-15025","User-Agent":"Joplin/1.0","Content-Length":"7361"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:03: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:03: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/451369d3dc7e4ddb8b7d37755084ba7a.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-2924","User-Agent":"Joplin/1.0","Content-Length":"14984"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:03: "
2023-05-16 17:49:25: Synchronizer: "Req 17:49:03: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-36491","User-Agent":"Joplin/1.0","Content-Length":"3593"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:03: <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
"
2023-05-16 17:49:25: Synchronizer: "Req 17:49:08: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-26269","User-Agent":"Joplin/1.0","Content-Length":"3593"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:08: <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
"
2023-05-16 17:49:25: Synchronizer: "Req 17:49:15: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-19483","User-Agent":"Joplin/1.0","Content-Length":"3593"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:15: <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
"
2023-05-16 17:49:25: Synchronizer: "Req 17:49:25: PUT https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md {"headers":{"Authorization":"********","Content-Type":"text/plain","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-79805","User-Agent":"Joplin/1.0","Content-Length":"3593"},"body":"Some text","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:25: <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
"
2023-05-16 17:49:25: Synchronizer: "Req 17:49:25: PROPFIND https://cloud.nextcloud_site.tld/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/locks/ {"headers":{"Depth":1,"Authorization":"********","Content-Type":"text/xml","Cache-Control":"no-store","If-None-Match":"JoplinIgnore-33667","User-Agent":"Joplin/1.0","Content-Length":"190"},"body":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\t\t\t<d:propfind xmlns:d=\"DAV:\">\n\t\t\t\t<d:prop xmlns:oc=\"http://owncloud.org/ns\">\n\t\t\t\t\t<d:getlastmodified/><d:resourcetype/>\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind>","ignoreTlsErrors":false,"timeout":120000,"maxRetry":0}"
2023-05-16 17:49:25: Synchronizer: "Res 17:49:25: <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/locks/</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 16 May 2023 21:48:52 GMT</d:getlastmodified><d:resourcetype><d:collection/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/files/8886AB4D-D4DE-4954-90D1-F7EDB276BD05/Home/Documents/joplin/locks/1_1_2c16a9a75c0f4607a75e70531a32404b.json</d:href><d:propstat><d:prop><d:getlastmodified>Tue, 16 May 2023 21:48:52 GMT</d:getlastmodified><d:resourcetype/></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
"
2023-05-16 17:49:26: Synchronizer: "Sync: finished: Synchronisation finished [1684273546172]"
2023-05-16 17:49:26: Synchronizer: "Operations completed: "
2023-05-16 17:49:26: Synchronizer: "createRemote: 325"
2023-05-16 17:49:26: Synchronizer: "Total folders: 28"
2023-05-16 17:49:26: Synchronizer: "Total notes: 2056"
2023-05-16 17:49:26: Synchronizer: "Total resources: 5609"
2023-05-16 17:49:26: Synchronizer: "There was some errors:"
2023-05-16 17:49:26: Synchronizer: "Error: PUT 213b63fbf6d74c5fac3647f0db423c05.md: "Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked (Exception OCA\DAV\Connector\Sabre\Exception\FileLocked) (423): <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
Code: 423
Error: PUT 213b63fbf6d74c5fac3647f0db423c05.md: "Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked (Exception OCA\DAV\Connector\Sabre\Exception\FileLocked) (423): <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>OCA\DAV\Connector\Sabre\Exception\FileLocked</s:exception>
<s:message>"Home/Documents/joplin/213b63fbf6d74c5fac3647f0db423c05.md" is locked</s:message>
</d:error>
at newError (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:414:11)
at WebDavApi.exec (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/WebDavApi.js:441:11)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async FileApiDriverWebDav.put (/Applications/Joplin.app/Contents/Resources/app.asar/node_modules/@joplin/lib/file-api-driver-webdav.js:203:10)"
2023-05-16 17:49:26: "Sync has finished and note has never been changed - reloading it"
2023-05-16 17:49:27: "DecryptionWorker: cannot start because no master key is currently loaded."
2023-05-16 17:50:23: RepositoryApi: "findWorkingMirror: Using: https://raw.githubusercontent.com/joplin/plugins/master"
2023-05-16 17:51:42: RevisionService: "maintenance: Starting..."
2023-05-16 17:51:42: RevisionService: "maintenance: Service is enabled"
2023-05-16 17:51:42: RevisionService: "collectRevisions: Created revisions for 0 notes"
2023-05-16 17:51:42: RevisionService: "maintenance: Done in 108ms"
Now I'll try to sync one of the Android devices to see if that works.