@@ -40,7 +40,6 @@ function debugModule(module, runtime) {
4040 var recordedEvents = [];
4141 var asyncCallbacks = [];
4242 var watchTracker = Elm.Native.Debug.make(runtime).watchTracker;
43− var timerOffset = 0;
4443 var now = 0;
4544
4645 function wrapNotify(id, v) {
@@ -70,7 +69,7 @@ function debugModule(module, runtime) {
7069 var cbObj = { func:func, delayMs:delayMs, timerId:0, executed:false };
7170 var timerId = setTimeout(function() {
7271 cbObj.executed = true;
73− func(timerOffset);
72+ func();
7473 }, delayMs);
7574 cbObj.timerId = timerId;
7675 asyncCallbacks.push(cbObj);
@@ -110,10 +109,6 @@ function debugModule(module, runtime) {
110109 recordedEvents = events.slice();
111110 }
112111
113− function resetTimeOffset() {
114− timerOffset = 0;
115− }
116−
117112 function setPaused() {
118113 programPaused = true;
119114 clearAsyncCallbacks();
@@ -122,13 +117,14 @@ function debugModule(module, runtime) {
122117 }
123118
124119 function setContinue(position) {
125− timerOffset += Date.now() - now;
120+ var timerDelay = Date.now() - now;
121+ Elm.timer.addDelay(timerDelay);
126122 programPaused = false;
127123 if (position > 0) {
128124 // If we're not unpausing at the head, then we need to dump the
129125 // events that are ahead of where we're continuing.
130126 recordedEvents = recordedEvents.slice(0,position);
131− executeCallbacks(asyncCallbacks, false, timerOffset);
127+ executeCallbacks(asyncCallbacks, false);
132128 }
133129 tracePath.startRecording();
134130 }
@@ -173,7 +169,6 @@ function debugModule(module, runtime) {
173169 getRecordedEventAt: getRecordedEventAt,
174170 copyRecordedEvents: copyRecordedEvents,
175171 loadRecordedEvents: loadRecordedEvents,
176− resetTimeOffset: resetTimeOffset,
177172 getPaused: getPaused,
178173 setPaused: setPaused,
179174 setContinue: setContinue,
@@ -197,8 +192,7 @@ function debuggerInit(debugModule, runtime, hotSwapState /* =undefined */) {
197192 debugModule.tracePath.clearTraces();
198193 debugModule.clearRecordedEvents();
199194 debugModule.setContinue(0);
200− debugModule.resetTimeOffset();
201− executeCallbacks(debugModule.initialAsyncCallbacks, true, 0);
195+ executeCallbacks(debugModule.initialAsyncCallbacks, true);
202196 }
203197
204198 function pauseProgram() {
@@ -453,12 +447,12 @@ function tracePathInit(runtime, mainNode) {
453447}
454448
455449
456−function executeCallbacks(callbacks, reexecute, offset) {
450+function executeCallbacks(callbacks, reexecute) {
457451 callbacks.forEach(function(timer) {
458452 if (reexecute || !timer.executed) {
459453 var func = timer.func;
460454 timer.executed = true;
461− func(offset);
455+ func();
462456 }
463457 });
464458}