Skip to content

Commit 600fe33

Browse files
committed
Don't block Pseudoterminal-based terminals launching without backend
Fixes microsoft#144729
1 parent 6da26a9 commit 600fe33

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/vs/workbench/contrib/terminal/browser/terminalInstance.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,10 +446,15 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
446446
this._xtermReadyPromise.then(async () => {
447447
// Wait for a period to allow a container to be ready
448448
await this._containerReadyBarrier.wait();
449-
if (this._configHelper.config.shellIntegration?.enabled && !this.shellLaunchConfig.executable) {
449+
450+
// Resolve the executable ahead of time if shell integration is enabled, this should not
451+
// be done for custom PTYs as that would cause extension Pseudoterminal-based terminals
452+
// to hang in resolver extensions
453+
if (!this.shellLaunchConfig.customPtyImplementation && this._configHelper.config.shellIntegration?.enabled && !this.shellLaunchConfig.executable) {
450454
const os = await this._processManager.getBackendOS();
451455
this.shellLaunchConfig.executable = (await this._terminalProfileResolverService.getDefaultProfile({ remoteAuthority: this.remoteAuthority, os })).path;
452456
}
457+
453458
await this._createProcess();
454459

455460
// Re-establish the title after reconnect

0 commit comments

Comments
 (0)