added error handling messages for Sentry

pull/1384/head
bluearevalo 1 year ago
parent 589901150d
commit e35be8f862

@ -56,70 +56,55 @@ class PangeaRichTextState extends State<PangeaRichText> {
setTextSpan(); setTextSpan();
} }
void _setTextSpan(String newTextSpan) { void _setTextSpan(String newTextSpan) {
try { try {
widget.toolbarController?.toolbar?.textSelection.setMessageText( if (!mounted) return; // Early exit if the widget is no longer in the tree
newTextSpan,
); widget.toolbarController?.toolbar?.textSelection.setMessageText(
if (mounted) { newTextSpan,
setState(() { );
textSpan = newTextSpan; setState(() {
}); textSpan = newTextSpan;
} });
} catch (err, stack) { } catch (error, stackTrace) {
ErrorHandler.logError( ErrorHandler.logError(e: error, s: stackTrace, m: "Error setting text span in PangeaRichText");
e: PangeaWarningError(
err.toString(),
),
s: stack,
);
}
} }
}
void setTextSpan() { void setTextSpan() {
if (_fetchingRepresentation == true) { if (_fetchingRepresentation) {
_setTextSpan( _setTextSpan(widget.pangeaMessageEvent.event.getDisplayEvent(widget.pangeaMessageEvent.timeline).body);
textSpan = widget.pangeaMessageEvent.event return;
.getDisplayEvent(widget.pangeaMessageEvent.timeline) }
.body,
);
return;
}
if (widget.pangeaMessageEvent.eventId.contains("webdebug")) { if (widget.pangeaMessageEvent.eventId.contains("webdebug")) {
debugger(when: kDebugMode); debugger(when: kDebugMode);
} }
repEvent = widget.pangeaMessageEvent repEvent = widget.pangeaMessageEvent
.representationByLanguage( .representationByLanguage(widget.pangeaMessageEvent.messageDisplayLangCode)
widget.pangeaMessageEvent.messageDisplayLangCode, ?.content;
)
?.content; if (repEvent == null) {
setState(() => _fetchingRepresentation = true);
if (repEvent == null) { widget.pangeaMessageEvent
setState(() => _fetchingRepresentation = true); .representationByLanguageGlobal(langCode: widget.pangeaMessageEvent.messageDisplayLangCode)
widget.pangeaMessageEvent .onError((error, stackTrace) => ErrorHandler.logError(e: error, s: stackTrace, m: "Error fetching representation"))
.representationByLanguageGlobal( .then((event) {
langCode: widget.pangeaMessageEvent.messageDisplayLangCode, if (!mounted) return;
) repEvent = event;
.onError( _setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
(error, stackTrace) => }).whenComplete(() {
ErrorHandler.logError(e: error, s: stackTrace), if (mounted) {
) setState(() => _fetchingRepresentation = false);
.then((event) { }
repEvent = event; });
_setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
}).whenComplete(() {
if (mounted) {
setState(() => _fetchingRepresentation = false);
}
});
_setTextSpan(widget.pangeaMessageEvent.body); _setTextSpan(widget.pangeaMessageEvent.body);
} else { } else {
_setTextSpan(repEvent!.text); _setTextSpan(repEvent!.text);
}
} }
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

@ -149,33 +149,41 @@ packages:
description: description:
name: matcher name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.16+1" version: "0.12.16+1"
version: "0.12.16+1"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.0" version: "0.8.0"
version: "0.8.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.12.0" version: "1.12.0"
version: "1.12.0"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.0" version: "1.9.0"
version: "1.9.0"
pedantic: pedantic:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -242,9 +250,11 @@ packages:
description: description:
name: test_api name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.0" version: "0.7.0"
version: "0.7.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -272,3 +282,5 @@ packages:
sdks: sdks:
dart: ">=3.3.0 <4.0.0" dart: ">=3.3.0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54" flutter: ">=3.18.0-18.0.pre.54"
dart: ">=3.3.0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"

@ -148,8 +148,8 @@ flutter:
# #Pangea # #Pangea
# uncomment this to enable mobile builds # uncomment this to enable mobile builds
# causes error with github actions # causes error with github actions
# - .env - .env
# - assets/.env - assets/.env
- assets/pangea/ - assets/pangea/
- assets/pangea/bot_faces/ - assets/pangea/bot_faces/
# Pangea# # Pangea#

Loading…
Cancel
Save