nextcloud / nextcloud/notes-android

Unable to Sync after restoring inatance from older backup

Open
#3,193 1 comment 0 reactions 0 assignees View on GitHub

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:
Describe the bug

I hoped my fresh notes will be uploaded to my freshly restored instance (backup from march)

Expected behavior

To jest upload notes which are newer on my phone than on a server

Notes Android version

33.1.0

Notes server version

4.13

Nextcloud Android version

idk

Nextcloud version

33

Device

pixel 8a

Android Version

16 - iodeos

App Store
  • Google Play Store
  • F-Droid
  • Huawei App Gallery
Stacktrace
App Version: 33.1.0
App Version Code: 330010090
App Flavor: fdroid

Files App Version Code: 330010090 (PROD)

---

OS Version: 6.1.145-android14-11-g66d850f9dea9-ab14676382(1775072987)
OS API Level: 36
Device: akita
Manufacturer: Google
Model (and Product): Pixel 8a (akita)

---

com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException: Zapytanie HTTP nie powiodło się z kodem: 429
	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)
	at io.reactivex.Observable.blockingSingle(Observable.java:5381)
	at it.niedermann.owncloud.notes.persistence.CapabilitiesClient.getCapabilities(CapabilitiesClient.java:38)
	at it.niedermann.owncloud.notes.main.MainViewModel.lambda$synchronizeCapabilities$13(MainViewModel.java:415)
	at it.niedermann.owncloud.notes.main.MainViewModel.$r8$lambda$5Xkfm2L_24X4zhF0t4NRWxr_iHA(Unknown Source:0)
	at it.niedermann.owncloud.notes.main.MainViewModel$$ExternalSyntheticLambda4.run(D8$$SyntheticClass:0)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:520)
	at java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1154)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
	at java.lang.Thread.run(Thread.java:1563)
Caused by: java.lang.IllegalStateException: {"ocs":{"meta":{"status":"failure","statuscode":429,"message":"Reached maximum delay"},"data":[]}}

	at com.nextcloud.android.sso.InputStreamBinder.processRequestV2(InputStreamBinder.java:440)
	at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequestAndBodyStreamV2(InputStreamBinder.java:113)
	at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequestV2(InputStreamBinder.java:96)
	at com.nextcloud.android.sso.aidl.IInputStreamService$Stub.onTransact(IInputStreamService.java:112)
	at android.os.Binder.execTransactInternal(Binder.java:1473)
	at android.os.Binder.execTransact(Binder.java:1418)

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

Start with CapabilitiesClient.getCapabilities and MainViewModel.synchronizeCapabilities, the entry points named in the stack trace, and inspect how the HTTP 429 response affects synchronization. Reproduce the restore scenario if possible and trace the request through the Nextcloud Android SSO layer. Done means notes newer on the phone are uploaded after restoring the server instance.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.