From c2eb49845f7daa5b92057a4f4d76de1d0e07d63f Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 31 Oct 2016 16:56:49 +0000 Subject: [PATCH] Revert "Make very simple shallow copy of aceDelta when there's an undo error" This reverts commit 1d77a95f17dde6f8792bca1989d65952474b144c. --- .../directives/aceEditor/undo/UndoManager.coffee | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee index 8b32bb7c85..40f1ba7c82 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor/undo/UndoManager.coffee @@ -233,11 +233,16 @@ define [ start = aceDelta.start if !start? error = new Error("aceDelta had no start event.") - inspectedAceDelta = {} - for key, value of aceDelta - inspectedAceDelta[key] = typeof value + JSONstringifyWithCycles = (o) -> + seen = [] + return JSON.stringify o, (k,v) -> + if (typeof v == 'object') + if ( !seen.indexOf(v) ) + return '__cycle__' + seen.push(v); + return v Raven?.captureException(error, { - aceDelta: JSON.stringify(inspectedAceDelta) + aceDelta: JSONstringifyWithCycles(aceDelta) }) throw error linesBefore = docLines.slice(0, start.row)