@@ -580,15 +580,24 @@ class ParseLiveQueryServer {
580580 }
581581 const hasMasterKey = this . _hasMasterKey ( request , this . keyPairs ) ;
582582 const clientId = uuid ( ) ;
583- const client = new Client ( clientId , parseWebsocket , hasMasterKey ) ;
583+ const client = new Client (
584+ clientId ,
585+ parseWebsocket ,
586+ hasMasterKey ,
587+ request . sessionToken
588+ ) ;
584589 parseWebsocket . clientId = clientId ;
585590 this . clients . set ( parseWebsocket . clientId , client ) ;
586591 logger . info ( `Create new client: ${ parseWebsocket . clientId } ` ) ;
587592 client . pushConnect ( ) ;
588593 runLiveQueryEventHandlers ( {
594+ client,
589595 event : 'connect' ,
590596 clients : this . clients . size ,
591597 subscriptions : this . subscriptions . size ,
598+ sessionToken : request . sessionToken ,
599+ useMasterKey : client . hasMasterKey ,
600+ installationId : request . installationId ,
592601 } ) ;
593602 }
594603
@@ -663,13 +672,16 @@ class ParseLiveQueryServer {
663672 const subscriptionInfo = {
664673 subscription : subscription ,
665674 } ;
666- // Add selected fields and sessionToken for this subscription if necessary
675+ // Add selected fields, sessionToken and installationId for this subscription if necessary
667676 if ( request . query . fields ) {
668677 subscriptionInfo . fields = request . query . fields ;
669678 }
670679 if ( request . sessionToken ) {
671680 subscriptionInfo . sessionToken = request . sessionToken ;
672681 }
682+ if ( request . installationId ) {
683+ subscriptionInfo . installationId = request . installationId ;
684+ }
673685 client . addSubscriptionInfo ( request . requestId , subscriptionInfo ) ;
674686
675687 // Add clientId to subscription
@@ -685,9 +697,13 @@ class ParseLiveQueryServer {
685697 ) ;
686698 logger . verbose ( 'Current client number: %d' , this . clients . size ) ;
687699 runLiveQueryEventHandlers ( {
700+ client,
688701 event : 'subscribe' ,
689702 clients : this . clients . size ,
690703 subscriptions : this . subscriptions . size ,
704+ sessionToken : request . sessionToken ,
705+ useMasterKey : client . hasMasterKey ,
706+ installationId : request . installationId ,
691707 } ) ;
692708 }
693709
@@ -763,9 +779,13 @@ class ParseLiveQueryServer {
763779 this . subscriptions . delete ( className ) ;
764780 }
765781 runLiveQueryEventHandlers ( {
782+ client,
766783 event : 'unsubscribe' ,
767784 clients : this . clients . size ,
768785 subscriptions : this . subscriptions . size ,
786+ sessionToken : subscriptionInfo . sessionToken ,
787+ useMasterKey : client . hasMasterKey ,
788+ installationId : subscriptionInfo . installationId ,
769789 } ) ;
770790
771791 if ( ! notifyClient ) {
0 commit comments