@@ -315,7 +315,13 @@ namespace ts.server {
315315 else if ( this . eventPort ) {
316316 const s = net . connect ( { port : this . eventPort } , ( ) => {
317317 this . eventSocket = s ;
318- this . clearSocketEventQueue ( ) ;
318+ if ( this . socketEventQueue ) {
319+ // flush queue.
320+ for ( const event of this . socketEventQueue ) {
321+ this . writeToEventSocket ( event . info , event . eventName ) ;
322+ }
323+ this . socketEventQueue = undefined ;
324+ }
319325 } ) ;
320326
321327 this . event = function < T > ( info : T , eventName : string ) {
@@ -374,13 +380,6 @@ namespace ts.server {
374380 this . gcTimer = new GcTimer ( this . host , /*delay*/ 7000 , this . logger ) ;
375381 }
376382
377- private clearSocketEventQueue ( ) {
378- for ( const event of this . socketEventQueue ) {
379- this . writeToEventSocket ( event . info , event . eventName ) ;
380- }
381- this . socketEventQueue = undefined ;
382- }
383-
384383 private writeToEventSocket ( info : any , eventName : string ) : void {
385384 this . eventSocket . write ( formatMessage ( { seq : 0 , type : "event" , event : eventName , body : info } , this . logger , Buffer . byteLength , this . host . newLine ) , "utf8" ) ;
386385 }
@@ -451,9 +450,11 @@ namespace ts.server {
451450 }
452451
453452 public send ( msg : protocol . Message ) {
454- if ( msg . type === "event" ) {
455- Debug . assert ( this . canUseEvents ) ;
456- Debug . assert ( ! this . eventPort ) ;
453+ if ( msg . type === "event" && ! this . canUseEvents ) {
454+ if ( this . logger . hasLevel ( LogLevel . verbose ) ) {
455+ this . logger . info ( `Session does not support events: ignored event: ${ JSON . stringify ( msg ) } ` ) ;
456+ }
457+ return ;
457458 }
458459 this . host . write ( formatMessage ( msg , this . logger , this . byteLength , this . host . newLine ) ) ;
459460 }
0 commit comments