Skip to content

Lite Terminal launched from terminal dropdown closes immediately (missing serverInfo() in profile provider) #1784

@globalerp-mhess

Description

@globalerp-mhess

I followed the Lite Terminal troubleshooting steps — the Explorer launch path works, only the terminal-profile path is affected, which points at the source asymmetry described below.

Are you using client-side or server-side editing?: server-side (isfs://)

  • VS Code Version: 1.120.0
  • Extension Version: 3.8.1
  • OS: Windows Server 2022 Standard (10.0.20348)
  • Server $ZVERSION (if applicable): IRIS for Windows (x86-64) 2026.1 (Build 234U) Fri Mar 27 2026 13:58:24 EDT

Steps to Reproduce:

  1. Open a workspace with an active server-side connection to IRIS 2023.2+.
  2. Click the + dropdown in the terminal panel header, choose InterSystems Lite Terminal.
  3. Observe: a terminal tab flashes briefly and disappears. No message in the ObjectScript output channel.

For contrast, the working path: in the InterSystems Explorer view, the Launch Lite Terminal icon next to the same server connection opens a working terminal that stays open. Same workspace, same connection, same namespace.


Root cause

There are two launch paths in src/commands/webSocketTerminal.ts, and they are not symmetric.

launchWebSocketTerminal (used by the command palette and the Explorer button) constructs an AtelierAPI for the target URI, awaits serverInfo(), and only then calls terminalConfigForUri. WebSocketTerminalProfileProvider.provideTerminalProfile (used by the terminal-profile dropdown) constructs the same AtelierAPI and passes it straight into terminalConfigForUri without ever awaiting serverInfo().

The effect is downstream in terminalConfigForUri: it guards on api.config.apiVersion < 7 and bails out via the "requires IRIS 2023.2 or above" path when apiVersion is unset. Since serverInfo() is what populates apiVersion, the profile-provider path never gets past that guard. terminalConfigForUri returns undefined, the provider returns new vscode.TerminalProfile(undefined), and VS Code closes the resulting terminal silently — no output to the ObjectScript channel, no error toast, just a brief flash.

Proposed fix

Insert the same await api.serverInfo() step into WebSocketTerminalProfileProvider.provideTerminalProfile that launchWebSocketTerminal already does, between constructing the AtelierAPI and calling terminalConfigForUri. One added line; the rest of the method stays as is.

Verified locally by patching the bundled dist/extension.js of v3.8.1 with the equivalent insertion — the dropdown path then opens a working terminal, identical to the Explorer path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions