thunder icon indicating copy to clipboard operation
thunder copied to clipboard

Error and crash reporting

Open ggichure opened this issue 1 year ago • 0 comments

Pull Request Description

This PR introduces error handling capabilities to the application, enabling the detection and reporting of errors. Leveraging the catcher_2 package, crashes are logged silently to a logs.txt file. Additionally, users can conveniently access and copy log data via the "Settings > Debug" section of the application.

sample logs

============================== CATCHER 2 LOG ==============================
Crash occurred on 2024-05-15 19:02:41.338115

------- DEVICE INFO -------
id: 
board: 
bootloader: 
brand: 
device: 
display: 
fingerprint:
hardware: qcom
host: 
isPhysicalDevice: true
manufacturer: 
model: 
product: spes_global
tags: release-keys
type: user
versionBaseOs: 
versionCodename: REL
versionIncremental: 1692578867
versionPreviewSdk: 0
versionRelease: 13
versionSdk: 33
versionSecurityPatch: 2023-08-05

------- APP INFO -------
environment: debug
version: 0.4.0-2
appName: Thunder
buildNumber: 53
packageName: com.hjiangsu.thunder.dev

---------- ERROR ----------
HttpException: Invalid statusCode: 400, uri = https://feddit.de/pictrs/image/A3hLXXRbsY.png?

------- STACK TRACE -------
---------- ERROR ----------
Exception: Invalid image data

------- STACK TRACE -------
#0      _futurize (dart:ui/painting.dart:6966:5)
#1      ImageDescriptor.encoded (dart:ui/painting.dart:6775:12)
#2      instantiateImageCodecWithSize (dart:ui/painting.dart:2287:60)
#3      PaintingBinding.instantiateImageCodecWithSize (package:flutter/src/painting/binding.dart:141:15)
#4      ImageLoader.loadImageAsync.<anonymous closure> (package:cached_network_image/src/image_provider/_image_loader.dart:65:22)
<asynchronous suspension>
#5      ImageLoader._load (package:cached_network_image/src/image_provider/_image_loader.dart:124:27)
<asynchronous suspension>
#6      new MultiImageStreamCompleter.<anonymous closure> (package:cached_network_image/src/image_provider/multi_image_stream_completer.dart:26:7)
<asynchronous suspension>

Issue Being Fixed

Issue Number: #340

Screenshots / Recordings

Screenshot_20240515-200628_Thunder Screenshot_20240516-073649_Thunder

Checklist

  • [x] Did you update CHANGELOG.md?
  • [x] Did you use localized strings where applicable?
  • [ ] Did you add semanticLabels where applicable for accessibility?

ggichure avatar May 15 '24 17:05 ggichure