stefan-niedermann / nextcloud-deck

πŸ“‹ Android client for nextcloud deck app
https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play
GNU General Public License v3.0
487 stars 52 forks source link

duplicated cards after offline mode #1503

Open raQai opened 1 year ago

raQai commented 1 year ago

Please use GitHub reactions πŸ‘ to show that you are affected by the same issue. Please don't comment if you have no relevant information to add!

Describe the bug

Cards are being duplicated after coming back online when previously in offline mode. This sometimes happens multiple times resulting in 5+ copies of the same item. This happened for me with every combination of background sync and etag configuration.

Steps to reproduce the behavior:

  1. Open board
  2. Enable Airplane mode
  3. Create a new card
  4. Close the app
  5. Disable Airplane mode
  6. Open board (optional: manually sync the view)

Expected behavior

The created card (3.) should only be visible once.

Screenshots

-

Versions

Smartphone (please complete the following information):

Stacktrace

raQai commented 1 year ago

FYI: This happens a lot with an unstable connection (e.g. traveling by train). This is not tied to the Airplane mode but it can be used to consistently reproduce this.

Goldmaster commented 7 months ago

I have this issue as well. It also happens when your nextcloud instance is offline.

I do get this error due to the nextcloud instance being offline as my computer is turned off.

App Version: 1.23.4
App Version Code: 1023004
Server App Version: 1.12.0
App Flavor: fdroid

Files App Version Code: 30270090 (PROD)

---

OS Version: 4.14.113-23326020(G973FXXUEGULB)
OS API Level: 31
Device: beyond1
Manufacturer: samsung
Model (and Product): SM-G973F (beyond1lteeea)

---

com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException: HTTP request failed with HTTP status-code: 530
    at com.nextcloud.android.sso.api.AidlNetworkRequest.performNetworkRequestV2(AidlNetworkRequest.java:197)
    at com.nextcloud.android.sso.api.NextcloudAPI.performNetworkRequestV2(NextcloudAPI.java:180)
    at com.nextcloud.android.sso.api.NextcloudAPI.lambda$performRequestObservableV2$0$com-nextcloud-android-sso-api-NextcloudAPI(NextcloudAPI.java:122)
    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.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
    at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38)
    at io.reactivex.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:26)
    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:920)
Caused by: java.lang.IllegalStateException: error code: 1033

    at com.nextcloud.android.sso.InputStreamBinder.processRequestV2(InputStreamBinder.java:454)
    at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequestAndBodyStreamV2(InputStreamBinder.java:127)
    at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequestV2(InputStreamBinder.java:110)
    at com.nextcloud.android.sso.aidl.IInputStreamService$Stub.onTransact(IInputStreamService.java:110)
    at android.os.Binder.execTransactInternal(Binder.java:1215)
    at android.os.Binder.execTransact(Binder.java:1179)

Screenshot showing card waiting to sync

michel-thomas commented 5 months ago

I also have a user with this problem. No known connection issue, but cards are duplicated several times (36 for the last card created today).

Nothing in server logs.