nextcloud / notes-android

✎ Android client for Nextcloud Notes app.
https://play.google.com/store/apps/details?id=it.niedermann.owncloud.notes
GNU General Public License v3.0
905 stars 132 forks source link

Sync error notification overlays New note button making it difficult to write a quick note. #1896

Open iarp opened 10 months ago

iarp commented 10 months ago

Notes is configured using LAN IP's as I only care for internal syncing. Sync only on Wi-Fi is enabled so is Background Synchronization.

When I leave this location and open Notes there is a banner/bar/notification at the bottom of the screen notifying you of a synchronization failure, this bar overlays 90% of the + button to create a new note. I've been told I have fairly fat fingers and it holds true here because when I need to write a quick note that button is almost impossible to hit. More often I end up clicking More and seeing the error, closing it and the notification bar remains there. I have to keep waiting for whatever timer is going on in the background for the bar to disappear and then i can write the note.

Please place the bar or the + icon somewhere else.

To Reproduce Steps to reproduce the behavior:

  1. Configure notes with an internal IP
  2. Leave the internal network
  3. Sync failure notification appears making it difficult to hit + button

Expected behavior

Perhaps put the notification in the proper android pull down notifications. Or somewhere else not blocking functionality.

Screenshots

sync error overlay new note button

Smartphone (please complete the following information):

Server

Stacktrace

App Version: 4.1.0 RC1
App Version Code: 40010051
App Flavor: fdroid

Files App Version Code: 30250090 (PROD)

---

OS Version: 3.18.120-perf+(1911042107)
OS API Level: 28
Device: OnePlus3
Manufacturer: OnePlus
Model (and Product): ONEPLUS A3000 (OnePlus3)

---

java.lang.RuntimeException: com.nextcloud.android.sso.exceptions.UnknownErrorException: failed to connect to /192.168.2.3 (port 8443) from /192.168.2.28 (port 47769) after 60000ms: isConnected failed: ETIMEDOUT (Connection timed out)
    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:219)
    at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.run(NotesServerSyncTask.java:96)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
Caused by: com.nextcloud.android.sso.exceptions.UnknownErrorException: failed to connect to /192.168.2.3 (port 8443) from /192.168.2.28 (port 47769) after 60000ms: isConnected failed: ETIMEDOUT (Connection timed out)
    at com.nextcloud.android.sso.api.AidlNetworkRequest.performNetworkRequestV2(AidlNetworkRequest.java:188)
    at com.nextcloud.android.sso.api.NextcloudAPI.performNetworkRequestV2(NextcloudAPI.java:171)
    at com.nextcloud.android.sso.api.NextcloudAPI.lambda$performRequestObservableV2$0$com-nextcloud-android-sso-api-NextcloudAPI(NextcloudAPI.java:113)
    at com.nextcloud.android.sso.api.NextcloudAPI$$ExternalSyntheticLambda0.subscribe(Unknown Source:6)
    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
iarp commented 8 months ago

Related to sync error notifications. It seems like the errors are "queued up" in a sense. Let's say the app is running in the background and tries to sync 10 times. If you open and close the app you'll see one sync error notification each time you open and close the app until all 10 have been seen. You can "fix" this by opening the app setting and clicking Force Stop. After that, as long as you have a connection there will be no more errors.

At this point every time I open the Notes app on my phone, I just expect the notification to be there and it is always in the way of trying to write a new note.

iarp commented 1 month ago

This is driving me nuts. Please can we have a way to turn off sync error notifications. The notes themselves already indicate if sync has occurred or not. Maybe moving the notification into a settings screen instead, or just an option to disable the notification outright.