         @project_id = @opts.project_id   # must also be set by derived classes that don't call this constructor!
         @filename   = @opts.filename
 
-        @connect = misc.retry_until_success_wrapper
-            f         : @_connect
-            max_delay : 7000
-            max_tries : 25
-            max_time  : 30000
+        @connect = @_connect
+        #@connect = misc.retry_until_success_wrapper
+        #    f         : @_connect
+        #    max_delay : 7000
+        #    max_tries : 2
+        #    max_time  : 30000
         ##@connect    = misc.retry_until_success_wrapper(f:@_connect)#, logname:'connect')
 
         @sync = misc.retry_until_success_wrapper(f:@_sync, min_interval:4*@opts.sync_interval, max_time:MAX_SAVE_TIME_S*1000, max_delay:5000)

            revision_tracking : require('flux').flux.getStore('account').get_editor_settings().track_revisions   # if true, save every revision in @.filename.sage-history
        @project_id = @editor.project_id
        @filename   = @editor.filename

        # @connect    = @_connect
        @connect    = misc.retry_until_success_wrapper
            f         : @_connect
            max_delay : 7000
            max_tries : 25
            #logname   : 'connect'
            #verbose   : true

        @sync = misc.retry_until_success_wrapper(f:@_sync, max_delay : 5000, min_interval:4*@opts.sync_interval, max_time:MAX_SAVE_TIME_S*1000)
        @save = misc.retry_until_success_wrapper(f:@_save, max_delay : 5000, min_interval:6*@opts.sync_interval, max_time:MAX_SAVE_TIME_S*1000)

                if resp.event == 'error'
                    err = resp.error
                if err
                    #console.log("err=",err)
                    delete @_connect_lock
                    cb?(err); return

