Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Multiple file upload doesn't work in Android WebView. #39515

Open
5 of 8 tasks
ddscentral opened this issue Jul 20, 2023 · 4 comments
Open
5 of 8 tasks

[Bug]: Multiple file upload doesn't work in Android WebView. #39515

ddscentral opened this issue Jul 20, 2023 · 4 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 27-feedback enhancement feature: files

Comments

@ddscentral
Copy link

⚠️ This issue respects the following points: ⚠️

Bug description

When trying to upload multiple files from Android apps built-in WebView browser (eg. Facebook, Messenger, etc.), nothing happens. No errors are shown and nothing is reported in log files.
Single file uploads work fine.
In my case I'm trying to upload to a shared directory link which I've set up to share photos.
Multiple file uploads fork fine in Chrome but it's very inconvenient for users, since they have to manually open the link instead of just tapping on it from an app (which will open the link inside WebView).

Steps to reproduce

  1. Open Nextcloud using Android's built-in WebView browser (Open a link to Nextcloud from any app, eg. Facebook, Messenger, Gmail, etc.). Log in if necessary.
  2. Try to upload multiple files.

Expected behavior

File upload starts.

Installation method

Community Manual installation with Archive

Nextcloud Server version

27

Operating system

None

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
           "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "27.0.0.8",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "htaccess.RewriteBase": "\/",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "maintenance": false,
        "filelocking.enabled": false,
        "loglevel": 0,
        "preview_concurrency_new": 4,
        "preview_concurrency_all": 4,
        "preview_max_memory": 128
    }
}

List of activated Apps

Enabled:
  - activity: 2.19.0
  - bruteforcesettings: 2.7.0
  - circles: 27.0.0
  - cloud_federation_api: 1.10.0
  - comments: 1.17.0
  - contactsinteraction: 1.8.0
  - dashboard: 7.7.0
  - dav: 1.27.0
  - federatedfilesharing: 1.17.0
  - federation: 1.17.0
  - files: 1.22.0
  - files_pdfviewer: 2.8.0
  - files_rightclick: 1.6.0
  - files_sharing: 1.19.0
  - files_trashbin: 1.17.0
  - files_versions: 1.20.0
  - firstrunwizard: 2.16.0
  - logreader: 2.12.0
  - lookup_server_connector: 1.15.0
  - nextcloud_announcements: 1.16.0
  - notifications: 2.15.0
  - oauth2: 1.15.0
  - password_policy: 1.17.0
  - photos: 2.3.0
  - privacy: 1.11.0
  - provisioning_api: 1.17.0
  - recommendations: 1.6.0
  - related_resources: 1.2.0
  - serverinfo: 1.17.0
  - settings: 1.9.0
  - sharebymail: 1.17.0
  - support: 1.10.0
  - survey_client: 1.15.0
  - systemtags: 1.17.0
  - text: 3.8.0
  - theming: 2.2.0
  - twofactor_backupcodes: 1.16.0
  - updatenotification: 1.17.0
  - user_status: 1.7.0
  - viewer: 2.1.0
  - weather_status: 1.7.0
  - workflowengine: 2.9.0
Disabled:
  - admin_audit: 1.17.0
  - encryption: 2.15.0
  - files_external: 1.19.0
  - sharerenamer: 3.2.0 (installed 3.2.0)
  - suspicious_login: 5.0.0
  - twofactor_totp: 9.0.0
  - user_ldap: 1.17.0

Nextcloud Signing status

Signature check passes. I prefer not to provide output as my Nextcloud directory contains other files unrelated to Nextcloud.

Nextcloud Logs

The logs are too large to include here, I will create an attachment.

Additional info

Tested using my Samsung S22 Ultra (Android 13) and some other devices. Behavior is exactly the same on all devices I've tested.

@ddscentral ddscentral added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Jul 20, 2023
@ddscentral
Copy link
Author

nextcloud.log

@joshtrichards
Copy link
Member

My understanding is that WebView is only intended for light usage (e.g. information viewing) and things like error handling (even for things like form submissions) are controlled and specified by the app that created the WebView:

https://developer.android.com/develop/ui/views/layout/webapps

https://developer.android.com/reference/android/webkit/WebView

https://developer.android.com/develop/ui/views/layout/webapps/webview

Rather than manually opening links, most (but not all) apps tend to leave a "Open in Chrome/Browser" option on the dots menu in WebView scenarios.

Another possibility might be having links auto-open in the native Nextcloud Files client rather than in anyone else's WebView...

@ddscentral
Copy link
Author

ddscentral commented Aug 28, 2023

Thanks. Indeed it appears the app has to specifically support multiple uploads in it's WebView integration.
IIRC, it's possible to make some apps use an external browser, but again, the app has to support this. And not all do since the developers do not want users to leave the app to open links.

@skjnldsv
Copy link
Member

Don't you get an unsupported browser warning when you open your nextcloud instance in an android ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 27-feedback enhancement feature: files
Projects
None yet
Development

No branches or pull requests

4 participants