From 486f3f513516d867b68a4d6da804d330f1c6bebc Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Tue, 27 May 2025 10:46:04 -0700 Subject: [PATCH 1/2] Include error code in property editor errors --- .../property_editor/property_editor_inputs.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart index 4c1b68eafd5..dbf56fed560 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart @@ -386,8 +386,7 @@ mixin _PropertyInputMixin on State { final succeeded = errorResponse == null || errorResponse.success; if (!succeeded) { setState(() { - _serverError = - '${errorResponse.errorType?.message ?? 'Encountered unknown error.'} (Property: ${property.name})'; + _serverError = _errorMessage(errorResponse, property: property); }); ga.reportError('property-editor $_serverError'); } @@ -400,4 +399,16 @@ mixin _PropertyInputMixin on State { ), ); } + + String _errorMessage( + EditArgumentResponse errorResponse, { + required EditableProperty property, + }) { + final errorType = errorResponse.errorType; + final errorMessage = + errorType?.message ?? errorResponse.errorMessage ?? 'Unknown error.'; + final propertyInfo = '(Property: ${property.name})'; + final errorCode = errorType?.code != null ? '${errorType!.code}: ' : ''; + return '$errorCode$errorMessage $propertyInfo'; + } } From c690fd434ef9567e28d689073f352e6b396ea377 Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Tue, 27 May 2025 13:05:30 -0700 Subject: [PATCH 2/2] Include both error messages if they exist --- .../ide_shared/property_editor/property_editor_inputs.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart index dbf56fed560..1ec55bfe84a 100644 --- a/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart +++ b/packages/devtools_app/lib/src/standalone_ui/ide_shared/property_editor/property_editor_inputs.dart @@ -405,8 +405,12 @@ mixin _PropertyInputMixin on State { required EditableProperty property, }) { final errorType = errorResponse.errorType; + final messageFromType = errorType?.message; + final messageFromResponse = errorResponse.errorMessage; final errorMessage = - errorType?.message ?? errorResponse.errorMessage ?? 'Unknown error.'; + (messageFromType != null && messageFromResponse != null) + ? '$messageFromType / $messageFromResponse' + : messageFromType ?? messageFromResponse ?? 'Unknown error.'; final propertyInfo = '(Property: ${property.name})'; final errorCode = errorType?.code != null ? '${errorType!.code}: ' : ''; return '$errorCode$errorMessage $propertyInfo';