commons-app / apps-android-commons

The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons
https://commons-app.github.io/
Apache License 2.0
998 stars 1.18k forks source link

[Bug]: Uploads added in limited connection mode did not start when entering normal mode #5038

Open addshore opened 2 years ago

addshore commented 2 years ago

Summary

I added 10 images today in the limited connection mode. These images didn't immediately upload as expected, but appeared in the list. The upload bar was animating though, rather than displaying the text "queued" anywhere.

When setting to normal connection mode nothing happened, no images started uploading.

Instead I had to hit pause on each of the uploads, and then hit the play button again, where it would then either upload or show as queued.

Steps to reproduce

Set limited connection mode Add images Set normal connection mode

Expected behaviour

Images added in limited connection mode would start uploading

Actual behaviour

No images started uploading

Device name

Motorola G9 plus

Android version

Android 11

Commons app version

4.0.3~23c474b06

Device logs

No response

Screen-shots

No response

Would you like to work on the issue?

No response

mnalis commented 1 year ago

I can confirm that with Commons app 4.0.3~cf35307d9 (latest f-droid) on Android 10 (EMUI 12, Huawei P30 Pro). Here is a video example:

https://github.com/commons-app/apps-android-commons/assets/156656/3361bc1b-7ea1-4f7d-bc75-9734ef590d64

and a log (click to expand...) ``` 2023-06-08 19:43:38,026 [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022 2023-06-08 19:43:38,026 [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022 2023-06-08 19:43:38,027 [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022 2023-06-08 19:43:38,056 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:38,057 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:38,058 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:38,060 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:38,061 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:40,308 [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022 2023-06-08 19:43:40,346 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:40,346 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:40,346 [DEBUG] [file-logging-thread-1] [CustomOkHttpNetworkFetcher] : Skipping loading of image as limited connection mode is enabled 2023-06-08 19:43:43,564 [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: 9db768ed8033856d9a336be4e3f535d90a67d37c 2023-06-08 19:43:43,565 [DEBUG] [file-logging-thread-1] [UploadModel] : Created timestamp while building contribution is 1680867606459, Fri Apr 07 13:40:06 GMT+02:00 2023 2023-06-08 19:43:43,566 [DEBUG] [file-logging-thread-1] [UploadController] : UploadController/doInBackground, contribution.getLocalUri():/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/60c9c6de-2143-4f1d-aefa-50b9f3592bc4.jpg 2023-06-08 19:43:43,630 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1 2023-06-08 19:44:41,067 [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0 2023-06-08 19:44:41,070 [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0 2023-06-08 19:44:41,309 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"badinteger","info":"Invalid value \"M9ed4c8fc-fe9b-4948-969f-f0f49a0290d9\" for integer parameter \"pageids\".","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1356"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,334 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"badinteger","info":"Invalid value \"Me16fe1ab-e2ff-4e81-9ed6-f26112849873\" for integer parameter \"pageids\".","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1388"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,343 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"missingtitle","info":"The page you specified doesn't exist.","*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1427"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,343 [DEBUG] [file-logging-thread-1] [MediaDataExtractor] : Error occurred while fetching discussion 2023-06-08 19:44:41,344 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"missingtitle","info":"The page you specified doesn't exist.","*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1404"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,345 [DEBUG] [file-logging-thread-1] [MediaDataExtractor] : Error occurred while fetching discussion 2023-06-08 19:44:41,358 [ERROR] [file-logging-thread-1] [-$$Lambda$mvgeVM6S-0Wc8Z2hreSxmgnMF1Y] : java.lang.NullPointerException: The mapper function returned a null value. at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57) at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onComplete(ObservableSingleSingle.java:109) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onComplete(BodyObservable.java:66) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57) at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onComplete(ObservableSingleSingle.java:109) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onComplete(BodyObservable.java:66) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,784 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"no-such-entity","info":"Could not find an entity with the ID \"M0\".","id":"M0","messages":[{"name":"wikibase-api-no-such-entity","parameters":["M0"],"html":{"*":"Could not find an entity with the ID \"M0\"."}}],"*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1444"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:64) at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onComplete(ObservableSingleSingle.java:109) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onComplete(BodyObservable.java:66) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:41,959 [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"no-such-entity","info":"Could not find an entity with the ID \"M0\".","id":"M0","messages":[{"name":"wikibase-api-no-such-entity","parameters":["M0"],"html":{"*":"Could not find an entity with the ID \"M0\"."}}],"*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1484"} at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at retrofit2.OkHttpCall.execute(OkHttpCall.java:190) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:64) at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onComplete(ObservableSingleSingle.java:109) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onComplete(BodyObservable.java:66) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48) at io.reactivex.Observable.subscribe(Observable.java:12267) at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) at io.reactivex.Observable.subscribe(Observable.java:12267) at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84) at io.reactivex.Single.subscribe(Single.java:3603) at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578) at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 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:929) 2023-06-08 19:44:45,220 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:45:41,076 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:45:57,055 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:45:58,935 [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Restarting for Contribution(media=fr.free.nrw.commons.Media@b024cca, pageId=e16fe1ab-e2ff-4e81-9ed6-f26112849873, state=2, transferred=0, decimalCoords=45.28825378416666|16.824901580555554, dateCreatedSource=exif, wikidataPlace=null, chunkInfo=null, depictedItems=[DepictedItem(name=wooden house, description=house made mostly of wood, imageUrl=https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Surovikino_2019.jpg/70px-Surovikino_2019.jpg, instanceOfs=[], commonsCategories=[CategoryItem: 'Wooden houses'], isSelected=false, id=Q279118)], mimeType=null, localUri=/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/2b7182f2-a989-483d-8e51-23fc650ef407.jpg, dataLength=3287934, dateCreated=Fri Apr 07 19:06:15 GMT+02:00 2023, dateCreatedString=2023-04-07, dateModified=Thu Jun 08 19:45:58 GMT+02:00 2023, hasInvalidLocation=0, contentUri=content://media/external/images/media/104586, countryCode=null, imageSHA1=67ee7fcf550477b1ef2339564a1e5e181e1acb87) 2023-06-08 19:45:58,981 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1 2023-06-08 19:45:59,021 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 1, offset: 0 2023-06-08 19:46:01,560 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 1, offset: 524288 2023-06-08 19:46:01,564 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 2, offset: 524288 2023-06-08 19:46:03,354 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 2, offset: 1048576 2023-06-08 19:46:03,357 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 3, offset: 1048576 2023-06-08 19:46:05,134 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 3, offset: 1572864 2023-06-08 19:46:05,135 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 4, offset: 1572864 2023-06-08 19:46:07,007 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 4, offset: 2097152 2023-06-08 19:46:07,011 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 5, offset: 2097152 2023-06-08 19:46:08,872 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 5, offset: 2621440 2023-06-08 19:46:08,876 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 6, offset: 2621440 2023-06-08 19:46:10,795 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 6, offset: 3145728 2023-06-08 19:46:10,798 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 7, offset: 3145728 2023-06-08 19:46:13,093 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 7, offset: 0 2023-06-08 19:46:13,096 [DEBUG] [file-logging-thread-1] [UploadClient] : Upload stash success e16fe1ab-e2ff-4e81-9ed6-f26112849873 2023-06-08 19:46:13,097 [DEBUG] [file-logging-thread-1] [UploadWorker] : Upload to stash success for fileName: disused old wooden house, Krapje.jpg 2023-06-08 19:46:13,097 [DEBUG] [file-logging-thread-1] [UploadWorker] : Ensure uniqueness of filename 2023-06-08 19:46:13,576 [DEBUG] [file-logging-thread-1] [PageContentsCreator] : Template: == {{int:filedesc}} == {{Information |description= |source={{own}} |author=[[User:Mnalis|Mnalis]] |date={{According to Exif data|2023-04-07}} }} {{Location|45.28825378416666|16.824901580555554}} == {{int:license-header}} == {{self|cc-by-4.0}} {{Uploaded from Mobile|platform=Android|version=4.0.3~cf35307d9}} [[Category:Krapje, Jasenovac]] [[Category:Wooden houses]] 2023-06-08 19:46:16,238 [DEBUG] [file-logging-thread-1] [UploadWorker] : Stash Upload success..proceeding to make wikidata edit 2023-06-08 19:46:16,486 [DEBUG] [file-logging-thread-1] [WikidataEditService] : EntityId for image was received successfully: 132804590 2023-06-08 19:46:17,312 [DEBUG] [file-logging-thread-1] [WikidataEditService] : DEPICTS property was set successfully for 132804590 2023-06-08 19:46:18,137 [DEBUG] [file-logging-thread-1] [WikidataEditService] : Caption successfully set, revision id = org.wikipedia.dataclient.mwapi.MwPostResponse@48fd535[success=1,errors=] 2023-06-08 19:46:18,138 [DEBUG] [file-logging-thread-1] [UploadWorker] : WikiDataEdit not required, upload success 2023-06-08 19:46:18,663 [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: 241d49c3d6f0bba75279a92d222789192b5a004a 2023-06-08 19:46:30,966 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:46:32,189 [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Restarting for Contribution(media=fr.free.nrw.commons.Media@f156f86, pageId=7161de9d-8e02-42d5-ac31-8fb4824d6fa6, state=2, transferred=0, decimalCoords=45.26711654638889|16.833518981666664, dateCreatedSource=exif, wikidataPlace=null, chunkInfo=null, depictedItems=[DepictedItem(name=horse, description=domesticated four-footed mammal from the equine family, imageUrl=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/70px-Biandintz_eta_zaldiak_-_modified2.jpg, instanceOfs=[Q55983715], commonsCategories=[CategoryItem: 'Horses'], isSelected=false, id=Q726)], mimeType=null, localUri=/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/60e0d4b3-65b4-4340-874c-ac517316f023.jpg, dataLength=2318460, dateCreated=Tue Apr 11 12:17:17 GMT+02:00 2023, dateCreatedString=2023-04-11, dateModified=Thu Jun 08 19:46:32 GMT+02:00 2023, hasInvalidLocation=0, contentUri=content://media/external/images/media/104626, countryCode=null, imageSHA1=b8adf926a5ad61942fbf20ac0d3b2a6b90ea7676) 2023-06-08 19:46:32,236 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1 2023-06-08 19:46:32,258 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 1, offset: 0 2023-06-08 19:46:34,434 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 1, offset: 524288 2023-06-08 19:46:34,438 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 2, offset: 524288 2023-06-08 19:46:36,267 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 2, offset: 1048576 2023-06-08 19:46:36,270 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 3, offset: 1048576 2023-06-08 19:46:38,044 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 3, offset: 1572864 2023-06-08 19:46:38,048 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 4, offset: 1572864 2023-06-08 19:46:39,831 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 4, offset: 2097152 2023-06-08 19:46:39,834 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 5, offset: 2097152 2023-06-08 19:46:42,172 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 5, offset: 0 2023-06-08 19:46:42,175 [DEBUG] [file-logging-thread-1] [UploadClient] : Upload stash success 7161de9d-8e02-42d5-ac31-8fb4824d6fa6 2023-06-08 19:46:42,176 [DEBUG] [file-logging-thread-1] [UploadWorker] : Upload to stash success for fileName: Konji, Drenov bok.jpg 2023-06-08 19:46:42,176 [DEBUG] [file-logging-thread-1] [UploadWorker] : Ensure uniqueness of filename 2023-06-08 19:46:42,668 [DEBUG] [file-logging-thread-1] [PageContentsCreator] : Template: == {{int:filedesc}} == {{Information |description= |source={{own}} |author=[[User:Mnalis|Mnalis]] |date={{According to Exif data|2023-04-11}} }} {{Location|45.26711654638889|16.833518981666664}} == {{int:license-header}} == {{self|cc-by-sa-4.0}} {{Uploaded from Mobile|platform=Android|version=4.0.3~cf35307d9}} [[Category:Horses]] 2023-06-08 19:46:45,022 [DEBUG] [file-logging-thread-1] [UploadWorker] : Stash Upload success..proceeding to make wikidata edit 2023-06-08 19:46:45,268 [DEBUG] [file-logging-thread-1] [WikidataEditService] : EntityId for image was received successfully: 132804604 2023-06-08 19:46:46,052 [DEBUG] [file-logging-thread-1] [WikidataEditService] : DEPICTS property was set successfully for 132804604 2023-06-08 19:46:46,957 [DEBUG] [file-logging-thread-1] [WikidataEditService] : Caption successfully set, revision id = org.wikipedia.dataclient.mwapi.MwPostResponse@4e1d2ff[success=1,errors=] 2023-06-08 19:46:46,958 [DEBUG] [file-logging-thread-1] [UploadWorker] : WikiDataEdit not required, upload success 2023-06-08 19:46:47,457 [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: 40b246cfe6f56f7e376bbc1ab5d3e7e7f90b2f90 2023-06-08 19:47:03,947 [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Skipping re-upload for non-failed Contribution(media=fr.free.nrw.commons.Media@7a216bf, pageId=9a68f138-a695-4ab6-92b1-2d4552b5445d, state=3, transferred=0, decimalCoords=45.26698684666667|16.831977844166666, dateCreatedSource=exif, wikidataPlace=null, chunkInfo=null, depictedItems=[DepictedItem(name=horse, description=domesticated four-footed mammal from the equine family, imageUrl=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/70px-Biandintz_eta_zaldiak_-_modified2.jpg, instanceOfs=[Q55983715], commonsCategories=[CategoryItem: 'Horses'], isSelected=false, id=Q726)], mimeType=null, localUri=/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/fca693dc-21c2-4df1-9803-f56e0064fa63.jpg, dataLength=3750989, dateCreated=Tue Apr 11 12:20:21 GMT+02:00 2023, dateCreatedString=2023-04-11, dateModified=Thu Jun 08 19:39:59 GMT+02:00 2023, hasInvalidLocation=0, contentUri=content://media/external/images/media/104634, countryCode=null, imageSHA1=b5a621337ff1c569413c4098c6ff25a40674ab08) 2023-06-08 19:47:18,912 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:47:19,802 [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Restarting for Contribution(media=fr.free.nrw.commons.Media@5555637, pageId=9a68f138-a695-4ab6-92b1-2d4552b5445d, state=2, transferred=0, decimalCoords=45.26698684666667|16.831977844166666, dateCreatedSource=exif, wikidataPlace=null, chunkInfo=null, depictedItems=[DepictedItem(name=horse, description=domesticated four-footed mammal from the equine family, imageUrl=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/70px-Biandintz_eta_zaldiak_-_modified2.jpg, instanceOfs=[Q55983715], commonsCategories=[CategoryItem: 'Horses'], isSelected=false, id=Q726)], mimeType=null, localUri=/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/fca693dc-21c2-4df1-9803-f56e0064fa63.jpg, dataLength=3750989, dateCreated=Tue Apr 11 12:20:21 GMT+02:00 2023, dateCreatedString=2023-04-11, dateModified=Thu Jun 08 19:47:19 GMT+02:00 2023, hasInvalidLocation=0, contentUri=content://media/external/images/media/104634, countryCode=null, imageSHA1=b5a621337ff1c569413c4098c6ff25a40674ab08) 2023-06-08 19:47:19,845 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1 2023-06-08 19:47:19,875 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 1, offset: 0 2023-06-08 19:47:22,157 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 1, offset: 524288 2023-06-08 19:47:22,160 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 2, offset: 524288 2023-06-08 19:47:24,099 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 2, offset: 1048576 2023-06-08 19:47:24,102 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 3, offset: 1048576 2023-06-08 19:47:25,875 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 3, offset: 1572864 2023-06-08 19:47:25,878 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 4, offset: 1572864 2023-06-08 19:47:27,749 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 4, offset: 2097152 2023-06-08 19:47:27,753 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 5, offset: 2097152 2023-06-08 19:47:29,604 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 5, offset: 2621440 2023-06-08 19:47:29,607 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 6, offset: 2621440 2023-06-08 19:47:31,384 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 6, offset: 3145728 2023-06-08 19:47:31,387 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 7, offset: 3145728 2023-06-08 19:47:33,203 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 7, offset: 3670016 2023-06-08 19:47:33,206 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 8, offset: 3670016 2023-06-08 19:47:35,364 [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 8, offset: 0 2023-06-08 19:47:35,367 [DEBUG] [file-logging-thread-1] [UploadClient] : Upload stash success 9a68f138-a695-4ab6-92b1-2d4552b5445d 2023-06-08 19:47:35,368 [DEBUG] [file-logging-thread-1] [UploadWorker] : Upload to stash success for fileName: Konji na ispaši, Drenov bok.jpg 2023-06-08 19:47:35,368 [DEBUG] [file-logging-thread-1] [UploadWorker] : Ensure uniqueness of filename 2023-06-08 19:47:35,870 [DEBUG] [file-logging-thread-1] [PageContentsCreator] : Template: == {{int:filedesc}} == {{Information |description= |source={{own}} |author=[[User:Mnalis|Mnalis]] |date={{According to Exif data|2023-04-11}} }} {{Location|45.26698684666667|16.831977844166666}} == {{int:license-header}} == {{self|cc-by-sa-4.0}} {{Uploaded from Mobile|platform=Android|version=4.0.3~cf35307d9}} [[Category:Horses]] [[Category:Višnjica, Sisak-Moslavina County]] 2023-06-08 19:47:39,167 [DEBUG] [file-logging-thread-1] [UploadWorker] : Stash Upload success..proceeding to make wikidata edit 2023-06-08 19:47:39,409 [DEBUG] [file-logging-thread-1] [WikidataEditService] : EntityId for image was received successfully: 132804631 2023-06-08 19:47:40,175 [DEBUG] [file-logging-thread-1] [WikidataEditService] : DEPICTS property was set successfully for 132804631 2023-06-08 19:47:41,175 [DEBUG] [file-logging-thread-1] [WikidataEditService] : Caption successfully set, revision id = org.wikipedia.dataclient.mwapi.MwPostResponse@65331ab[success=1,errors=] 2023-06-08 19:47:41,175 [DEBUG] [file-logging-thread-1] [UploadWorker] : WikiDataEdit not required, upload success 2023-06-08 19:47:41,752 [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: 067a4e0fddf3c69f5c899f1d67408bac81a5d847 2023-06-08 19:47:57,352 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 0 2023-06-08 19:47:59,173 [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Restarting for Contribution(media=fr.free.nrw.commons.Media@5cf42fb, pageId=686d2052-a6b2-49a3-91b2-84d2885a657d, state=2, transferred=0, decimalCoords=45.324817657222226|16.800264358333333, dateCreatedSource=exif, wikidataPlace=null, chunkInfo=null, depictedItems=[DepictedItem(name=sheep, description=domesticated ruminant bred for meat, wool, and milk, imageUrl=https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Flock_of_sheep.jpg/70px-Flock_of_sheep.jpg, instanceOfs=[Q55983715], commonsCategories=[CategoryItem: 'Sheep'], isSelected=false, id=Q7368)], mimeType=null, localUri=/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/379f1594-6f65-4b2f-bb2e-e762bf409266.jpg, dataLength=4451542, dateCreated=Tue Apr 11 13:07:27 GMT+02:00 2023, dateCreatedString=2023-04-11, dateModified=Thu Jun 08 19:47:57 GMT+02:00 2023, hasInvalidLocation=0, contentUri=content://media/external/images/media/104650, countryCode=null, imageSHA1=6074baf75eb62b6d31ef85944fefc42c2da65b63) 2023-06-08 19:47:59,221 [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1 ```
mnalis commented 1 year ago

I can confirm that this bug is still present in latest f-droid release (4.1.0~1649d1e2c) on Android 10 (EMUI 12), Huawei P30 Pro.

mnalis commented 3 months ago

I can confirm that "Uploads added in limited connection mode did not start when entering normal mode" bug is still present in latest f-droid release (5.0.1~af028cbdd) on Android 14 (OneUI 6.1), Samsung Galaxy S23+

I need to manually press pause and then play button for each and every picture that was taken in "Limited connection mode" in order to get them to upload. That is not only annoying, but also sometimes results in forgetting to pause/resume some or all of them, so they never get uploaded :cry:

Video:

https://github.com/commons-app/apps-android-commons/assets/156656/82948b2b-38c0-4cfe-9adc-24c028867395

and associated log: CommonsAppLogs-5038.log

Does that help? Has anyone got an idea how to fix it?

I assume in worst case, on exiting "Limited connection mode" we could have app automatically simulate clicking pause and then resume on every not-yet-uploaded picture?