nextcloud / nextcloud/notes-android

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

Open
#1,896 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug design
Dominant language
Java
Stars
1.1k
Forks
168
Avg merge
1d 17h
Merged PRs (30d)
31

Description

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):

  • Nextcloud Notes-Version (android app): 4.1.0 RC1
  • F-Droid or Play Store: fdroid
  • Android-Version: 9
  • Device: OnePlus 3

Server

  • Nextcloud version: 27.0.2
  • Nextcloud Notes version (server app): 4.8.1

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with an internal IP, Wi-Fi-only sync, and the app offline, then trace the sync-failure notification associated with NotesServerSyncTask.run and pullRemoteChanges. Verify that the failure message no longer obscures the + button and that a new note can be opened while the error is visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.