         @editor._chat_is_hidden = true
         @element.find(".salvus-editor-chat-hide").hide()
         @element.find(".salvus-editor-chat-show").show()
-        @element.find(".salvus-editor-codemirror-input-box").removeClass('span9').addClass('span12')
+        @element.find(".salvus-editor-codemirror-input-box").removeClass('col-sm-9').addClass('col-sm-12')
         @element.find(".salvus-editor-codemirror-chat-column").hide()
         @editor.show()  # update size/display of editor (especially the width)
 

        @opts = defaults opts,
            cursor_interval   : 1000
            sync_interval     : 750     # never send sync messages up stream more often than this
            revision_tracking : false   # if true, save every revision in @.filename.sage-history
        @project_id = @editor.project_id

        @filename    = @editor.filename


{ MARKERS, FLAGS, ACTION_FLAGS } = diffsync

class SynchronizedHistory extends AbstractSynchronizedDoc
    constructor: (@editor, opts) ->
        console.log("zabooma")
        @opts = defaults opts,
            project_id : required
            filename   : required
            sync_interval : 1000    # no matter what, we won't send sync messages back to the server more frequently than this (in ms)
            cb         : required   # cb(err) once doc has connected to hub first time and got session info; will in fact keep trying until success
        @project_id = @opts.project_id   # must also be set by derived classes that don't call this constructor!
        @filename   = @opts.filename
        @sync = misc.retry_until_success_wrapper(f:@_sync, min_interval:@opts.sync_interval)#, logname:'sync')
        
class SynchronizedWorksheet extends SynchronizedDocument
    constructor: (@editor, opts) ->
        opts0 =
