File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -103,13 +103,19 @@ var updater = setInterval(function () {
103103 if ( err ) return logger . error ( 'updater error' , err ) ;
104104 } ) ;
105105} , 1000 ) ;
106- //clean when user not in any rooms
106+ //clean when user not in any rooms or user not in connected list
107107var cleaner = setInterval ( function ( ) {
108108 async . each ( Object . keys ( users ) , function ( key , callback ) {
109109 var socket = realtime . io . sockets . connected [ key ] ;
110- if ( socket && ( ! socket . rooms || socket . rooms . length <= 0 ) ) {
110+ if ( ( ! socket && users [ key ] ) ||
111+ ( socket && ( ! socket . rooms || socket . rooms . length <= 0 ) ) ) {
111112 if ( config . debug )
112113 logger . info ( "cleaner found redundant user: " + key ) ;
114+ if ( ! socket ) {
115+ socket = {
116+ id : key
117+ } ;
118+ }
113119 disconnectSocketQueue . push ( socket ) ;
114120 disconnect ( socket ) ;
115121 }
You can’t perform that action at this time.
0 commit comments