From a0930e166ca022f77c1c2f020db397efe4d173c5 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Tue, 25 Nov 2025 21:46:53 +0200 Subject: [PATCH] refactor(devtools): Use the same error message as the signal custom formatter for signal errors When signals throw errors on read, the devtools will show the same error message as the signal custom formatter. We also don't log errors anymore to the console as those might be surprising to see as errors and are buggy behavior of the devtools. --- .../src/lib/state-serializer/serialized-descriptor-factory.ts | 4 ++-- devtools/projects/ng-devtools-backend/src/lib/utils.ts | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts index 24a3e4dd1cc..e7e3548971e 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/state-serializer/serialized-descriptor-factory.ts @@ -180,13 +180,13 @@ const getPreview = (propData: TerminalType | CompositeType, isGetterOrSetter: bo if (propData.containerType === 'ReadonlySignal') { const {error, value} = safelyReadSignalValue(propData.prop); if (error) { - return 'ERROR: Could not read signal value. See console for details.'; + return `Signal(⚠️ Error)${error.message ? `: ${error.message}` : ''}`; } return `Readonly Signal(${typeToDescriptorPreview[propData.type](value)})`; } else if (propData.containerType === 'WritableSignal') { const {error, value} = safelyReadSignalValue(propData.prop); if (error) { - return 'ERROR: Could not read signal value. See console for details.'; + return `Signal(⚠️ Error)${error.message ? `: ${error.message}` : ''}`; } return `Signal(${typeToDescriptorPreview[propData.type](value)})`; } diff --git a/devtools/projects/ng-devtools-backend/src/lib/utils.ts b/devtools/projects/ng-devtools-backend/src/lib/utils.ts index 3f423c3e2e9..087ff34cb57 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/utils.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/utils.ts @@ -50,7 +50,6 @@ export function safelyReadSignalValue(signal: any): {error?: Error; value?: any} const value = signal(); return {error: undefined, value}; } catch (error) { - console.error('[Angular DevTools]: Error reading signal value:', error); return {error: error as Error, value: undefined}; } }