JsonCacheInfoRepository: FormatException: Unexpected end of input (at character 1) ^
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Bắt đầu trong json_cache_info_repository.dart tại JsonCacheInfoRepository._readFile, khoảng dòng 143, và kiểm tra cách một tệp JSON cơ sở dữ liệu rỗng đi đến jsonDecode. Tái hiện hoặc bao quát trường hợp tệp rỗng, sau đó xác minh rằng quá trình khởi tạo hoàn tất mà không có FormatException, đồng thời vẫn giữ nguyên việc tải JSON thông thường.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
🐛 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)
- Ngôn ngữ chính
- Dart
- Star
- 810
- Fork
- 510
- Merge trung bình
- 2 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 11
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Baseflow/flutter_cache_manager
-
Retaining original file names Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
Baseflow/flutter_cache_manager#507 · 1 bình luận ·
-
sqflite_android update Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 30/100
Baseflow/flutter_cache_manager#501 · 1 bình luận · 3 reaction ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Baseflow/flutter_cache_manager#500 · 1 bình luận · 3 reaction ·
-
Use a custom key for caching Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 30/100
Baseflow/flutter_cache_manager#495 · 1 bình luận ·
Tất cả issue của Baseflow/flutter_cache_manager
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
code quality good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Suwayomi/Suwayomi-Tsumiru#479 ·
-
Build Failure: agora_rtc_engine compiled against android-31 while dependencies require android-34+ Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 92/100
conceptadev/noir#95 ·