JsonCacheInfoRepository: FormatException: Unexpected end of input (at character 1) ^
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
Línea de trabajo
Comienza en json_cache_info_repository.dart, en JsonCacheInfoRepository._readFile, alrededor de la línea 143, e inspecciona cómo un archivo JSON de base de datos vacío llega a jsonDecode. Reproduce o cubre el caso de un archivo vacío y, después, verifica que la inicialización se complete sin una FormatException, manteniendo la carga normal de JSON.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
🐛 Bug Report
occasionally this error is generated when initializing CacheManager with JsonCacheInfoRepository
Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: FormatException: Unexpected end of input (at character 1)
^
at .jsonDecode(dart:convert)
at JsonCacheInfoRepository._readFile(json_cache_info_repository.dart:143)
at JsonCacheInfoRepository.open(json_cache_info_repository.dart:40)
at new CacheStore.<fn>(cache_store.dart:34)
This happens when the {databaseName}.json file is created but empty and jsonString = ""
JsonCacheInfoRepository.dart: _readFile()
final json = jsonDecode(jsonString) as List<dynamic>;
A possible solution would be to check that the file is not empty before decoding the json
if (await file.exists() && await file.length() > 0) {
try {
final jsonString = await file.readAsString();
final json = jsonDecode(jsonString) as List<dynamic>;
note: I don't know why the json file is empty and not with an empty list []
Expected behavior
no error
Configuration
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.16.1, on Microsoft Windows [Versi¢n 10.0.22631.3296], locale es-CL)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2022 17.8.2)
[√] Android Studio (version 2022.3)
[√] VS Code (version 1.87.2)
[√] Connected device (4 available)
[√] Network resources
• No issues found!
Version: 3.3.1
Platform:
- 📱 iOS
- 🤖 Android 13 (AP I33)
- Lenguaje dominante
- Dart
- Estrellas
- 812
- Forks
- 511
- Merge medio
- 28 min
- PR fusionados (30 d)
- 12
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Baseflow/flutter_cache_manager
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Baseflow/flutter_cache_manager#535 ·
Los mantenedores suelen responder en 1 día
-
Retaining original file namesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
Baseflow/flutter_cache_manager#508 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
Baseflow/flutter_cache_manager#507 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
sqflite_android updateAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 30/100
Baseflow/flutter_cache_manager#501 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Baseflow/flutter_cache_manager#500 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de Baseflow/flutter_cache_manager
Issues similares
-
[BUG]暗黑模式下延迟字体颜色Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
area: youtube bug issue linux needs logs windows
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Notsfsssf/pixez-flutter#1379 ·
Los mantenedores suelen responder en 3 días