Skip to content

Commit fd2bcb9

Browse files
committed
Modularize
1 parent 0dd2c39 commit fd2bcb9

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/client.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ async function initAddons(term: Terminal): Promise<void> {
8585
term.unicode.activeVersion = '11';
8686
}
8787

88-
async function initiateRemoteTerminal() {
89-
updateTerminalSize();
88+
async function initiateRemoteTerminal(terminal: Terminal) {
89+
updateTerminalSize(terminal);
9090

9191
const ReconnectingWebSocket = (await import("reconnecting-websocket")).default;
9292

@@ -110,17 +110,17 @@ async function initiateRemoteTerminal() {
110110
socketURL += serverProcessId;
111111

112112
await initiateRemoteCommunicationChannelSocket(protocol);
113-
window.socket = new ReconnectingWebSocket(socketURL, [], webSocketSettings);
114-
window.socket.onopen = async () => {
113+
let socket = new ReconnectingWebSocket(socketURL, [], webSocketSettings);
114+
socket.onopen = async () => {
115115
outputDialog.close();
116116
(document.querySelector(".xterm-helper-textarea") as HTMLTextAreaElement).focus();
117117

118-
await runRealTerminal(term, window.socket as WebSocket);
118+
await runRealTerminal(term, socket as WebSocket);
119119
};
120120
//@ts-ignore
121-
window.socket.onclose = handleDisconnected;
121+
socket.onclose = handleDisconnected;
122122
//@ts-ignore
123-
window.socket.onerror = handleDisconnected;
123+
socket.onerror = handleDisconnected;
124124
}
125125

126126
async function createTerminal(element: HTMLElement, toDispose: DisposableCollection): Promise<void> {
@@ -182,10 +182,13 @@ async function createTerminal(element: HTMLElement, toDispose: DisposableCollect
182182
}/terminals/`;
183183

184184
term.open(element);
185-
updateTerminalSize();
185+
updateTerminalSize(term);
186186
term.focus();
187187

188-
await initiateRemoteTerminal();
188+
await initiateRemoteTerminal(term);
189+
190+
const debouncedUpdateTerminalSize = debounce(() => updateTerminalSize(term), 200, true);
191+
window.onresize = () => debouncedUpdateTerminalSize();
189192
}
190193

191194
const reloadButton = document.createElement("button");
@@ -260,19 +263,16 @@ async function runRealTerminal(terminal: Terminal, socket: WebSocket): Promise<v
260263
onDidChangeState.fire();
261264
}
262265

263-
function updateTerminalSize(): void {
264-
if (!window.terminal) {
266+
function updateTerminalSize(terminal: Terminal): void {
267+
if (!terminal) {
265268
console.warn("Terminal not yet initialized. Aborting resize.");
266269
return;
267270
}
268271
const fitAddon = new FitAddon();
269-
window.terminal.loadAddon(fitAddon);
272+
terminal.loadAddon(fitAddon);
270273
fitAddon.fit();
271274
}
272275

273-
const debouncedUpdateTerminalSize = debounce(updateTerminalSize, 200, true);
274-
window.onresize = () => debouncedUpdateTerminalSize();
275-
276276
window.gitpod.ideService = {
277277
get state() {
278278
return state;

0 commit comments

Comments
 (0)