@@ -53,8 +53,6 @@ class SessionController implements SLWebSocketEventListener {
53
53
console . log ( "Couldn't get session due to missing auth token." )
54
54
return
55
55
}
56
- SLWebSocket . initialize ( 'wss://app.getluminal.com' , this . onReconnectWebSocket ) ;
57
- SLWebSocket . instance . addSLListener ( this ) ;
58
56
Server . getSession ( this . authToken )
59
57
. then ( ( response ) => {
60
58
this . sessionState = response . session_state ;
@@ -69,14 +67,14 @@ class SessionController implements SLWebSocketEventListener {
69
67
console . log ( "Couldn't connect web socket due to missing auth token." )
70
68
return ;
71
69
}
72
- SLWebSocket . instance . slSend ( 'connect-socket' , this . authToken , { } ) ;
70
+ this . getWebSocket ( ) . slSend ( 'connect-socket' , this . authToken , { } ) ;
73
71
} , 0 ) ;
74
72
} ) ;
75
73
}
76
74
77
75
sendChatMessage ( message : string ) {
78
76
if ( ! this . authToken ) { return ; }
79
- SLWebSocket . instance . slSend ( 'send-message' , this . authToken , { message : message } ) ;
77
+ this . getWebSocket ( ) . slSend ( 'send-message' , this . authToken , { message : message } ) ;
80
78
this . addChatMessage ( {
81
79
id : UUIDUtilities . unsecureUUID ( ) ,
82
80
sender : 'user' ,
@@ -89,7 +87,17 @@ class SessionController implements SLWebSocketEventListener {
89
87
90
88
getTablePage ( tableID : string , offset : number , count : number ) {
91
89
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
+ }
93
101
}
94
102
95
103
onWebSocketEvent ( json : JSON ) {
0 commit comments