nextcloud / nextcloud/notes-android
Sync error for upload from Android `{"errorType":"RuntimeException"}` in `pushLocalChanges()`
Open
Nobody has claimed this yet.
0. Needs triage
bug
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 168
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 31
Description
This issue respects the following points:
- I have read the FAQ
- I have searched for existing issues
- The issue affects the Notes Android app, neither the Notes server app nor the Nextcloud Android app.
Describe the bug
- Change a note via the Android app, then a sync error comes up. Syncing from Cloud to Android device works.
Expected behavior
Changing notes should automatically sync without errors
Notes Android version
4.3.1
Notes server version
4.10.1
Nextcloud Android version
3.29.2
Nextcloud version
29.0.8
Device
Samsung Galaxy A40
Android Version
11
App Store
- Google Play Store
- F-Droid
- Huawei App Gallery
Stacktrace
App Version: 4.3.1
App Version Code: 40030192
App Flavor: play
Files App Version Code: 30290290 (PROD)
---
OS Version: 4.4.177-25902526(A405FNXXU4CWC3)
OS API Level: 30
Device: a40
Manufacturer: samsung
Model (and Product): SM-A405FN (a40eea)
---
java.lang.Exception: {"errorType":"RuntimeException"}
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.pushLocalChanges(NotesServerSyncTask.java:151)
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.run(NotesServerSyncTask.java:100)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
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:923)
java.lang.Exception: {"errorType":"RuntimeException"}
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.pushLocalChanges(NotesServerSyncTask.java:164)
at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.run(NotesServerSyncTask.java:100)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
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:923)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in NotesServerSyncTask.java at pushLocalChanges(), especially lines 151 and 164, then trace how run() invokes it. Reproduce the local note change and sync failure described in the issue, and compare the failing upload path with the working Cloud-to-device sync; done means local changes sync without the RuntimeException.
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