@@ -13,11 +13,11 @@ export class WalletLinkWebSocket {
1313 // used to differentiate instances
1414 private static instanceCounter = 0 ;
1515 private static activeInstances = new Set < number > ( ) ;
16+ private static pendingData : string [ ] = [ ] ;
1617
1718 private readonly instanceId : number ;
1819 private readonly url : string ;
1920 private webSocket : WebSocket | null = null ;
20- private pendingData : string [ ] = [ ] ;
2121 private isDisconnecting = false ;
2222
2323 private connectionStateListener ?: ( _ : ConnectionState ) => void ;
@@ -79,10 +79,10 @@ export class WalletLinkWebSocket {
7979 resolve ( ) ;
8080 this . connectionStateListener ?.( ConnectionState . CONNECTED ) ;
8181
82- if ( this . pendingData . length > 0 ) {
83- const pending = [ ...this . pendingData ] ;
82+ if ( WalletLinkWebSocket . pendingData . length > 0 ) {
83+ const pending = [ ...WalletLinkWebSocket . pendingData ] ;
8484 pending . forEach ( ( data ) => this . sendData ( data ) ) ;
85- this . pendingData = [ ] ;
85+ WalletLinkWebSocket . pendingData = [ ] ;
8686 }
8787 } ;
8888 webSocket . onmessage = ( evt ) => {
@@ -135,7 +135,7 @@ export class WalletLinkWebSocket {
135135 const { webSocket } = this ;
136136 if ( ! webSocket ) {
137137 // no active ws - queue data
138- this . pendingData . push ( data ) ;
138+ WalletLinkWebSocket . pendingData . push ( data ) ;
139139 // Don't auto-connect if we're disconnecting - reconnect logic will handle sending data
140140 if ( ! this . isDisconnecting ) {
141141 this . connect ( ) ;
@@ -145,7 +145,7 @@ export class WalletLinkWebSocket {
145145
146146 // Check if WebSocket is actually open before sending
147147 if ( webSocket . readyState !== WebSocket . OPEN ) {
148- this . pendingData . push ( data ) ;
148+ WalletLinkWebSocket . pendingData . push ( data ) ;
149149 return ;
150150 }
151151
0 commit comments