Storage upload progress is too sparse to be useful

Abierto
#8,722 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
57/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
android, java
Área
backend, mobile

Línea de trabajo

Start in firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java, especially the cited sections around chunk sizing and progress updates. Trace when progress is emitted for a 48 MB upload and check for related tests in the storage module. Done means large Android uploads report progress often enough to avoid long gaps while preserving correct progress values.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

api: storage
[READ] Step 1: Are you in the right place?
[REQUIRED] Step 2: Describe your environment
  • Android Studio version: Rabbit
  • Firebase Component: Storage
  • Component version: 22.0.1
[REQUIRED] Step 3: Describe the problem

When users upload larger files, progress updates from firebase seem to stop, which causes the user to think the upload is stuck. The reason for this seems to be:

  1. The Android implementation of StorageTask only emits progress when a chunk finishes
  2. The chunk size doubles until it reaches 32mb

So a ~64mb file gets a final update around 32mb, then no further progress updates until the upload finishes. That's not an ideal user experience.

I haven't seen this behavior on iOS, so I assume there progress is based on fixed byte sizes or is time based, rather than the total size of the chunk.

Steps to reproduce:

Upload a 48mb file on Android

Relevant Code:

https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L247-L254

https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L489
https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L60
https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L484
https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L575
https://github.com/firebase/firebase-android-sdk/blob/f71ec348f8fe73abe630a7813a94e5636eb81983/firebase-storage/src/main/java/com/google/firebase/storage/UploadTask.java#L601

Lenguaje dominante
Java
Estrellas
2.6k
Forks
733
Merge medio
2 d 15 h
PR fusionados (30 d)
72

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de firebase/firebase-android-sdk

Todos los issues de firebase/firebase-android-sdk

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.