import type { EnvironmentId } from "@t3tools/contracts"; import type { RemoteOpenMode } from "../../remoteOpen"; export function shouldShowOpenInPicker(input: { readonly activeProjectName: string | undefined; readonly activeThreadEnvironmentId: EnvironmentId; readonly primaryEnvironmentId: EnvironmentId | null; readonly remoteOpenMode: RemoteOpenMode;}): boolean { if (!input.activeProjectName) return false; if ( input.primaryEnvironmentId !== null && input.activeThreadEnvironmentId === input.primaryEnvironmentId ) { return true; } // Remote environments get the picker in deep-link mode (or its explicit // "no SSH route" state). Non-primary local backends (e.g. WSL) keep it // hidden, matching pre-remote behavior. return input.remoteOpenMode !== "local-exec";}
import type { EnvironmentId } from "@t3tools/contracts";
import type { RemoteOpenMode } from "../../remoteOpen";
export function shouldShowOpenInPicker(input: {
readonly activeProjectName: string | undefined;
readonly activeThreadEnvironmentId: EnvironmentId;
readonly primaryEnvironmentId: EnvironmentId | null;
readonly remoteOpenMode: RemoteOpenMode;
}): boolean {
if (!input.activeProjectName) return false;
if (
input.primaryEnvironmentId !== null &&
input.activeThreadEnvironmentId === input.primaryEnvironmentId
) {
return true;
}
// Remote environments get the picker in deep-link mode (or its explicit
// "no SSH route" state). Non-primary local backends (e.g. WSL) keep it
// hidden, matching pre-remote behavior.
return input.remoteOpenMode !== "local-exec";
}