android icon indicating copy to clipboard operation
android copied to clipboard

[BUG] Android owncloud client not uploading without internet access

Open Luiginoo007 opened this issue 1 year ago • 14 comments

Actual behaviour

Mine internal owncloud server behind firewall and proxy is working well with Windows owncloud client and with linux clients My android device on WIFI without internet connection can download items from my owncloud server, but cannot upload. Everything selected to upload is still with status "enqueued"

Expected behaviour

upload & download should be without issues

Steps to reproduce

  1. internal owncloud server
  2. wifi without internet access
  3. try to upload something and check upload tab where you will see files as "enqueued"

Can this problem be reproduced with the official owncloud server? (url: https://ocis.ocis.master.owncloud.works, user: einstein, password: relativity) no

Environment data

Android version: 14 Tested

Device model: Samsung galaxy s23+ tested on galaxy tabs7 as well same issue tested on older android devices = same issue

Stock or customized system: stock

ownCloud app version: 4.4.1 tested also 4.3.0

ownCloud server version: 10.15.0

Logs

Web server error log

no relevant logs just that device is connecting I add sucesfully connection and all seems to be ok, just upload enqueued

ownCloud log (data/owncloud.log)

no relevant data

Insert your ownCloud log here data from owncloud client log

loading file to dir /test1/ D: 2024-11-11 06:56:09:354(BaseActivity.java:292)show loading dialog I: 2024-11-11 06:56:09:383(UploadFilesFromSystemUseCase.kt:94)Upload of /test1/owncloud.2024-11-11_06.55.39.log has been stored in the uploads database with id: 166 I: 2024-11-11 06:56:09:383(UploadFileFromSystemUseCase.kt:76)Plain upload of /data/user/0/com.owncloud.android/files/owncloud/tmp/[email protected]%2Fowncloud/test1/owncloud.2024-11-11_06.55.39.log has been enqueued. D: 2024-11-11 06:56:09:389(BaseActivity.java:310)dismiss loading dialog V: 2024-11-11 06:56:09:408(MainApp.kt:212)ReceiveExternalFilesActivity onPause() ending V: 2024-11-11 06:56:09:416(MainApp.kt:201)LogsListActivity onStart() starting V: 2024-11-11 06:56:09:417(MainApp.kt:208)LogsListActivity onResume() starting V: 2024-11-11 06:56:09:805(MainApp.kt:216)ReceiveExternalFilesActivity onStop() ending V: 2024-11-11 06:56:09:810(MainApp.kt:227)ReceiveExternalFilesActivity onDestroy() ending V: 2024-11-11 06:56:13:657(MainApp.kt:212)LogsListActivity onPause() ending V: 2024-11-11 06:56:13:667(MainApp.kt:201)SettingsActivity onStart() starting V: 2024-11-11 06:56:13:668(MainApp.kt:208)SettingsActivity onResume() starting V: 2024-11-11 06:56:14:054(MainApp.kt:216)LogsListActivity onStop() ending V: 2024-11-11 06:56:14:055(MainApp.kt:227)LogsListActivity onDestroy() ending V: 2024-11-11 06:56:17:074(MainApp.kt:212)SettingsActivity onPause() ending V: 2024-11-11 06:56:17:081(BaseActivity.java:93)onRestart() start V: 2024-11-11 06:56:17:082(BaseActivity.java:99)onRestart() end V: 2024-11-11 06:56:17:082(MainApp.kt:201)UploadListActivity onStart() starting D: 2024-11-11 06:56:17:084(BaseActivity.java:177)Account set: [email protected]/owncloud D: 2024-11-11 06:56:17:085(DrawerActivity.kt:304)Update Quota I: 2024-11-11 06:56:17:086(AvatarManager.kt:87)Avatar with imageKey [email protected]/owncloud is not available in cache. Generating one... V: 2024-11-11 06:56:17:088(MainApp.kt:208)UploadListActivity onResume() starting W: 2024-11-11 06:56:17:088(DrawerActivity.kt:402)setDrawerMenuItemChecked has been called with invalid menu-item-ID

My test: old oCloud.de app = working different devices same or older app version = not working open firewall for my android device to internet = immediately upload working after we close that access to internet again same issue

thank you for any help

Luiginoo007 avatar Nov 11 '24 09:11 Luiginoo007

open firewall for my android device to internet = immediately upload working

that means that the problem is in the firewall. Did you check the rules' list?

Usually, when uploads are just enqueued (no error), is because the device does not find connectivity to launch them.

jesmrec avatar Nov 11 '24 10:11 jesmrec

firewall is not between server and client. It is between internet and our networks. As I wrote, oCloud.de is working normally also without internet access

Luiginoo007 avatar Nov 11 '24 10:11 Luiginoo007

If the status is Enqueued and not Error is because the device connectivity. Enqueued means "ready to go but waiting for connection".

If you are sure that your device has connectivity, it's something that i can not explain at this point :D. Download and upload are operations that use the same piece of software to run.

Please, could you share an app log with the Log HTTP request and responses enabled? we can provide you a link to upload to.

jesmrec avatar Nov 11 '24 11:11 jesmrec

just to be clear and aligned, when you mentioned "internet access", you meant "mobile connectivity"(4G/5G...) right? internet access is network reachability, regardless the kind of interface you use for (WiFi is also internet connection). It is not posible to work in cloud without an network access.

App connectivity will work if ownCloud app and server are reachable themselves. ownCloud app does not handle network rules or middleware. The connectivity must be direct.

jesmrec avatar Nov 11 '24 11:11 jesmrec

"Internet access" I mean any connection to internet, no mobile connectivity (4G/5G...) and wifi without connection to internet My owncloud server is on-premise, it is working correctly from any Windows PC or PC with linux in our internal network (via app also via browser)

From my android device connected to WIFI without connection to internet (no 4G no 5G ... WIFI without internet)

  • I am able to add my server connection in Owncloud application
  • set username + password and make successful connection via Owncloud app
  • I am able to download anything via Owncloud app
  • but not possible to UPLOAD via Owncloud app
  • I am able to open server URL via browser and successful login
  • via browser I am able to download and also I am able to upload
  • via oCloud.de app (last update of app was in 2018) I able to do both upload & download

Where I should past logs ? here ? it is 77 lines

thank you

Luiginoo007 avatar Nov 11 '24 11:11 Luiginoo007

Where I should past logs ? here ? it is 77 lines

if there is no sensible information about your server (domain names, IPs, relevant user names or user info...) you can post here. If not, please push here: https://infinite.owncloud.com/s/HRHrEelQxgSTvJO

with pass: qb26Y},E<}#q

no one else will read it.

jesmrec avatar Nov 11 '24 11:11 jesmrec

android owncloud app client logs : D: 2024-11-11 12:23:50:667(SingleSessionManager.java:98)getClientFor starting V: 2024-11-11 12:23:50:667(SingleSessionManager.java:125)reusing client for account [email protected]/owncloud D: 2024-11-11 12:23:50:668(SingleSessionManager.java:180)getClientFor finishing D: 2024-11-11 12:23:50:668(OwnCloudClient.java:129)Executing in request with id bbd30aa3-6e0d-4d84-9e10-f0a197f81aee D: 2024-11-11 12:23:50:698(LogInterceptor.kt:67)REQUEST bbd30aa3-6e0d-4d84-9e10-f0a197f81aee {"request":{"body":"<propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav" xmlns:SABRE="http://sabredav.org/ns" xmlns:OC="http://owncloud.org/ns">","headers":{"Depth":"0","Authorization":"Basic [redacted]","X-Request-ID":"bbd30aa3-6e0d-4d84-9e10-f0a197f81aee","User-Agent":"Mozilla/5.0 (Android) ownCloud-android/4.4.1","Accept-Encoding":"identity","Accept-Language":"en","Content-Type":"application/xml; charset=utf-8","Content-Length":"288","Host":"10.40.1.141","Connection":"Keep-Alive","Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; ocoffjsu9nxp=nn18vbjubmnq9ht07la24809rc; cookie_test=test"},"info":{"id":"bbd30aa3-6e0d-4d84-9e10-f0a197f81aee","method":"PROPFIND","url":"https://10.40.1.141/owncloud/remote.php/dav/files/testuser"}}} D: 2024-11-11 12:23:50:700(LogInterceptor.kt:133)RESPONSE bbd30aa3-6e0d-4d84-9e10-f0a197f81aee {"response":{"body":{"data":"\n<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns"><d:response><d:href>/owncloud/remote.php/dav/files/testuser/</d:href><d:propstat><d:prop><d:quota-used-bytes>30353983</d:quota-used-bytes><d:quota-available-bytes>5338355137</d:quota-available-bytes></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>\n","length":406},"headers":{"Date":"Mon, 11 Nov 2024 11:23:50 GMT","Server":"Apache","X-Content-Type-Options":"nosniff","X-XSS-Protection":"0","X-Robots-Tag":"none","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Powered-By":"PHP/7.4.33","Expires":"Thu, 19 Nov 1981 08:52:00 GMT","Cache-Control":"no-store, no-cache, must-revalidate","Pragma":"no-cache","Set-Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; expires=Mon, 11-Nov-2024 11:43:50 GMT; Max-Age=1200; path=/owncloud; secure; HttpOnly; SameSite=Strict","Content-Security-Policy":"default-src 'none';","Vary":"Brief,Prefer","DAV":"1, 3, extended-mkcol, 2","Content-Length":"406","Keep-Alive":"timeout=15, max=96","Connection":"Keep-Alive","Content-Type":"application/xml; charset=utf-8"},"info":{"id":"bbd30aa3-6e0d-4d84-9e10-f0a197f81aee","method":"PROPFIND","reply":{"cached":false,"duration":28,"durationString":"duration(0h, 0min, 0s, 28ms)","status":207,"version":"http/1.1"},"url":"https://10.40.1.141/owncloud/remote.php/dav/files/testuser"}}} I: 2024-11-11 12:23:50:702(GetRemoteUserQuotaOperation.kt:62)Get quota completed: RemoteQuota(free=5338355137, used=30353983, total=5368709120, relative=0.57) and message - HTTP status code: 207 D: 2024-11-11 12:23:50:701(GetRemoteUserQuotaOperation.kt:102)Quota used: 30353983, QuotaAvailable: 5338355137 D: 2024-11-11 12:23:50:703(SyncProfileOperation.kt:76)User quota synchronized for oC10 account [email protected]/owncloud D: 2024-11-11 12:23:50:704(SingleSessionManager.java:98)getClientFor starting V: 2024-11-11 12:23:50:704(SingleSessionManager.java:125)reusing client for account [email protected]/owncloud D: 2024-11-11 12:23:50:704(SingleSessionManager.java:180)getClientFor finishing D: 2024-11-11 12:23:50:704(GetRemoteUserAvatarOperation.kt:53)avatar URI: https://10.40.1.141/owncloud/index.php/avatar/testuser/360 D: 2024-11-11 12:23:50:705(OwnCloudClient.java:129)Executing in request with id 55f7c49d-f26d-4fad-ab6f-7bf3e59affab D: 2024-11-11 12:23:50:760(LogInterceptor.kt:67)REQUEST 55f7c49d-f26d-4fad-ab6f-7bf3e59affab {"request":{"headers":{"X-Request-ID":"55f7c49d-f26d-4fad-ab6f-7bf3e59affab","User-Agent":"Mozilla/5.0 (Android) ownCloud-android/4.4.1","Accept-Language":"en","Accept-Encoding":"identity","Authorization":"Basic [redacted]","Host":"10.40.1.141","Connection":"Keep-Alive","Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; ocoffjsu9nxp=nn18vbjubmnq9ht07la24809rc; cookie_test=test"},"info":{"id":"55f7c49d-f26d-4fad-ab6f-7bf3e59affab","method":"GET","url":"https://10.40.1.141/owncloud/index.php/avatar/testuser/360"}}} D: 2024-11-11 12:23:50:762(LogInterceptor.kt:133)RESPONSE 55f7c49d-f26d-4fad-ab6f-7bf3e59affab {"response":{"body":{"data":"{"data":{"displayname":"testuser"}}","length":35},"headers":{"Date":"Mon, 11 Nov 2024 11:23:50 GMT","Server":"Apache","X-Content-Type-Options":"nosniff","X-XSS-Protection":"0","X-Robots-Tag":"none","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Powered-By":"PHP/7.4.33","Expires":"Thu, 19 Nov 1981 08:52:00 GMT","Cache-Control":"no-cache, no-store, must-revalidate","Pragma":"public","Set-Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; expires=Mon, 11-Nov-2024 11:43:50 GMT; Max-Age=1200; path=/owncloud; secure; HttpOnly; SameSite=Strict","Content-Security-Policy":"default-src 'none';manifest-src 'self';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src 'self';connect-src 'self';media-src 'self'","Last-Modified":"Mon, 11 Nov 2024 11:23:50 +0000","Content-Length":"35","Keep-Alive":"timeout=15, max=95","Connection":"Keep-Alive","Content-Type":"application/json; charset=utf-8"},"info":{"id":"55f7c49d-f26d-4fad-ab6f-7bf3e59affab","method":"GET","reply":{"cached":false,"duration":53,"durationString":"duration(0h, 0min, 0s, 53ms)","status":200,"version":"http/1.1"},"url":"https://10.40.1.141/owncloud/index.php/avatar/testuser/360"}}} W: 2024-11-11 12:23:50:762(GetRemoteUserAvatarOperation.kt:67)Not an image, failing with no avatar D: 2024-11-11 12:23:50:762(AvatarManager.kt:114)Fetch avatar use case is success: false I: 2024-11-11 12:23:50:763(AvatarManager.kt:140)No avatar available, removing cached copy D: 2024-11-11 12:23:50:763(DiskLruImageCache.java:142)removeKey from cache: -1501953835 V: 2024-11-11 12:23:52:407(FileDisplayActivity.kt:810)onPause() start V: 2024-11-11 12:23:52:408(MainApp.kt:212)FileDisplayActivity onPause() ending V: 2024-11-11 12:23:52:408(FileDisplayActivity.kt:818)onPause() end D: 2024-11-11 12:23:52:420(MainApp.kt:117)UploadListActivity onCreate(Bundle) starting D: 2024-11-11 12:23:52:452(SingleSessionManager.java:98)getClientFor starting D: 2024-11-11 12:23:52:453(SingleSessionManager.java:180)getClientFor finishing V: 2024-11-11 12:23:52:452(SingleSessionManager.java:125)reusing client for account [email protected]/owncloud V: 2024-11-11 12:23:52:453(MainApp.kt:201)UploadListActivity onStart() starting D: 2024-11-11 12:23:52:453(OwnCloudClient.java:129)Executing in request with id 0611ddec-9917-4d1c-9982-3a1f3bebe8f0 D: 2024-11-11 12:23:52:458(BaseActivity.java:177)Account set: [email protected]/owncloud D: 2024-11-11 12:23:52:459(DrawerActivity.kt:304)Update Quota I: 2024-11-11 12:23:52:459(AvatarManager.kt:87)Avatar with imageKey [email protected]/owncloud is not available in cache. Generating one... D: 2024-11-11 12:23:52:460(DrawerActivity.kt:304)Update Quota D: 2024-11-11 12:23:52:461(ViewModelExt.kt:69)Use case executed: GetStoredQuotaUseCase with result: Success(data=UserQuota([email protected]/owncloud, available=5338355137, used=30353983)) V: 2024-11-11 12:23:52:462(MainApp.kt:208)UploadListActivity onResume() starting D: 2024-11-11 12:23:52:462(ViewModelExt.kt:69)Use case executed: GetStoredQuotaUseCase with result: Success(data=UserQuota([email protected]/owncloud, available=5338355137, used=30353983)) W: 2024-11-11 12:23:52:462(DrawerActivity.kt:402)setDrawerMenuItemChecked has been called with invalid menu-item-ID D: 2024-11-11 12:23:52:493(FileActivity.java:385)Operations service connected D: 2024-11-11 12:23:52:506(LogInterceptor.kt:67)REQUEST 0611ddec-9917-4d1c-9982-3a1f3bebe8f0 {"request":{"headers":{"OCS-APIREQUEST":"true","X-Request-ID":"0611ddec-9917-4d1c-9982-3a1f3bebe8f0","User-Agent":"Mozilla/5.0 (Android) ownCloud-android/4.4.1","Accept-Language":"en","Accept-Encoding":"identity","Authorization":"Basic [redacted]","Host":"10.40.1.141","Connection":"Keep-Alive","Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; ocoffjsu9nxp=nn18vbjubmnq9ht07la24809rc; cookie_test=test"},"info":{"id":"0611ddec-9917-4d1c-9982-3a1f3bebe8f0","method":"GET","url":"https://10.40.1.141/owncloud/ocs/v2.php/cloud/capabilities?format=json"}}} D: 2024-11-11 12:23:52:510(LogInterceptor.kt:133)RESPONSE 0611ddec-9917-4d1c-9982-3a1f3bebe8f0 {"response":{"body":{"data":"{"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK","totalitems":"","itemsperpage":""},"data":{"version":{"major":10,"minor":15,"micro":0,"string":"10.15.0","edition":"Community","product":"OUR Interface Server"},"capabilities":{"core":{"pollinterval":30000,"webdav-root":"remote.php\/webdav","status":{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"10.15.0.2","versionstring":"10.15.0","edition":"Community","productname":"OUR Interface Server","product":"OUR Interface Server","hostname":"kspifzv1"},"support-url-signing":true},"files":{"app_providers":[{"enabled":true,"version":"1.1.0","apps_url":"\/owncloud\/index.php\/app\/list","open_web_url":"\/owncloud\/index.php\/app\/open-with-web","new_url":"\/owncloud\/index.php\/app\/new"}],"privateLinks":true,"privateLinksDetailsParam":true,"bigfilechunking":true,"blacklisted_files":[".htaccess"],"blacklisted_files_regex":"\\.(part|filepart)$","favorites":true,"file_locking_support":true,"file_locking_enable_file_action":false,"undelete":true},"checksums":{"supportedTypes":["SHA1"],"preferredUploadType":"SHA1"},"dav":{"chunking":"1.0","reports":["search-files"],"propfind":{"depth_infinity":false},"trashbin":"1.0"},"files_sharing":{"api_enabled":true,"public":{"enabled":true,"password":{"enforced_for":{"read_only":false,"read_write":false,"upload_only":false,"read_write_delete":false},"enforced":false},"roles_api":true,"can_create_public_link":true,"expire_date":{"enabled":false},"send_mail":false,"social_share":true,"upload":true,"multiple":true,"supports_upload_only":true,"defaultPublicLinkShareName":"Public link"},"user":{"send_mail":false,"profile_picture":true,"expire_date":{"enabled":false}},"group":{"expire_date":{"enabled":false}},"remote":{"expire_date":{"enabled":false}},"resharing":true,"group_sharing":true,"auto_accept_share":true,"share_with_group_members_only":true,"share_with_membership_groups_only":true,"can_share":true,"user_enumeration":{"enabled":true,"group_members_only":false},"default_permissions":31,"providers_capabilities":{"ocinternal":{"user":["shareExpiration"],"group":["shareExpiration"],"link":["shareExpiration","passwordProtected"]},"ocFederatedSharing":{"remote":["shareExpiration"]}},"federation":{"outgoing":true,"incoming":true},"search_min_length":2},"notifications":{"ocs-endpoints":["list","get","delete"]}}}}}","length":2376},"headers":{"Date":"Mon, 11 Nov 2024 11:23:52 GMT","Server":"Apache","X-Content-Type-Options":"nosniff","X-XSS-Protection":"0","X-Robots-Tag":"none","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Powered-By":"PHP/7.4.33","Expires":"Thu, 19 Nov 1981 08:52:00 GMT","Cache-Control":"no-cache, no-store, must-revalidate","Pragma":"no-cache","Set-Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; expires=Mon, 11-Nov-2024 11:43:52 GMT; Max-Age=1200; path=/owncloud; secure; HttpOnly; SameSite=Strict","Content-Security-Policy":"default-src 'none';manifest-src 'self';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src 'self';connect-src 'self';media-src 'self'","Content-Length":"2376","Vary":"Accept-Encoding","Keep-Alive":"timeout=15, max=94","Connection":"Keep-Alive","Content-Type":"application/json; charset=utf-8"},"info":{"id":"0611ddec-9917-4d1c-9982-3a1f3bebe8f0","method":"GET","reply":{"cached":false,"duration":50,"durationString":"duration(0h, 0min, 0s, 50ms)","status":200,"version":"http/1.1"},"url":"https://10.40.1.141/owncloud/ocs/v2.php/cloud/capabilities?format=json"}}} D: 2024-11-11 12:23:52:510(GetRemoteCapabilitiesOperation.kt:71)Successful response {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK","totalitems":"","itemsperpage":""},"data":{"version":{"major":10,"minor":15,"micro":0,"string":"10.15.0","edition":"Community","product":"OUR Interface Server"},"capabilities":{"core":{"pollinterval":30000,"webdav-root":"remote.php/webdav","status":{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"10.15.0.2","versionstring":"10.15.0","edition":"Community","productname":"OUR Interface Server","product":"OUR Interface Server","hostname":"kspifzv1"},"support-url-signing":true},"files":{"app_providers":[{"enabled":true,"version":"1.1.0","apps_url":"/owncloud/index.php/app/list","open_web_url":"/owncloud/index.php/app/open-with-web","new_url":"/owncloud/index.php/app/new"}],"privateLinks":true,"privateLinksDetailsParam":true,"bigfilechunking":true,"blacklisted_files":[".htaccess"],"blacklisted_files_regex":"\.(part|filepart)$","favorites":true,"file_locking_support":true,"file_locking_enable_file_action":false,"undelete":true},"checksums":{"supportedTypes":["SHA1"],"preferredUploadType":"SHA1"},"dav":{"chunking":"1.0","reports":["search-files"],"propfind":{"depth_infinity":false},"trashbin":"1.0"},"files_sharing":{"api_enabled":true,"public":{"enabled":true,"password":{"enforced_for":{"read_only":false,"read_write":false,"upload_only":false,"read_write_delete":false},"enforced":false},"roles_api":true,"can_create_public_link":true,"expire_date":{"enabled":false},"send_mail":false,"social_share":true,"upload":true,"multiple":true,"supports_upload_only":true,"defaultPublicLinkShareName":"Public link"},"user":{"send_mail":false,"profile_picture":true,"expire_date":{"enabled":false}},"group":{"expire_date":{"enabled":false}},"remote":{"expire_date":{"enabled":false}},"resharing":true,"group_sharing":true,"auto_accept_share":true,"share_with_group_members_only":true,"share_with_membership_groups_only":true,"can_share":true,"user_enumeration":{"enabled":true,"group_members_only":false},"default_permissions":31,"providers_capabilities":{"ocinternal":{"user":["shareExpiration"],"group":["shareExpiration"],"link":["shareExpiration","passwordProtected"]},"ocFederatedSharing":{"remote":["shareExpiration"]}},"federation":{"outgoing":true,"incoming":true},"search_min_length":2},"notifications":{"ocs-endpoints":["list","get","delete"]}}}}} D: 2024-11-11 12:23:52:513(GetRemoteCapabilitiesOperation.kt:82)Get Capabilities completed and parsed to RemoteCapability(accountName=, versionMajor=10, versionMinor=15, versionMicro=0, versionString=10.15.0, versionEdition=Community, corePollinterval=30000, chunkingVersion=1.0, filesSharingApiEnabled=TRUE, filesSharingPublicEnabled=TRUE, filesSharingPublicPasswordEnforced=FALSE, filesSharingPublicPasswordEnforcedReadOnly=FALSE, filesSharingPublicPasswordEnforcedReadWrite=FALSE, filesSharingPublicPasswordEnforcedUploadOnly=FALSE, filesSharingPublicExpireDateEnabled=FALSE, filesSharingPublicExpireDateDays=0, filesSharingPublicExpireDateEnforced=FALSE, filesSharingPublicUpload=TRUE, filesSharingPublicMultiple=TRUE, filesSharingPublicSupportsUploadOnly=TRUE, filesSharingResharing=TRUE, filesSharingFederationOutgoing=TRUE, filesSharingFederationIncoming=TRUE, filesSharingUserProfilePicture=TRUE, filesBigFileChunking=TRUE, filesUndelete=TRUE, filesVersioning=FALSE, filesPrivateLinks=TRUE, filesAppProviders=[RemoteAppProviders(enabled=true, version=1.1.0, appsUrl=/owncloud/index.php/app/list, openUrl=null, openWebUrl=/owncloud/index.php/app/open-with-web, newUrl=/owncloud/index.php/app/new)], spaces=null, passwordPolicy=null) D: 2024-11-11 12:23:52:515(SingleSessionManager.java:98)getClientFor starting V: 2024-11-11 12:23:52:515(SingleSessionManager.java:125)reusing client for account [email protected]/owncloud D: 2024-11-11 12:23:52:517(SingleSessionManager.java:180)getClientFor finishing D: 2024-11-11 12:23:52:517(OwnCloudClient.java:129)Executing in request with id 932d8a2c-5ba5-4d81-b382-3fb43e3c01e8 D: 2024-11-11 12:23:52:552(LogInterceptor.kt:67)REQUEST 932d8a2c-5ba5-4d81-b382-3fb43e3c01e8 {"request":{"headers":{"X-Request-ID":"932d8a2c-5ba5-4d81-b382-3fb43e3c01e8","User-Agent":"Mozilla/5.0 (Android) ownCloud-android/4.4.1","Accept-Language":"en","Accept-Encoding":"identity","Authorization":"Basic [redacted]","Host":"10.40.1.141","Connection":"Keep-Alive","Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; ocoffjsu9nxp=nn18vbjubmnq9ht07la24809rc; cookie_test=test"},"info":{"id":"932d8a2c-5ba5-4d81-b382-3fb43e3c01e8","method":"GET","url":"https://10.40.1.141/owncloud/index.php/app/list"}}} D: 2024-11-11 12:23:52:561(LogInterceptor.kt:133)RESPONSE 932d8a2c-5ba5-4d81-b382-3fb43e3c01e8 {"response":{"body":{"data":"{"mime-types":[]}","length":17},"headers":{"Date":"Mon, 11 Nov 2024 11:23:52 GMT","Server":"Apache","X-Content-Type-Options":"nosniff","X-XSS-Protection":"0","X-Robots-Tag":"none","X-Frame-Options":"SAMEORIGIN","X-Download-Options":"noopen","X-Permitted-Cross-Domain-Policies":"none","X-Powered-By":"PHP/7.4.33","Expires":"Thu, 19 Nov 1981 08:52:00 GMT","Cache-Control":"no-cache, no-store, must-revalidate","Pragma":"no-cache","Set-Cookie":"oc_sessionPassphrase=GZQsLZj%2BTRbwrurqe7XXCJIcZgECuuvZAZqkBK3tgPgg00HFJyBQHUZUgr74gHaZtjNzUathfwpQYlV0xsDi%2BRMoCgndGc2LSv5TrdYXqIkIc9CoA5CXk4%2F6lUQYEaAQ; expires=Mon, 11-Nov-2024 11:43:52 GMT; Max-Age=1200; path=/owncloud; secure; HttpOnly; SameSite=Strict","Content-Security-Policy":"default-src 'none';manifest-src 'self';script-src 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src 'self';connect-src 'self';media-src 'self'","Content-Length":"17","Keep-Alive":"timeout=15, max=93","Connection":"Keep-Alive","Content-Type":"application/json; charset=utf-8"},"info":{"id":"932d8a2c-5ba5-4d81-b382-3fb43e3c01e8","method":"GET","reply":{"cached":false,"duration":33,"durationString":"duration(0h, 0min, 0s, 33ms)","status":200,"version":"http/1.1"},"url":"https://10.40.1.141/owncloud/index.php/app/list"}}} D: 2024-11-11 12:23:52:562(GetRemoteAppRegistryOperation.kt:54)Successful response {"mime-types":[]} D: 2024-11-11 12:23:52:562(GetRemoteAppRegistryOperation.kt:64)Get AppRegistry completed and parsed to AppRegistryResponse(value=[]) D: 2024-11-11 12:23:52:563(ViewModelExt.kt:178)Use case executed: RefreshCapabilitiesFromServerAsyncUseCase with result: Success(data=kotlin.Unit) V: 2024-11-11 12:23:52:563(MainApp.kt:216)FileDisplayActivity onStop() ending V: 2024-11-11 12:23:52:566(FileDisplayActivity.kt:768)onSaveInstanceState() start V: 2024-11-11 12:23:52:567(MainApp.kt:223)FileDisplayActivity onSaveInstanceState(Bundle) starting V: 2024-11-11 12:23:52:567(FileDisplayActivity.kt:779)onSaveInstanceState() end I: 2024-11-11 12:23:55:657(UploadFileFromSystemUseCase.kt:76)Plain upload of /data/user/0/com.owncloud.android/files/owncloud/tmp/[email protected]%2Fowncloud/list_vlastnictva (11).pdf has been enqueued. V: 2024-11-11 12:24:05:489(MainApp.kt:212)UploadListActivity onPause() ending D: 2024-11-11 12:24:05:500(MainApp.kt:117)SettingsActivity onCreate(Bundle) starting V: 2024-11-11 12:24:05:512(MainApp.kt:201)SettingsActivity onStart() starting V: 2024-11-11 12:24:05:517(MainApp.kt:208)SettingsActivity onResume() starting V: 2024-11-11 12:24:06:022(MainApp.kt:216)UploadListActivity onStop() ending V: 2024-11-11 12:24:06:025(MainApp.kt:223)UploadListActivity onSaveInstanceState(Bundle) starting V: 2024-11-11 12:24:07:446(MainApp.kt:212)SettingsActivity onPause() ending D: 2024-11-11 12:24:07:456(MainApp.kt:117)LogsListActivity onCreate(Bundle) starting V: 2024-11-11 12:24:07:467(MainApp.kt:201)LogsListActivity onStart() starting V: 2024-11-11 12:24:07:468(MainApp.kt:208)LogsListActivity onResume() starting V: 2024-11-11 12:24:07:960(MainApp.kt:216)SettingsActivity onStop() ending V: 2024-11-11 12:24:07:961(MainApp.kt:223)SettingsActivity onSaveInstanceState(Bundle) starting V: 2024-11-11 12:24:09:506(MainApp.kt:212)LogsListActivity onPause() ending V: 2024-11-11 12:24:12:063(MainApp.kt:208)LogsListActivity onResume() starting V: 2024-11-11 12:24:12:699(MainApp.kt:212)LogsListActivity onPause() ending V: 2024-11-11 12:24:14:895(MainApp.kt:216)LogsListActivity onStop() ending V: 2024-11-11 12:24:14:900(MainApp.kt:223)LogsListActivity onSaveInstanceState(Bundle) starting V: 2024-11-11 12:24:17:948(MainApp.kt:201)LogsListActivity onStart() starting V: 2024-11-11 12:24:17:959(MainApp.kt:208)LogsListActivity onResume() starting V: 2024-11-11 12:24:17:979(MainApp.kt:212)LogsListActivity onPause() ending

Luiginoo007 avatar Nov 11 '24 11:11 Luiginoo007

thanks. we can see that there are plenty of server requests that are responded, but just a

I: 2024-11-11 12:23:55:657(UploadFileFromSystemUseCase.kt:76)Plain upload of /data/user/0/com.owncloud.android/files/owncloud/tmp/[email protected]%2Fowncloud/list_vlastnictva (11).pdf has been enqueued.

to enqueue the file that (i guess) you selected manually from your file system. My guess is again something related with the firewall, no matter what other clients does (maybe different implementations). The other suspiction is something related with network library. Needed more info here.

jesmrec avatar Nov 11 '24 12:11 jesmrec

yes I am testing manual upload

between my android device and my owncloud server there is "full IP access" (no restriction ) only connection to "outside" "to the world" is blocked

what else should I provide ?

thank you

Luiginoo007 avatar Nov 11 '24 12:11 Luiginoo007

@JuancaG05 @joragua more ideas?

if apps connects directly with server, there should be no problem.

jesmrec avatar Nov 11 '24 13:11 jesmrec

I can see in UploadFileFromContentUriUseCase that the worker has a constraint by default NetworkType.CONNECTED (NetworkType.UNMETERED when the "Only by WiFi" setting is enabled), that the download worker doesn't have. This could mean that the Android system doesn't recognize that there is an available connection when you're connected to your LAN and this constraint is not fulfilled, so the worker is enqueued until this condition is fulfilled. But this same constraint is set in the account discovery worker and as you mentioned, that seems to work, right? @Luiginoo007

There is also one more place apart from uploads where this constraint is used, and it's for the available offline worker. Could you test and confirm if account discovery (the process made just after logging in where capabilities, spaces, root folder, etc are discovered) and available offline downloads (downloads made automatically after 15 minutes when you make a change in a file in the server side) are working? That way we discard causes or we scope the problem 😃 thank you!

JuancaG05 avatar Nov 11 '24 13:11 JuancaG05

Got the same issue! Basic setup: I'm hosting using my desktop. I'm able to upload via 'localhost' on my desktop webpage. I'm able to download and upload from my android webpage. I'm able to download via my android phone app, but all upload were shown as enqueued. I changed the network to unmetered, still unable to upload.

BUT, after some minutes, my phone detected that there is no network through the wifi, it tried to switch to my mobile data, and I then tried to switch back to wifi.

Just when I was switching back and forth, the upload successed! And then everything failed again to stall in enqueued

Z-Y00 avatar Mar 03 '25 09:03 Z-Y00

I've experienced this as well and it's annoying. It only happens when the phone cannot detect a working "internet connection" and has nothing to do with the phone being able to connect to the internal owncloud server (192.168.x.x for example) Disabling connectivity checks helps, but not every Android ROM has this toggle in their internet settings. Something like: adb shell settings put global captive_portal_mode 0 should do the trick. 0 = Disable connectivity checks 1 = Enable connectivity checks

Ke1i avatar Mar 21 '25 05:03 Ke1i

Hi @Z-Y00 and @Ke1i, check my previous comment:

I can see in UploadFileFromContentUriUseCase that the worker has a constraint by default NetworkType.CONNECTED (NetworkType.UNMETERED when the "Only by WiFi" setting is enabled), that the download worker doesn't have. This could mean that the Android system doesn't recognize that there is an available connection when you're connected to your LAN and this constraint is not fulfilled, so the worker is enqueued until this condition is fulfilled. But this same constraint is set in the account discovery worker and as you mentioned, that seems to work, right? @Luiginoo007

There is also one more place apart from uploads where this constraint is used, and it's for the available offline worker. Could you test and confirm if account discovery (the process made just after logging in where capabilities, spaces, root folder, etc are discovered) and available offline downloads (downloads made automatically after 15 minutes when you make a change in a file in the server side) are working? That way we discard causes or we scope the problem 😃 thank you!

If you checked those actions with your server, we could research about it more easily 🙂, thanks!

JuancaG05 avatar Mar 21 '25 07:03 JuancaG05