@@ -53,8 +53,6 @@ class SessionController implements SLWebSocketEventListener {
5353 console . log ( "Couldn't get session due to missing auth token." )
5454 return
5555 }
56- SLWebSocket . initialize ( 'wss://app.getluminal.com' , this . onReconnectWebSocket ) ;
57- SLWebSocket . instance . addSLListener ( this ) ;
5856 Server . getSession ( this . authToken )
5957 . then ( ( response ) => {
6058 this . sessionState = response . session_state ;
@@ -69,14 +67,14 @@ class SessionController implements SLWebSocketEventListener {
6967 console . log ( "Couldn't connect web socket due to missing auth token." )
7068 return ;
7169 }
72- SLWebSocket . instance . slSend ( 'connect-socket' , this . authToken , { } ) ;
70+ this . getWebSocket ( ) . slSend ( 'connect-socket' , this . authToken , { } ) ;
7371 } , 0 ) ;
7472 } ) ;
7573 }
7674
7775 sendChatMessage ( message : string ) {
7876 if ( ! this . authToken ) { return ; }
79- SLWebSocket . instance . slSend ( 'send-message' , this . authToken , { message : message } ) ;
77+ this . getWebSocket ( ) . slSend ( 'send-message' , this . authToken , { message : message } ) ;
8078 this . addChatMessage ( {
8179 id : UUIDUtilities . unsecureUUID ( ) ,
8280 sender : 'user' ,
@@ -89,7 +87,17 @@ class SessionController implements SLWebSocketEventListener {
8987
9088 getTablePage ( tableID : string , offset : number , count : number ) {
9189 if ( ! this . authToken ) { return ; }
92- SLWebSocket . instance . slSend ( 'get-table-page' , this . authToken , { table_id : tableID , offset : offset , count : count } ) ;
90+ this . getWebSocket ( ) . slSend ( 'get-table-page' , this . authToken , { table_id : tableID , offset : offset , count : count } ) ;
91+ }
92+
93+ getWebSocket ( ) : SLWebSocket {
94+ if ( SLWebSocket . instance ) {
95+ return SLWebSocket . instance ;
96+ } else {
97+ const webSocket = SLWebSocket . initialize ( 'wss://app.getluminal.com' , this . onReconnectWebSocket ) ;
98+ webSocket . addSLListener ( this ) ;
99+ return webSocket ;
100+ }
93101 }
94102
95103 onWebSocketEvent ( json : JSON ) {
0 commit comments