android icon indicating copy to clipboard operation
android copied to clipboard

App not uploading all images

Open saltolenin opened this issue 11 months ago • 19 comments

Cause of error

Exception in thread "main" android.content.res.Resources$NotFoundException: Resource ID #0x7f0a0420 type #0x12 is not valid
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2535)
    at android.content.res.Resources.getLayout(Resources.java:1335)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:536)
    at androidx.appcompat.app.AlertController.setupCustomContent(AlertController.java:644)
    at androidx.appcompat.app.AlertController.setupView(AlertController.java:475)
    at androidx.appcompat.app.AlertController.installContent(AlertController.java:233)
    at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:278)
    at android.app.Dialog.dispatchOnCreate(Dialog.java:810)
    at android.app.Dialog.show(Dialog.java:453)
    at com.owncloud.android.ui.activity.SyncedFoldersActivity.showPowerCheckDialog(SyncedFoldersActivity.kt:234)
    at com.owncloud.android.ui.activity.SyncedFoldersActivity.onDisablePowerSaveCheckClicked(SyncedFoldersActivity.kt:218)
    at com.owncloud.android.ui.activity.SyncedFoldersActivity.onCreateOptionsMenu$lambda$1(SyncedFoldersActivity.kt:211)
    at com.owncloud.android.ui.activity.SyncedFoldersActivity.$r8$lambda$q58-_n5tvnvo7t7SwBQVBpaIAdU(Unknown Source:0)
    at com.owncloud.android.ui.activity.SyncedFoldersActivity$$ExternalSyntheticLambda4.onMenuItemClick(D8$$SyntheticClass:0)
    at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:153)
    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:984)
    at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
    at android.widget.AdapterView.performItemClick(AdapterView.java:376)
    at android.widget.AbsListView.performItemClick(AbsListView.java:1282)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3528)
    at android.widget.AbsListView.onTouchUp(AbsListView.java:4708)
    at android.widget.AbsListView.onTouchEvent(AbsListView.java:4423)
    at android.widget.ListView.onTouchEvent(ListView.java:1709)
    at androidx.appcompat.widget.DropDownListView.onTouchEvent(DropDownListView.java:230)
    at androidx.appcompat.widget.MenuPopupWindow$MenuDropDownListView.onTouchEvent(MenuPopupWindow.java:138)
    at android.view.View.dispatchTouchEvent(View.java:15076)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3917)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3581)
    at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:10706)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3923)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3597)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3923)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3597)
    at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2947)
    at android.view.View.dispatchPointerEvent(View.java:15335)
    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7815)
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7588)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6922)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6979)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6945)
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7143)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6953)
    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7200)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6926)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6979)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6945)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6953)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6926)
    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10400)
    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10248)
    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10204)
    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10532)
    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:259)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:335)
    at android.os.Looper.loopOnce(Looper.java:186)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

App information

  • ID: com.nextcloud.client
  • Version: 30300690
  • Build flavor: gplay

Device information

  • Brand: samsung
  • Device: a21s
  • Model: SM-A217F
  • Id: SP1A.210812.016
  • Product: a21snseea

Firmware

  • SDK: 31
  • Release: 12
  • Incremental: A217FXXSCDXE2

saltolenin avatar Jan 09 '25 15:01 saltolenin

Not much content in the first post. But I too have the problem, that the Nextcloud app is not uploading all pictures. Some are, but not all. Made a series of 12 pictures yesterday. 10 were uploaded, two were missing. Problems started with the app version not "compatible" with PlayStore. Because of this I switched to F-Droid and since than the upload function is showing this behavior. Unfortunately I have no idea, why and under which circumstances this is happening. Upload is configured to start only when wifi-connected. I made some pictures at home. Some where uploaded, some not. Made some pictures without wifi and re-enabled wifi afterwards. Same.

Is there a way to get some logfiles?

Google Pixel 8 Android 15 Nextcloud 3.30.8 (since tomorrow) from F-Droid

drhirn avatar Jan 26 '25 09:01 drhirn

I have this exact same issue as described by @drhirn only I have disabled any auto-upload restrictions like requiring charge or Wi-Fi. The F-droid version was installed following the permission issues with the Play Store version.

I can confirm that Nextcloud has All Files access.

Galaxy S22 Ultra, Android 14/One UI 6.1, Nextcloud 3.30.8 (F-Droid version)

Looks like this was initially reported in another issue, #14359 which was closed with a "not our problem" response. I understand that Android battery management is annoying, but as mentioned in this comment in the aforementioned issue, it would be incredibly useful if there was an option to force the task to run as that would bypass Android's awkwardness. Either a button on the uploads page next to the pause button, or running when the page is refreshed by pulling down would be fine.

Leah96xxx avatar Jan 28 '25 20:01 Leah96xxx

Hmm. If the upload-job runs while the app is active, at least then it should upload missing photos, right? And the pictures I described above where all taken at the same time. It was a series of pictures. So either none of them should have gotten uploaded or all of them. But not some of them. Not sure, if this has something to do with battery management.

Nonetheless, you are right with the "manual upload"-thing.

drhirn avatar Jan 29 '25 08:01 drhirn

That's part of the problem: the auto-upload still doesn't run even if the app is open in the foreground. It probably should, but it doesn't

Leah96xxx avatar Jan 29 '25 08:01 Leah96xxx

I second all of that. I also have the problem (and see it with other users of my instance) where some but not all pictures are uploaded. And at least a button in the UI to force check for new file or so would be great. Because opening the app does not upload the missing pictures automatically.

oxivanisher avatar Jan 31 '25 10:01 oxivanisher

Same issue. Luckily Memories app let me find which images that are on my phone were not synced (with an icon next to the picture), so I can easily find which I have to upload manually.

Interestingly, all of them seem to be .HEIC files, .jpegs seem to sync just fine.

MateuszKubuszok avatar Feb 04 '25 21:02 MateuszKubuszok

+1, same issue on Android with the PlayStore app. Some files upload, some don't. On my side all pictures are JPEG.

bobbolous avatar Feb 09 '25 10:02 bobbolous

I realized today, that there are some ".pending"-files to upload which couldn't be found on the local file system. May it be, that the upload starts, before the Google Camera app has finished processing the pictures? I have enabled "upload existing files" in the folder settings to convince the Nextcloud app to upload these files later, but this also doesn't seem to work.

drhirn avatar Feb 09 '25 16:02 drhirn

In my case, Nextcloud App gives up uploading anything after I cancel the uploading tasks. There is no way to make it upload the files again. I tried to disable/enable the auto-upload with no luck. However, if I enable auto-upload for another folder, it works well.

So maybe it just gives up uploading if some network error happens too.

Version 3.30.8

superuzir avatar Feb 14 '25 14:02 superuzir

I installed 3.31.0 RC2 (gplay apk) and the "normal" uploads seem to work now (including GPS coordinates). This is not a final test, since it was pretty unreliable with the uploads, but my 5 randomly spaced tests all worked fine. But what still is a big issue, is that retriggering to upload all pictures is not possible in any way. To not post this to all the threads I found and commented concerning upload problems, I mention them here: #14251 #14359 #14267

oxivanisher avatar Feb 15 '25 19:02 oxivanisher

this has been an issue for a few versions now. the images that are not uploaded are never uploaded thereafter even if later images do get uploaded correctly.

just looking over the metadata on the images that arent uploaded and they seem to be missing the geo tagging as well. like that previous bug where geo was missing for all images is still around in some form 🤔

kinghat avatar Mar 09 '25 14:03 kinghat

I installed 3.31.0 RC2 (gplay apk) and the "normal" uploads seem to work now (including GPS coordinates). This is not a final test, since it was pretty unreliable with the uploads, but my 5 randomly spaced tests all worked fine. But what still is a big issue, is that retriggering to upload all pictures is not possible in any way. To not post this to all the threads I found and commented concerning upload problems, I mention them here: #14251 #14359 #14267

I spoke too soon. At least with the release version (3.31.0) it is only uploading some of the files. Especially if I take several pictures in short succession. It's so annoying ...

oxivanisher avatar Mar 11 '25 18:03 oxivanisher

I have the same issue running Nextcloud client 3.31.1 installed from f-droid on Android 14. Nextcloud AIO (Nextcloud Hub 10) 31.0.2 I can't see any pattern in when or which photos are skipped.

MaxLux avatar Apr 29 '25 13:04 MaxLux

Same problem. Some images are randomly skipped and never uploaded. So annoying. Can't the app regularly check, which files are missing and upload them? Or a force sync by which the app can be forced to search for missing uploads and uploads them?

jacksbox avatar Jun 24 '25 11:06 jacksbox

Maybe #15214 will help us 🤷‍♂️

oxivanisher avatar Jul 24 '25 22:07 oxivanisher

still happens on my phone also. Some pictures are not uploaded... There is also no way to do an auto check, i need to manually upload all of them...

JWebCoder avatar Nov 06 '25 10:11 JWebCoder

It's particularly annoying because Memories app can detect which images were not uploaded - I use it for checking which images were missed and I upload them manually one a month or so.

I also saw that other cloud platforms apps simply have some local database - which files were already uploaded. If they see some file not on the list, they upload them. It was clearly a local DB because on a new install it tried to upload everything from scratch.

Since Nextcloud let us select whether to upload all files or the new ones it could simple mark all existing files as "uploaded", save all uploaded files in this local DB, and be resistant to "oops, I missed some system notification" issue which is unsolvable (there will always be some cases when the notification won't arrive and "new file" hook won't trigger). I'd rather have an extra, itd, 50MB of some tombstones DB that few hundred of lost images because the upload didn't trigger.

MateuszKubuszok avatar Nov 06 '25 10:11 MateuszKubuszok

Hello

Auto-Upload logic completely redesigned. Could you please try with 3.35.0 RC2 and share your feedback with us?

alperozturk96 avatar Dec 08 '25 08:12 alperozturk96

I have tested RC2 for two days now. Installed from Google Play store. It was not a good start. 1 out of 5 pictures was automatically uploaded. I waited for more than an hour. I manually uploaded the 4 missing pictures. At this point in time I forced quite Nextcloud and cleared the cache. After this exercise all new pictures were, almost instantaneously, uploaded. Looked promising. This morning a few pictures were not uploaded. I might have been too restless though as I didn't wait long to check if the pictures were uploaded. During the day all pictures have been uploaded, with some delay compared to yesterday. 15 minutes seems to be enough waiting time.

falolaf avatar Dec 10 '25 13:12 falolaf

More testing today. 47 out of 62 images uploaded. The missing images does not show up in the "Uploaded" section nor in the log file. It is like they don't exist.

falolaf avatar Dec 11 '25 13:12 falolaf

@falolaf

Hey. Thanks a lot for your feedback.

To better understand the issue, could you please share the full configuration of your Auto Upload settings?

Specifically:

  • Is the upload set to Wi-Fi only?
  • What is the name-collision policy (overwrite, keep both, ask user, etc.)?
  • Your device model and Android version
  • The source folder used for upload (internal storage or SD card)

Additionally, it would really help if you could share the relevant logs.

Settings → Logs and look for entries related to AutoUpload and UploadFileOperation, then you can attach them here after removing sensitive information such as path and server name.

alperozturk96 avatar Dec 11 '25 14:12 alperozturk96

Hello @alperozturk96

  • Is the upload set to Wi-Fi only? No
  • What is the name-collision policy? Ask user.
  • Your device model and Android version: Samsung Galaxy S24. Android 16
  • The soure folder used for upload: internal storage.

I started over this morning with a clean log. 11 out of 17 images uploaded. I have uploaded the log file.

logs_mod.txt

falolaf avatar Dec 12 '25 07:12 falolaf

@falolaf

Hello

I checked the logs and prepared a new QA APK.

You can download from here, or you can download from the PR via generated QR Code.

Thank you so much and looking forward to your feedback.

alperozturk96 avatar Dec 12 '25 11:12 alperozturk96

Hello @alperozturk96, Unfortunately I am only allowed to install from Play store on my phone as it is company owned and there are restrictions due to that.

falolaf avatar Dec 12 '25 12:12 falolaf