always send the latest position when emitting updatePosition event

Avoid sending outdated position by capturing the current position in
$scope.currentPostion on every call and sending it the when the timer
for updatePosition runs.
This commit is contained in:
Brian Gough 2015-04-20 14:26:56 +01:00
parent c583903e04
commit d0c759c6fb

View file

@ -82,13 +82,15 @@ define [
sendCursorPositionUpdate: (position) ->
if position?
@$scope.currentPosition = position # keep track of the latest position
if !@cursorUpdateTimeout?
@cursorUpdateTimeout = setTimeout ()=>
doc_id = @$scope.editor.open_doc_id
# always send the latest position to other clients
@ide.socket.emit "clientTracking.updatePosition", {
row: position.row
column: position.column
row: @$scope.currentPosition?.row
column: @$scope.currentPosition?.column
doc_id: doc_id
}