Skip to content

Commit 498badc

Browse files
committed
Actually fix the console memory leaking...
1 parent 12992e3 commit 498badc

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

resources/scripts/components/server/Console.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import React, { createRef, useEffect } from 'react';
2-
import { Terminal } from 'xterm';
1+
import React, { createRef, useEffect, useMemo } from 'react';
2+
import { ITerminalOptions, Terminal } from 'xterm';
33
import * as TerminalFit from 'xterm/lib/addons/fit/fit';
44
import SpinnerOverlay from '@/components/elements/SpinnerOverlay';
55
import { ServerContext } from '@/state/server';
@@ -25,18 +25,19 @@ const theme = {
2525
brightWhite: '#ffffff',
2626
};
2727

28-
const terminal = new Terminal({
28+
const terminalProps: ITerminalOptions = {
2929
disableStdin: true,
3030
cursorStyle: 'underline',
3131
allowTransparency: true,
3232
fontSize: 12,
3333
fontFamily: 'Menlo, Monaco, Consolas, monospace',
3434
rows: 30,
3535
theme: theme,
36-
});
36+
};
3737

3838
export default () => {
3939
const ref = createRef<HTMLDivElement>();
40+
const terminal = useMemo(() => new Terminal({ ...terminalProps }), []);
4041
const connected = ServerContext.useStoreState(state => state.socket.connected);
4142
const instance = ServerContext.useStoreState(state => state.socket.instance);
4243

0 commit comments

Comments
 (0)