Add OperationRouter.getHasLocalUnsyncedOpsAndUpdates/OperationRouter.unsubscribeHasLocalUnsyncedOpsUpdates
Fix condition when to log on replies to Pullbox servers
Fix collabeditor.js to use the right memberid and sessionid on server.leaveSession(...) call
check if localSelectionView exists in gui.SessionView.onCursorMoved, as done for localCaret
make failCb a needed argument to Server.joinSession and Server.leaveSession
Catch failing playback of operations or unknown ops coming from server
Add OperationRouter.getHasSessionHostConnectionAndUpdates/OperationRouter.unsubscribeHasSessionHostConnectionUpdates
Catch any errors in the OperationRouter & calling the server and report in separate callback
Export errors and other oprouter states in the Editor API, experimental use in collabeditor.js
For OperationRouter turn explicit subscription methods into generic ones + explicit state getters
Add API dox for Editor.addEventListener, with possible event ids and error codes
Merge pull request #239 from kossebau/escalateErrors

Escalate errors and state change events into the Editor API
Don't synchronize browser & WebODF selections unnecessarily

The window selection only needs to be synchronized with WebODF on a
mouse down operation. In all other cases, the selection doesn't need to
be maintained. Removing the selection most of the time significantly
helps performance as there is heavy costs to modifying part of a DOM
tree that is selected.

In order to allow cut/copy to continue to function, an event trap was
necessary that "holds" the selection after mouse-up. This is set as
content editable to allow the cut/copy events to be fired in Firefox and
Safari.
Reset the browser selection on drag end

A drag end will consume the corresponding mouse up operation, meaning
the window selection is not cleared. Cope with this by listening for
the drag event and clearing the selection.
Merge pull request #232 from peitschie/event-trap-v2

Don't synchronize browser & WebODF selections unnecessarily
Moved Formatting.applyStyle into consuming operation

Apply style logic is only consumed in one location. Extra wrapping
functions added in StyleHelper and Formatting are unnecessary, and
should not have been called from outside an operation. Pushing this
logic into the operation prevents accidental misuse.
Add an apply direct formatting benchmark action

Additionally, the benchmark will now take configuration options via the
query parameters rather than after the hash.
Use cursor to dom range conversion functions on OdtDocument
Invert type dependency between Formatting and TextStyleApplicator

A text style applicator is a class that modifies the styles tree via
a formatting object.
Merge pull request #236 from peitschie/tsa-move

Move Formatting.applyStyle into consuming operation