android
android copied to clipboard
Autoupload doesn't (autoupload)
Steps to reproduce
- Install fresh Nextcloud app on Android
- Add one or two autoupload folders (custom) with the following: only "also upload existing files" checked, original file kept in original folder, if file exists -> rename new version.
- Make sure it is turned on.
- Wait
Expected behaviour
App should automatically upload the selected data.
Actual behaviour
App does not automatically upload the selected data, manual upload, on the other hand, works. Upload menu is empty, nothing is attempting to be uploaded. I do get notifications about other media folders being detected, but no feedback regarding the selected autoupload.
Can you reproduce this problem on https://try.nextcloud.com?
- Please create a test demo account and see if this still happens there.
- If yes, please open up a bug report
- If not, please verify server setup and ask for help on forum
Environment data
Android version: 14
Device model: Google Pixel 7 Pro
Stock or customized system: stock
Nextcloud app version: 3.27.0
Nextcloud server version: 28.0.2
Reverse proxy:
Logs
Web server error log
Insert your webserver log here
Nextcloud log (data/nextcloud.log)
Insert your Nextcloud log here
NOTE: Be super sure to remove sensitive data like passwords, note that everybody can look here! You can use the Issue Template application to prefill some of the required information: https://apps.nextcloud.com/apps/issuetemplate
I'm having the same problem autoupload doesn't work, it doesn't send images to the server.
Well that's a fail, I hope they give this autoupload a revamp soon, it's riddled with bugs.
Maybe this is Android 11 related? @talesam @madboykiller do you also have 11?
I'm using the DEV version and the auto-ship works and the app doesn't eat all the battery on the phone.
Maybe this is Android 11 related? @talesam @madboykiller do you also have 11?
Android 10
Adding some "me too" information...
I'm on Android 10, with NC Client version 3.15.1, connected to NC Server 20.0.7 (running on a Raspberry Pi 4). Autoupload is only set to monitor the "DCIM" folder on an "external" microSD card I have 2x autoload entries - one for photos, the other for videos - both are pointing to the same "DCIM" folder Autoupload is set to only upload with unmetered wifi, existing files, and use subfolders.
(I'm also using DAVx5 to sync CardDAV & CalDAV from the same phone to the same server)
The Autoupload appears to work for a while, then "jams" and doesn't appear to upload any more photos. However, sometimes it will upload some recent photos but miss earlier ones. Rebooting the phone then appears to reset something and Autoupload will then catch up with all the missing photos.
Often (everytime?) when I've rebooted the phone, after it has synchronised. I'll get a "file upload conflict" and it's a photo that appears to have correctly uploaded. So it appears that autoupload sends something to the server, but maybe doesn't cleanly complete the transfer and then that holds up the rest silently?
Using the filename of the photo that was conflicting today, I see the following in NC Server /data/nextcloud.log:
{"reqId":"UXvjRnmWRSJyf0kkD3yd","level":1,"time":"2021-05-06T21:16:51+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"no app in context","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"Deprecated event type for {\"[object] (OCP\\SabrePluginEvent)\":{\"*statusCode\":200,\"*message\":\"\",\"*server\":{\"[object] (OCA\\DAV\\Connector\\Sabre\\Server)\":{\"tree\":\"[object] (OCA\\DAV\\Connector\\Sabre\\ObjectTree)\",\"*baseUri\":\"/remote.php/webdav/\",\"httpResponse\":\"[object] (Sabre\\HTTP\\Response)\",\"httpRequest\":\"[object] (Sabre\\HTTP\\Request)\",\"sapi\":\"[object] (Sabre\\HTTP\\Sapi)\",\"*plugins\":[],\"transactionType\":null,\"protectedProperties\":{\"...\":\"Over 20 items, aborting normalization\"},\"debugExceptions\":false,\"resourceTypeMapping\":[],\"enablePropfindDepthInfinity\":true,\"xml\":\"[object] (Sabre\\DAV\\Xml\\Service)\",\"*listeners\":{\"...\":\"Over 20 items, aborting normalization\"},\"*wildcardListeners\":[],\"*listenerIndex\":[],\"*logger\":null}},\"Symfony\\Contracts\\EventDispatcher\\EventpropagationStopped\":false}}: null","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"UXvjRnmWRSJyf0kkD3yd","level":1,"time":"2021-05-06T21:16:51+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"no app in context","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"Deprecated event type for {\"[object] (OCP\\SabrePluginEvent)\":{\"*statusCode\":200,\"*message\":\"\",\"*server\":{\"[object] (OCA\\DAV\\Connector\\Sabre\\Server)\":{\"tree\":\"[object] (OCA\\DAV\\Connector\\Sabre\\ObjectTree)\",\"*baseUri\":\"/remote.php/webdav/\",\"httpResponse\":\"[object] (Sabre\\HTTP\\Response)\",\"httpRequest\":\"[object] (Sabre\\HTTP\\Request)\",\"sapi\":\"[object] (Sabre\\HTTP\\Sapi)\",\"*plugins\":{\"...\":\"Over 20 items, aborting normalization\"},\"transactionType\":\"head\",\"protectedProperties\":{\"...\":\"Over 20 items, aborting normalization\"},\"debugExceptions\":false,\"resourceTypeMapping\":[],\"enablePropfindDepthInfinity\":true,\"xml\":\"[object] (Sabre\\DAV\\Xml\\Service)\",\"*listeners\":{\"...\":\"Over 20 items, aborting normalization\"},\"*wildcardListeners\":[],\"*listenerIndex\":[],\"*logger\":null}},\"Symfony\\Contracts\\EventDispatcher\\EventpropagationStopped\":false}}: null","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"UXvjRnmWRSJyf0kkD3yd","level":0,"time":"2021-05-06T21:16:51+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"webdav","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"File with name Photos/2021/05/20210506_205020.jpg could not be located","Code":0,"Trace":[{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":81,"function":"getNodeForPath","class":"OCA\\DAV\\Connector\\Sabre\\ObjectTree","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpGet","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":262,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpHead","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/apps/dav/appinfo/v1/webdav.php","line":84,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/webapps/nextcloud/remote.php","line":167,"args":["/usr/share/webapps/nextcloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/usr/share/webapps/nextcloud/apps/dav/lib/Connector/Sabre/ObjectTree.php","Line":173,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"zZkHhJpXue7R7tu2WU7F","level":0,"time":"2021-05-06T21:19:46+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"guests","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"zZkHhJpXue7R7tu2WU7F","level":0,"time":"2021-05-06T21:19:46+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"contacts","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"zZkHhJpXue7R7tu2WU7F","level":0,"time":"2021-05-06T21:19:46+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"files_ sharing","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"/appinfo/app.php is deprecated, us \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"zZkHhJpXue7R7tu2WU7F","level":1,"time":"2021-05-06T21:19:46+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"no app in context","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"Deprecated event type for {\"[object] (OCP\\SabrePluginEvent)\":{\"*statusCode\":200,\"*message\":\"\",\"*server\":{\"[object] (OCA\\DAV\\Connector\\Sabre\\Server)\":{\"tree\":\"[object] (OCA\\DAV\\Connector\\Sabre\\ObjectTree)\",\"*baseUri\":\"/remote.php/webdav/\",\"httpResponse\":\"[object] (Sabre\\HTTP\\Response)\",\"httpRequest\":\"[object] (Sabre\\HTTP\\Request)\",\"sapi\":\"[object] (Sabre\\HTTP\\Sapi)\",\"*plugins\":[],\"transactionType\":null,\"protectedProperties\":{\"...\":\"Over 20 items, aborting normalization\"},\"debugExceptions\":false,\"resourceTypeMapping\":[],\"enablePropfindDepthInfinity\":true,\"xml\":\"[object] (Sabre\\DAV\\Xml\\Service)\",\"*listeners\":{\"...\":\"Over 20 items, aborting normalization\"},\"*wildcardListeners\":[],\"*listenerIndex\":[],\"*logger\":null}},\"Symfony\\Contracts\\EventDispatcher\\EventpropagationStopped\":false}}: null","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"} {"reqId":"zZkHhJpXue7R7tu2WU7F","level":1,"time":"2021-05-06T21:19:46+01:00","remoteAddr":"192.168.6.24","user":"steve","app":"no app in context","method":"HEAD","url":"/remote.php/webdav/Photos/2021/05/20210506_205020.jpg","message":"Deprecated event type for {\"[object] (OCP\\SabrePluginEvent)\":{\"*statusCode\":200,\"*message\":\"\",\"*server\":{\"[object] (OCA\\DAV\\Connector\\Sabre\\Server)\":{\"tree\":\"[object] (OCA\\DAV\\Connector\\Sabre\\ObjectTree)\",\"*baseUri\":\"/remote.php/webdav/\",\"httpResponse\":\"[object] (Sabre\\HTTP\\Response)\",\"httpRequest\":\"[object] (Sabre\\HTTP\\Request)\",\"sapi\":\"[object] (Sabre\\HTTP\\Sapi)\",\"*plugins\":{\"...\":\"Over 20 items, aborting normalization\"},\"transactionType\":\"head\",\"protectedProperties\":{\"...\":\"Over 20 items, aborting normalization\"},\"debugExceptions\":false,\"resourceTypeMapping\":[],\"enablePropfindDepthInfinity\":true,\"xml\":\"[object] (Sabre\\DAV\\Xml\\Service)\",\"*listeners\":{\"...\":\"Over 20 items, aborting normalization\"},\"*wildcardListeners\":[],\"*listenerIndex\":[],\"*logger\":null}},\"Symfony\\Contracts\\EventDispatcher\\EventpropagationStopped\":false}}: null","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.15.1","version":"20.0.7.1"}
I see something in there that looks like the photo can't be found... yet it (eventually) synchronised successfully (and conflicted...).
Hope that there's some useful information in there! :)
This bug report did not receive an update in the last 4 weeks. Please take a look again and update the issue with new details, otherwise the issue will be automatically closed in 2 weeks. Thank you!
Just close it, I cba with these reports anymore, so much time wasted arguining with bots and opening closed issues, if nobody wants to fix these issues for years then forget it.
It's still an issue for me, so I'd prefer to keep it open. Sometimes it works fine, sometimes it uploads some photos and then stops...
I see loads of "depreciated" errors in my log above and something about "over 20 items"... I'm sure I had 1 photo to upload...
I have the same behavior.
My server is on an embedded device in my home for my personal use, with WI-FI and without any SSL protection but this is not a problem.
The auto-upload service stopped to work a couple of months ago, that means that when the device is connects to the wi-fi the upload service notification did not appear and nothing is uploaded, while when I try to share a file manually it is correctly updated.
Logging th OwnCloud library with a logcat I see something like an error:
6-14 19:37:14.591 20366 2433 E ReadFolderRemoteOperation: at com.owncloud.android.lib.common.OwnCloudClient.executeMethod(OwnCloudClient.java:219)
I do not know if this is the cause of the problem but everything else works correctly and if I'm not wrong, when I share something manually, no folder are read locally, but the file is streamed, directly to the remote server, while when the upload service starts it has to read some folder to check if new files were added.
I do not know exactly when, but I'm sure that recently my Android phone was update by Samsung to Android 11 and I know that Google changed several things in the external memory management, I tried to delete the application data and cache to check for folder mismatching, but nothing changed.
Thank, you.
For me it did not work correctly for like 3-4 major Android versions, don't think it matters which one.
Just wondering whether @AndyScherzinger can comment on this issue?
@WarmChocolateCake sure thing, while I can't add much value with a comment at the moment due to personal time constraints regarding spending time on this matter. So here we go:
- wrongly shown/detected conflicts (as in false positive) have been reported numerous times. Since I haven't worked on that area I can't guess what might go wrong here, but due to the number of reports there is very likely something wrong with the actual implementation.
- Auto Upload for media files on sd card are known to be a volatile thing. This is due to the way is has been implemented. The "standard" auto upload (as in folders shown in the auto upload screen, deteced by the app) are based on querying Android's media index which as it turned out is flaky at best for sd card data. So we only "see" files Android itself detects and puts into its index. Using custom folders in auto upload instead of the suggested auto detected folder might work (can't say). This is a tricky area since most (or all?) devs I know contributing to the3 app are using devices that don't have an sd card (and thus don't have/see such problems). Reboot as mentioned do help, since that might trigger Androids media indexing and also reboots/restarts the auto upload background job (which isn't a solution but the reason you might see a "positive effect")
- Any connectivity issue should be "ignored for now" since that has been a general issue for certain server http requests and has been fixed afaik and should ship with the next feature release.
So due to time constraints. If anybody having the problem you all described and could work on a fix/PR than we would definitely support you in any way possible. Not a satisfying answer I am afraid but the best I can do (personally) at this moment.
Last week something happened. As many routers my router has two different entries , one for the 5Ghz and one for the old protocol 2.4Ghz. Obviously the cloud is reachable on both channels. Due to a range problem in order to reach my network from the garage, I changed the connection of my mobile phone from the 5Ghz band entry to the 2.4GHz band entry and Nexcloud started to sync again. I exclude it was a range problem before, because I tested it at a couple of meters, from the same router, and the cloud was always reachable, but before the switch It was not able to auto-upload anything, I don't know if it is a casual instance, but the Nexcloud auto-upload runs properly now. Hope this helps.
@WarmChocolateCake sure thing, while I can't add much value with a comment at the moment due to personal time constraints regarding spending time on this matter. So here we go:
* wrongly shown/detected conflicts (as in false positive) have been reported numerous times. Since I haven't worked on that area I can't guess what might go wrong here, but due to the number of reports there is very likely something wrong with the actual implementation. * Auto Upload for media files on sd card are known to be a volatile thing. This is due to the way is has been implemented. The "standard" auto upload (as in folders shown in the auto upload screen, deteced by the app) are based on querying Android's media index which as it turned out is flaky at best for sd card data. So we only "see" files Android itself detects and puts into its index. Using custom folders in auto upload instead of the suggested auto detected folder might work (can't say). This is a tricky area since most (or all?) devs I know contributing to the3 app are using devices that don't have an sd card (and thus don't have/see such problems). Reboot as mentioned do help, since that might trigger Androids media indexing and also reboots/restarts the auto upload background job (which isn't a solution but the reason you might see a "positive effect") * Any connectivity issue should be "ignored for now" since that has been a general issue for certain server http requests and has been fixed afaik and should ship with the next feature release.
So due to time constraints. If anybody having the problem you all described and could work on a fix/PR than we would definitely support you in any way possible. Not a satisfying answer I am afraid but the best I can do (personally) at this moment.
I would like to add that this is not exclusive to SD cards. My experience is, sooner or later auto upload will break and then never work with the same folder again. Only workaround is to create a new folder with different name and enable it for auto upload. After a few weeks auto upload will break again and stop detecting files or uploading them.
For me, I autoupload photos mostly, if I had your problem @thenickname, that would mean I would need to keep changing the camera app to save photos to each new folder. I don't have to do that. But yes, my photos are on an SD card.
To add, my SD card is formatted as "Portable" (FAT/unencrypted), rather than "Internal" / "Adoptable" (encrypted)
I'm sure it isn't a problem for everyone. But it doesn't work for everyone either.
Same issue, client (both latest and dev) shows nothing to upload, photos are uploaded randomly. Using Mi 10/MIUI 12.2.7/Android 11. Source is on /storage/emulated/0/DCIM/Camera.
My photos auto-upload fine, but I set up an additional auto upload folder for audio recordings, and it will never work.
The only remotely relevant log message I can find is:
"reqId":"J03XONxSzGVrBXb8z7tB","level":0,"time":"2021-07-18T03:46:43+00:00","remoteAddr":"192.168.2.1","user":"who","app":"files_sharing","method":"PROPFIND","url":"/remote.php/webdav/Recordings/Auto-uploads/","message":"/appinfo/app.php is deprecated, use \OCP\AppFramework\Bootstrap\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.16.1","version":"20.0.10.1"}
{"reqId":"J03XONxSzGVrBXb8z7tB","level":0,"time":"2021-07-18T03:46:43+00:00","remoteAddr":"192.168.2.1","user":"who","app":"maps","method":"PROPFIND","url":"/remote.php/webdav/Recordings/Auto-uploads/","message":"/appinfo/app.php is deprecated, use \OCP\AppFramework\Bootstrap\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.16.1","version":"20.0.10.1"}
{"reqId":"J03XONxSzGVrBXb8z7tB","level":1,"time":"2021-07-18T03:46:43+00:00","remoteAddr":"192.168.2.1","user":"who","app":"no app in context","method":"PROPFIND","url":"/remote.php/webdav/Recordings/Auto-uploads/","message":"Deprecated event type for {"[object] (OCP\SabrePluginEvent)":{"*statusCode":200,"*message":"","*server":{"[object] (OCA\DAV\Connector\Sabre\Server)":{"tree":"[object] (OCA\DAV\Connector\Sabre\ObjectTree)","*baseUri":"/remote.php/webdav/","httpResponse":"[object] (Sabre\HTTP\Response)","httpRequest":"[object] (Sabre\HTTP\Request)","sapi":"[object] (Sabre\HTTP\Sapi)","*plugins":[],"transactionType":null,"protectedProperties":{"...":"Over 20 items, aborting normalization"},"debugExceptions":false,"resourceTypeMapping":[],"enablePropfindDepthInfinity":true,"xml":"[object] (Sabre\DAV\Xml\Service)","*listeners":{"...":"Over 20 items, aborting normalization"},"*wildcardListeners":[],"*listenerIndex":[],"*logger":null}},"Symfony\Contracts\EventDispatcher\EventpropagationStopped":false}}: null","userAgent":"Mozilla/5.0 (Android) Nextcloud-android/3.16.1","version":"20.0
.10.1"}
For some reason my DCIM/Camera/ folder, for photos, the auto-upload continues to work and hasn't broken. The identical auto-upload folder but for videos has been broken for a long time and never uploads anything. This is an extremely common problem it seems and one of the key features that makes using the Nextcloud app attractive and one of the 6 main features touted in the app description on f-droid. It's a bummer that this is so unreliable that it's pretty much not worth using anymore.
So some questions. Is there any hope of this ever being fixed? With numerous significant updates to the app in the at least year+(maybe multiple years) of this being an issue, why has this not ever been worked on?
PS. I apologize if this comes across as complaining. I'm thankful for the hard work the app developers do. It would, however, be nice to have some sort of explanation about the current and future state of this very large bug so we can evaluate whether or not we want to spend anymore time fighting with it. If there is little chance of it ever getting fixed then I'll just move on to a different solution.
Unfortunately autoupload has never worked correctly for me for the past 3-4 years that I've been using Nextcloud. I have opened numerous issues regarding various things about it, most have gotten closed by the bot which means developers don't want issues to be unsolves for too long so they get closed, others have remained unsolved. I have given up on trying to help it get fixed as it was taking an inordinate amount of effort/result ratio.
This bug report did not receive an update in the last 4 weeks. Please take a look again and update the issue with new details, otherwise the issue will be automatically closed in 2 weeks. Thank you!
Yep, still broken.
This bug report did not receive an update in the last 4 weeks. Please take a look again and update the issue with new details, otherwise the issue will be automatically closed in 2 weeks. Thank you!
I don't know if anyone's noticed but the upload does still not work! Yay!
An nobody seems interested in fixing it. Woohoo!
This bug report did not receive an update in the last 4 weeks. Please take a look again and update the issue with new details, otherwise the issue will be automatically closed in 2 weeks. Thank you!
Update!
Since a few days my autoupload functionality for photos and videos is broken and I don't know why. I recently added an other autoupload setting for uploading Signal backups and it works just fine. But NO photos or videos are uploaded.
I also don't see a button to delete the setting so I would be able to set it up again. Am I blind? I can set up new autouploads but I can not delete them? Why this? In the three-dot menu I only can hide the folder or configure it. There is no delete or something.
I also restarted my phone but it changed nothing. That's really weird. I am using version 3.18.0 RC4 on a Oneplus 5 with Android 10 (OxygenOS v10.0.1). It worked all these years and now it just does not anymore.
Welcome to the club, walk over to the bartender to get a membership card.