     messageCallbacks =
       init: @onRecievedInit
       sync: @onRecievedSync
-      open: @onRecievedOpen
-      fetch: @onRecievedFetch
+      open: @onRecievedFetchOrOpen
+      fetch: @onRecievedFetchOrOpen
       change: @onRecievedChange
       rescue: @onRecievedRescue
 

    @treeView()?.selectEntryForPath(path)
    @sync(parent.path)

  onRecievedFetch: ({path, content}) =>
    # TODO: preserve full stats
    node = @getNode(path)
    node.setContent(content)

    else
      fs.writeFile(node.localPath(), node.read())

  onRecievedRescue: ({message, backtrace}) ->
    console.log 'RESCUE:', message, backtrace

