@@ -165,6 +165,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
165
165
private _layoutSettingsChanged : boolean = true ;
166
166
private _dimensionsOverride : ITerminalDimensionsOverride | undefined ;
167
167
private _areLinksReady : boolean = false ;
168
+ private readonly _initialDataEventsListener : MutableDisposable < IDisposable > = this . _register ( new MutableDisposable ( ) ) ;
168
169
private _initialDataEvents : string [ ] | undefined = [ ] ;
169
170
private _containerReadyBarrier : AutoOpenBarrier ;
170
171
private _attachBarrier : AutoOpenBarrier ;
@@ -550,6 +551,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
550
551
let initialDataEventsTimeout : number | undefined = dom . getWindow ( this . _container ) . setTimeout ( ( ) => {
551
552
initialDataEventsTimeout = undefined ;
552
553
this . _initialDataEvents = undefined ;
554
+ this . _initialDataEventsListener . clear ( ) ;
553
555
} , 10000 ) ;
554
556
this . _register ( toDisposable ( ( ) => {
555
557
if ( initialDataEventsTimeout ) {
@@ -1394,6 +1396,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
1394
1396
}
1395
1397
} ) ) ;
1396
1398
1399
+ this . _initialDataEventsListener . value = processManager . onProcessData ( ev => this . _initialDataEvents ?. push ( ev . data ) ) ;
1397
1400
this . _register ( processManager . onProcessReplayComplete ( ( ) => this . _onProcessReplayComplete . fire ( ) ) ) ;
1398
1401
this . _register ( processManager . onEnvironmentVariableInfoChanged ( e => this . _onEnvironmentVariableInfoChanged ( e ) ) ) ;
1399
1402
this . _register ( processManager . onPtyDisconnect ( ( ) => {
@@ -1476,9 +1479,6 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
1476
1479
}
1477
1480
1478
1481
private _onProcessData ( ev : IProcessDataEvent ) : void {
1479
- // TODO: Move to separate listener
1480
- this . _initialDataEvents ?. push ( ev . data ) ;
1481
-
1482
1482
// Ensure events are split by SI command execute sequence to ensure the output of the
1483
1483
// command can be read by extensions. This must be done here as xterm.js does not currently
1484
1484
// have a listener for when individual data events are parsed, only `onWriteParsed` which
0 commit comments