Fix terminal renderer remount loading
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
export interface TerminalRendererReadyChange {
|
||||
streamKey: string;
|
||||
isReady: boolean;
|
||||
}
|
||||
|
||||
export function applyTerminalRendererReadyChange(
|
||||
currentReadyStreamKey: string | null,
|
||||
change: TerminalRendererReadyChange,
|
||||
): string | null {
|
||||
if (change.isReady) {
|
||||
return change.streamKey;
|
||||
}
|
||||
|
||||
return currentReadyStreamKey === change.streamKey ? null : currentReadyStreamKey;
|
||||
}
|
||||
|
||||
export function shouldReplayTerminalSnapshotForRenderer(input: {
|
||||
change: TerminalRendererReadyChange;
|
||||
terminalStreamKey: string;
|
||||
}): boolean {
|
||||
return input.change.isReady && input.change.streamKey === input.terminalStreamKey;
|
||||
}
|
||||
|
||||
export function shouldShowTerminalLoadingOverlay(input: {
|
||||
isWorkspaceFocused: boolean;
|
||||
hasStreamError: boolean;
|
||||
isAttaching: boolean;
|
||||
rendererReadyStreamKey: string | null;
|
||||
terminalStreamKey: string;
|
||||
}): boolean {
|
||||
return (
|
||||
input.isWorkspaceFocused &&
|
||||
!input.hasStreamError &&
|
||||
(input.isAttaching || input.rendererReadyStreamKey !== input.terminalStreamKey)
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user