From a4b9699b0ca8b03e328b144eea1fb9874af9b267 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Tue, 25 Feb 2025 14:38:39 +0100 Subject: [PATCH 1/3] fix: Log unhandled Snap errors --- packages/snaps-controllers/src/snaps/SnapController.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index 80ea54e4a0..de5451a86d 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -1507,7 +1507,10 @@ export class SnapController extends BaseController< ); } - _onUnhandledSnapError(snapId: string, _error: SnapErrorJson) { + _onUnhandledSnapError(snapId: string, error: SnapErrorJson) { + // Log the error that caused the crash + // so it gets raised to the developer for debugging purposes. + logError(error); this.stopSnap(snapId as SnapId, SnapStatusEvents.Crash).catch( (stopSnapError) => { // TODO: Decide how to handle errors. From dab8b24818646408725fb2256ada848dcfc567e9 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Tue, 25 Feb 2025 15:17:46 +0100 Subject: [PATCH 2/3] Update packages/snaps-controllers/src/snaps/SnapController.ts Co-authored-by: Maarten Zuidhoorn --- packages/snaps-controllers/src/snaps/SnapController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index de5451a86d..1ac389ed68 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -1510,7 +1510,7 @@ export class SnapController extends BaseController< _onUnhandledSnapError(snapId: string, error: SnapErrorJson) { // Log the error that caused the crash // so it gets raised to the developer for debugging purposes. - logError(error); + logError(`Unhandled error from "${snapId}": ${error}`); this.stopSnap(snapId as SnapId, SnapStatusEvents.Crash).catch( (stopSnapError) => { // TODO: Decide how to handle errors. From e69b1193352bbb4b7b420f1d9ec61e71060eba1f Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Tue, 25 Feb 2025 15:51:19 +0100 Subject: [PATCH 3/3] Fix formatting --- packages/snaps-controllers/src/snaps/SnapController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/snaps-controllers/src/snaps/SnapController.ts b/packages/snaps-controllers/src/snaps/SnapController.ts index 1ac389ed68..982c2bfbfc 100644 --- a/packages/snaps-controllers/src/snaps/SnapController.ts +++ b/packages/snaps-controllers/src/snaps/SnapController.ts @@ -1510,7 +1510,7 @@ export class SnapController extends BaseController< _onUnhandledSnapError(snapId: string, error: SnapErrorJson) { // Log the error that caused the crash // so it gets raised to the developer for debugging purposes. - logError(`Unhandled error from "${snapId}": ${error}`); + logError(`Unhandled error from "${snapId}":`, error); this.stopSnap(snapId as SnapId, SnapStatusEvents.Crash).catch( (stopSnapError) => { // TODO: Decide how to handle errors.