notes-android
notes-android copied to clipboard
Sync fails from server to smartphone (sometimes with message)
This issue respects the following points:
- [X] I have read the FAQ
- [X] I have searched for existing issues
- [X] The issue affects the Notes Android app, neither the Notes server app nor the Nextcloud Android app.
Describe the bug
We have used NC notes without issues with nearly the setup described below. Then, I heard about a security issue and upgraded the hosted NC server from 27 to 29. We think the issue originated around this upgrade.
- I have notes to share in a special folder on the nextcloud server, /Apps/GeteilteNotizen, and pointed my NC server notes app to that directory.
- I have shared this folder with Someone Else.
- Someone Else has installed the NC server as a Windows file system (where we can see the proliferation of folders described below).
- Someone Else has moved the shared folder into their /Notes folder, as described in the FAQ.
- We have cleared all data on Someone Else's smartphone for both nextcloud and notes apps, and setup both apps again, as described in the FAQ.
- When Someone Else opens the NC notes app on their smartphone, a new folder, /Notes/GeteilteNotizen(2), is created. This repeats once every time the app is opened (or, when the app tries to synchronize), with increased counter.
- The NC notes app does not show any notes (also applies to existing favorited notes, or search).
When refreshing the notes list, sometimes the app shows "Synchronization failed" and the More button shows a stack trace as added below. Most of the times, the notes list just stays empty.
(Before, we simply had Someone Else's nextcloud notes app pointed to the /GeteilteNotizen folder, with the same results: Working before the upgrade, not working after the upgrade.)
Expected behavior
NC notes synchronizes as before :-)
To note: The Pixel 5 runs /e/OS with their App Lounge as store app. My own smartphone, a Fairphone 4 with /e/OS, works seamlessly with the NC notes app.
Notes Android version
4.3.1
Notes server version
4.10.0
Nextcloud Android version
3.29.1
Nextcloud version
29.0.2
Device
Pixel 5
Android Version
Android 13 (/e/OS 1.21-t-2024...-dev-redfin
App Store
- [ ] Google Play Store
- [X] F-Droid
- [ ] Huawei App Gallery
Stacktrace
App Version: 4.3.1
App Version Code: 40030190
App Flavor: fdroid
Files App Version Code: 30290190 (PROD)
---
OS Version: 4.19.269-gdb4810fe97f0(eng.root.20240325.202150)
OS API Level: 33
Device: redfin
Manufacturer: Google
Model (and Product): Pixel 5 (redfin)
---
java.lang.RuntimeException: com.nextcloud.android.sso.exceptions.UnknownErrorException: Connection reset
at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:93)
at io.reactivex.Maybe.blockingGet(Maybe.java:2321)
at io.reactivex.Observable.blockingSingle(Observable.java:5381)
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.pullRemoteChanges(NotesServerSyncTask.java:225)
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.run(NotesServerSyncTask.java:102)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Caused by: com.nextcloud.android.sso.exceptions.UnknownErrorException: Connection reset
at com.nextcloud.android.sso.api.AidlNetworkRequest.performNetworkRequestV2(AidlNetworkRequest.java:179)
at com.nextcloud.android.sso.api.NextcloudAPI.performNetworkRequestV2(NextcloudAPI.java:159)
at com.nextcloud.android.sso.api.NextcloudAPI.lambda$performRequestObservableV2$0(NextcloudAPI.java:97)
at com.nextcloud.android.sso.api.NextcloudAPI.$r8$lambda$af7W9mq2B0ZrhVJwZd-ibFp8T3Y(Unknown Source:0)
at com.nextcloud.android.sso.api.NextcloudAPI$$ExternalSyntheticLambda1.subscribe(D8$$SyntheticClass:0)
at io.reactivex.internal.operators.observable.ObservableFromPublisher.subscribeActual(ObservableFromPublisher.java:31)
at io.reactivex.Observable.subscribe(Observable.java:12284)
at io.reactivex.internal.operators.observable.ObservableSingleMaybe.subscribeActual(ObservableSingleMaybe.java:31)
at io.reactivex.Maybe.subscribe(Maybe.java:4290)
at io.reactivex.Maybe.blockingGet(Maybe.java:2320)
... 8 more