added error handling messages for Sentry
This commit is contained in:
parent
589901150d
commit
e35be8f862
3 changed files with 61 additions and 64 deletions
|
|
@ -56,70 +56,55 @@ class PangeaRichTextState extends State<PangeaRichText> {
|
|||
setTextSpan();
|
||||
}
|
||||
|
||||
void _setTextSpan(String newTextSpan) {
|
||||
try {
|
||||
widget.toolbarController?.toolbar?.textSelection.setMessageText(
|
||||
newTextSpan,
|
||||
);
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
textSpan = newTextSpan;
|
||||
void _setTextSpan(String newTextSpan) {
|
||||
try {
|
||||
if (!mounted) return; // Early exit if the widget is no longer in the tree
|
||||
|
||||
widget.toolbarController?.toolbar?.textSelection.setMessageText(
|
||||
newTextSpan,
|
||||
);
|
||||
setState(() {
|
||||
textSpan = newTextSpan;
|
||||
});
|
||||
} catch (error, stackTrace) {
|
||||
ErrorHandler.logError(e: error, s: stackTrace, m: "Error setting text span in PangeaRichText");
|
||||
}
|
||||
}
|
||||
|
||||
void setTextSpan() {
|
||||
if (_fetchingRepresentation) {
|
||||
_setTextSpan(widget.pangeaMessageEvent.event.getDisplayEvent(widget.pangeaMessageEvent.timeline).body);
|
||||
return;
|
||||
}
|
||||
|
||||
if (widget.pangeaMessageEvent.eventId.contains("webdebug")) {
|
||||
debugger(when: kDebugMode);
|
||||
}
|
||||
|
||||
repEvent = widget.pangeaMessageEvent
|
||||
.representationByLanguage(widget.pangeaMessageEvent.messageDisplayLangCode)
|
||||
?.content;
|
||||
|
||||
if (repEvent == null) {
|
||||
setState(() => _fetchingRepresentation = true);
|
||||
widget.pangeaMessageEvent
|
||||
.representationByLanguageGlobal(langCode: widget.pangeaMessageEvent.messageDisplayLangCode)
|
||||
.onError((error, stackTrace) => ErrorHandler.logError(e: error, s: stackTrace, m: "Error fetching representation"))
|
||||
.then((event) {
|
||||
if (!mounted) return;
|
||||
repEvent = event;
|
||||
_setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
|
||||
}).whenComplete(() {
|
||||
if (mounted) {
|
||||
setState(() => _fetchingRepresentation = false);
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (err, stack) {
|
||||
ErrorHandler.logError(
|
||||
e: PangeaWarningError(
|
||||
err.toString(),
|
||||
),
|
||||
s: stack,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void setTextSpan() {
|
||||
if (_fetchingRepresentation == true) {
|
||||
_setTextSpan(
|
||||
textSpan = widget.pangeaMessageEvent.event
|
||||
.getDisplayEvent(widget.pangeaMessageEvent.timeline)
|
||||
.body,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (widget.pangeaMessageEvent.eventId.contains("webdebug")) {
|
||||
debugger(when: kDebugMode);
|
||||
}
|
||||
|
||||
repEvent = widget.pangeaMessageEvent
|
||||
.representationByLanguage(
|
||||
widget.pangeaMessageEvent.messageDisplayLangCode,
|
||||
)
|
||||
?.content;
|
||||
|
||||
if (repEvent == null) {
|
||||
setState(() => _fetchingRepresentation = true);
|
||||
widget.pangeaMessageEvent
|
||||
.representationByLanguageGlobal(
|
||||
langCode: widget.pangeaMessageEvent.messageDisplayLangCode,
|
||||
)
|
||||
.onError(
|
||||
(error, stackTrace) =>
|
||||
ErrorHandler.logError(e: error, s: stackTrace),
|
||||
)
|
||||
.then((event) {
|
||||
repEvent = event;
|
||||
_setTextSpan(repEvent?.text ?? widget.pangeaMessageEvent.body);
|
||||
}).whenComplete(() {
|
||||
if (mounted) {
|
||||
setState(() => _fetchingRepresentation = false);
|
||||
}
|
||||
});
|
||||
|
||||
_setTextSpan(widget.pangeaMessageEvent.body);
|
||||
} else {
|
||||
_setTextSpan(repEvent!.text);
|
||||
}
|
||||
|
||||
_setTextSpan(widget.pangeaMessageEvent.body);
|
||||
} else {
|
||||
_setTextSpan(repEvent!.text);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
|||
|
|
@ -149,33 +149,41 @@ packages:
|
|||
description:
|
||||
name: matcher
|
||||
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
||||
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.12.16+1"
|
||||
version: "0.12.16+1"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
||||
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.0"
|
||||
version: "0.8.0"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
|
||||
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.0"
|
||||
version: "1.12.0"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.0"
|
||||
version: "1.9.0"
|
||||
pedantic:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
|
|
@ -242,9 +250,11 @@ packages:
|
|||
description:
|
||||
name: test_api
|
||||
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
|
||||
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.0"
|
||||
version: "0.7.0"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -272,3 +282,5 @@ packages:
|
|||
sdks:
|
||||
dart: ">=3.3.0 <4.0.0"
|
||||
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
|
||||
# uncomment this to enable mobile builds
|
||||
# causes error with github actions
|
||||
# - .env
|
||||
# - assets/.env
|
||||
- .env
|
||||
- assets/.env
|
||||
- assets/pangea/
|
||||
- assets/pangea/bot_faces/
|
||||
# Pangea#
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue