2024-04-29 - Problems synchronising with the Android app and the Joplin Cloud

Patience alone will not solve the problem

After the Android app (Joplin 2.14.9) on my S10 still hadn't finished the very long sync process this morning, I discovered a message in the mobile-log.log that prompted me to quit and restart the app.
I suspect that the session / connection to the Joplin cloud expired without the Android app reacting accordingly. I can imagine that this behaviour of the Android app could / has led to inconsistent / incorrect data in the database on the Android device.

06-13T03:14:54: JoplinServerApi: "curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/share_users'"
06-13T03:14:54: JoplinServerApi: "Code:", "403"
06-13T03:14:54: JoplinServerApi: "Error: Your session has expired. Please login again.
Code: 403
Error: Your session has expired. Please login again.
    at construct (native)
    at Wrapper (address at index.android.bundle:1:2619599)
    at construct (native)
    at _createSuperInternal (address at index.android.bundle:1:2618675)
    at call (native)
    at JoplinError (address at index.android.bundle:1:2619053)
    at newError (address at index.android.bundle:1:2819444)
    at ?anon_0_ (address at index.android.bundle:1:2819043)
    at next (native)
    at fulfilled (address at index.android.bundle:1:2815879)
    at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
    at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
    at apply (native)
    at anonymous (address at index.android.bundle:1:219452)
    at _callTimer (address at index.android.bundle:1:218401)
    at _callReactNativeMicrotasksPass (address at index.android.bundle:1:218565)
    at callReactNativeMicrotasks (address at index.android.bundle:1:220540)
    at __callReactNativeMicrotasks (address at index.android.bundle:1:121846)
    at anonymous (address at index.android.bundle:1:120939)
    at __guard (address at index.android.bundle:1:121687)
    at flushedQueue (address at index.android.bundle:1:120850)
    at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:120793)"
06-13T02:00:58: JoplinServerApi: "Code:", "403"
06-13T02:00:58: JoplinServerApi: "Error: Your session has expired. Please login again.
Code: 403
Error: Your session has expired. Please login again.
    at construct (native)
    at Wrapper (address at index.android.bundle:1:2619599)
    at construct (native)
    at _createSuperInternal (address at index.android.bundle:1:2618675)
    at call (native)
    at JoplinError (address at index.android.bundle:1:2619053)
    at newError (address at index.android.bundle:1:2819444)
    at ?anon_0_ (address at index.android.bundle:1:2819043)
    at next (native)
    at fulfilled (address at index.android.bundle:1:2815879)
    at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
    at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
    at apply (native)
    at anonymous (address at index.android.bundle:1:219452)
    at _callTimer (address at index.android.bundle:1:218401)
    at _callReactNativeMicrotasksPass (address at index.android.bundle:1:218565)
    at callReactNativeMicrotasks (address at index.android.bundle:1:220540)
    at __callReactNativeMicrotasks (address at index.android.bundle:1:121846)
    at anonymous (address at index.android.bundle:1:120939)
    at __guard (address at index.android.bundle:1:121687)
    at flushedQueue (address at index.android.bundle:1:120850)
    at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:120793)"
06-13T02:00:58: JoplinServerApi: "curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/locks'"