diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor/track-changes/TrackChangesManager.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor/track-changes/TrackChangesManager.coffee index d869158e8a..f5059c6820 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor/track-changes/TrackChangesManager.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor/track-changes/TrackChangesManager.coffee @@ -67,8 +67,13 @@ define [ @nextUpdateMetaData = null else user_id = window.user.id - + + was_tracking = @changesTracker.track_changes + if @dont_track_next_update + @changesTracker.track_changes = false + @dont_track_next_update = false @applyChange(e, { user_id }) + @changesTracker.track_changes = was_tracking # TODO: Just for debugging, remove before going live. setTimeout () => @@ -122,8 +127,7 @@ define [ change = @changesTracker.getChange(change_id) return if !change? @changesTracker.removeChangeId(change_id) - is_tracking = @changesTracker.track_changes - @changesTracker.track_changes = false + @dont_track_next_update = true session = @editor.getSession() if change.op.d? content = change.op.d @@ -138,9 +142,7 @@ define [ session.remove({start, end}) else throw new Error("unknown change: #{JSON.stringify(change)}") - setTimeout () => - @changesTracker.track_changes = is_tracking - , 0 + checkMapping: () -> session = @editor.getSession()