mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 21:35:42 +00:00 
			
		
		
		
	Catch errors (#469)
* Catch error comparing dropdown items * Update version number and release notes * Data conversion * Catch error when loading image from network * Suppress error reporting for statusCode -1
This commit is contained in:
		| @@ -1,3 +1,8 @@ | ||||
| ### 0.14.1 - January 2024 | ||||
| --- | ||||
|  | ||||
| - Squashing bugs | ||||
|  | ||||
| ### 0.14.0 - December 2023 | ||||
| --- | ||||
|  | ||||
|   | ||||
							
								
								
									
										15
									
								
								lib/api.dart
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								lib/api.dart
									
									
									
									
									
								
							| @@ -1452,11 +1452,16 @@ class InvenTreeAPI { | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     return getImage( | ||||
|         imageUrl, | ||||
|         width: size, | ||||
|         height: size | ||||
|     ); | ||||
|     try { | ||||
|       return getImage( | ||||
|           imageUrl, | ||||
|           width: size, | ||||
|           height: size | ||||
|       ); | ||||
|     } catch (error, stackTrace) { | ||||
|       sentryReportError("_getThumbnail", error, stackTrace); | ||||
|       return null; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   /* | ||||
|   | ||||
| @@ -582,7 +582,16 @@ class APIFormField { | ||||
|           return false; | ||||
|         } | ||||
|  | ||||
|         return item["pk"].toString() == selectedItem["pk"].toString(); | ||||
|         bool result = false; | ||||
|  | ||||
|         try { | ||||
|           result = item["pk"].toString() == selectedItem["pk"].toString(); | ||||
|         } catch (error) { | ||||
|           // Catch any conversion errors | ||||
|           result = false; | ||||
|         } | ||||
|  | ||||
|         return result; | ||||
|       }); | ||||
|   } | ||||
|  | ||||
| @@ -606,7 +615,11 @@ class APIFormField { | ||||
|     Map<String, dynamic> data = {}; | ||||
|  | ||||
|     try { | ||||
|       data = Map<String, dynamic>.from((item ?? {}) as Map); | ||||
|       if (item is Map<String, dynamic>) { | ||||
|         data = Map<String, dynamic>.from(item); | ||||
|       } else { | ||||
|         data = {}; | ||||
|       } | ||||
|     } catch (error, stackTrace) { | ||||
|       data = {}; | ||||
|  | ||||
|   | ||||
| @@ -629,15 +629,17 @@ class InvenTreeModel { | ||||
|  | ||||
|     if (!response.isValid() || response.data == null || response.data is! Map) { | ||||
|  | ||||
|       // Report error | ||||
|       reportModelError( | ||||
|           "InvenTreeModel.getModel() returned invalid response", | ||||
|           response, | ||||
|           context: { | ||||
|             "filters": filters.toString(), | ||||
|             "pk": pk, | ||||
|           } | ||||
|       ); | ||||
|       if (response.statusCode != -1) { | ||||
|         // Report error | ||||
|         reportModelError( | ||||
|             "InvenTreeModel.getModel() returned invalid response", | ||||
|             response, | ||||
|             context: { | ||||
|               "filters": filters.toString(), | ||||
|               "pk": pk, | ||||
|             } | ||||
|         ); | ||||
|       } | ||||
|  | ||||
|       showServerError( | ||||
|         url, | ||||
|   | ||||
							
								
								
									
										36
									
								
								pubspec.lock
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								pubspec.lock
									
									
									
									
									
								
							| @@ -125,26 +125,26 @@ packages: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: cached_network_image | ||||
|       sha256: fd3d0dc1d451f9a252b32d95d3f0c3c487bc41a75eba2e6097cb0b9c71491b15 | ||||
|       sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.2.3" | ||||
|     version: "3.3.1" | ||||
|   cached_network_image_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: cached_network_image_platform_interface | ||||
|       sha256: bb2b8403b4ccdc60ef5f25c70dead1f3d32d24b9d6117cfc087f496b178594a7 | ||||
|       sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.0.0" | ||||
|     version: "4.0.0" | ||||
|   cached_network_image_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: cached_network_image_web | ||||
|       sha256: b8eb814ebfcb4dea049680f8c1ffb2df399e4d03bf7a352c775e26fa06e02fa0 | ||||
|       sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.0.2" | ||||
|     version: "1.1.1" | ||||
|   camera: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
| @@ -374,22 +374,14 @@ packages: | ||||
|     description: flutter | ||||
|     source: sdk | ||||
|     version: "0.0.0" | ||||
|   flutter_blurhash: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: flutter_blurhash | ||||
|       sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "0.7.0" | ||||
|   flutter_cache_manager: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: flutter_cache_manager | ||||
|       sha256: "32cd900555219333326a2d0653aaaf8671264c29befa65bbd9856d204a4c9fb3" | ||||
|       sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "3.3.0" | ||||
|     version: "3.3.1" | ||||
|   flutter_launcher_icons: | ||||
|     dependency: "direct dev" | ||||
|     description: | ||||
| @@ -689,10 +681,10 @@ packages: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: octo_image | ||||
|       sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143" | ||||
|       sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.0.2" | ||||
|     version: "2.0.0" | ||||
|   one_context: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
| @@ -789,14 +781,6 @@ packages: | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "2.1.6" | ||||
|   pedantic: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: pedantic | ||||
|       sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" | ||||
|       url: "https://pub.dev" | ||||
|     source: hosted | ||||
|     version: "1.11.1" | ||||
|   petitparser: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| name: inventree | ||||
| description: InvenTree stock management | ||||
|  | ||||
| version: 0.14.0+78 | ||||
| version: 0.14.1+79 | ||||
|  | ||||
| environment: | ||||
|   sdk: ">=2.19.5 <3.13.0" | ||||
| @@ -9,7 +9,7 @@ environment: | ||||
| dependencies: | ||||
|   adaptive_theme: ^3.3.0                  # Theme management (e.g. dark mode) | ||||
|   audioplayers: ^4.1.0                    # Play audio files | ||||
|   cached_network_image: ^3.2.3            # Download and cache remote images | ||||
|   cached_network_image: ^3.3.1            # Download and cache remote images | ||||
|   camera: ^0.10.3                         # Camera | ||||
|   cupertino_icons: ^1.0.3 | ||||
|   currency_formatter: ^2.0.1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user