Open Bug 1909892 Opened 4 months ago Updated 2 months ago

www.dropbox.com - Unable to upload files

Categories

(Web Compatibility :: Site Reports, defect, P1)

Firefox 130
ARM
Android

Tracking

(firefox128 affected, firefox130 affected)

Tracking Status
firefox128 --- affected
firefox130 --- affected

People

(Reporter: ctanase, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs])

User Story

platform:android
impact:workflow-broken
configuration:general
affects:all
branch:release
diagnosis-team:webcompat

Attachments

(1 file)

Environment:
Operating system: Android 11
Firefox version: Firefox Mobile 128.0/130

Steps to reproduce:

  1. Go to https://www.dropbox.com
  2. Log into your account.
  3. Tap on "Upload" and then on "File".
  4. Upload any file.
  5. Observe the behavior.

Expected Behavior:
The file gets uploaded.

Actual Behavior:
The file is stuck in queue.

Notes:

  • Reproduces regardless of the status of ETP
  • Reproduces in Firefox Nightly, and Firefox Release
  • Does not reproduce in Chrome

Created from https://github.com/webcompat/web-bugs/issues/139564

Version: unspecified → Firefox 130
Severity: -- → S2
User Story: (updated)
Priority: -- → P1
User Story: (updated)

We get this far and it looks like isWebkitFile is false which causes us to not get much further:

              this.uploadLocalFiles = async() => {
                const t = this.itemsAsList.filter(
                  (
                    t => t.source === s.FileSource.Computer &&
                    !t.isDir &&
                    t.file &&
                    - 1 !== Q.indexOf(t.status)
                  )
                );
                for (const e of t) e.file &&
                s.isWebkitFile(e.file) &&
                (
                  this.scheduler.addFile(e.file, e.destPath, e, e.contentEncryptionInfo),
                  e.status = s.UploadStatus.Queued,
                  e.bytesUploaded = 0,
                  this.updateParentStatus(e)
                );
                this.isStopped = !1,
                this.notifyAll(),
                await this.scheduler.startUploading(),
                this.notifyAll()

isWebkitFile looks something like: e => 'webkitRelativePath' in e

webkitRelativePath is not exposed on Android because:

- name: dom.webkitBlink.dirPicker.enabled
  type: RelaxedAtomicBool
  value: @IS_NOT_ANDROID@
  mirror: always

setting dom.webkitBlink.dirPicker.enabled=true makes uploading work

dom.webkitBlink.dirPicker.enabled has always been disabled on Android: https://hg.mozilla.org/mozilla-central/rev/5785e6e80c66

Smaug, do you know why?

Flags: needinfo?(smaug)

baku might recall. (Was it that there isn't/wasn't a good file picker or what on Android?)

Flags: needinfo?(smaug) → needinfo?(amarchesini)

Baku said he doesn't remember. I'll investigate.

Flags: needinfo?(amarchesini) → needinfo?(smaug)

<input type=file webkitdirectory> is definitely not working on Android when enabled, but it is not really working on mobile Chrome either.
Need to do some more testing.

Flags: needinfo?(smaug)

There's logging under "FilePickerDelegate" which may help:

const { debug, warn } = GeckoViewUtils.initLogging("FilePickerDelegate");

I guess that GeckoView side have to design delegate API (bug 1674428).

Depends on: 1674428
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: