diff --git a/app/docker/views/containers/console/containerConsoleController.js b/app/docker/views/containers/console/containerConsoleController.js index 57551796e..5b0d0d1fc 100644 --- a/app/docker/views/containers/console/containerConsoleController.js +++ b/app/docker/views/containers/console/containerConsoleController.js @@ -183,9 +183,6 @@ angular.module('portainer.docker').controller('ContainerConsoleController', [ socket.onopen = function () { $scope.state = states.connected; term = new Terminal(); - socket.send('export LANG=C.UTF-8\n'); - socket.send('export LC_ALL=C.UTF-8\n'); - socket.send('clear\n'); term.onData(function (data) { socket.send(data); @@ -205,7 +202,8 @@ angular.module('portainer.docker').controller('ContainerConsoleController', [ }); socket.onmessage = function (e) { - term.write(e.data); + var encoded = new TextEncoder().encode(e.data); + term.writeUtf8(encoded); }; socket.onerror = function (err) { $scope.disconnect(); diff --git a/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx b/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx index 601a4a59a..932c91522 100644 --- a/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx +++ b/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx @@ -75,14 +75,12 @@ export function ConsoleView() { terminal?.setOption('cursorBlink', true); terminal?.focus(); setConnectionStatus('open'); - socket.send('export LANG=C.UTF-8\n'); - socket.send('export LC_ALL=C.UTF-8\n'); - socket.send('clear\n'); } }; socket.onmessage = (msg) => { - terminal?.write(msg.data); + const encoded = new TextEncoder().encode(msg.data); + terminal?.writeUtf8(encoded); }; socket.onerror = () => { diff --git a/app/react/sidebar/KubernetesSidebar/KubectlShell/KubectlShell.tsx b/app/react/sidebar/KubernetesSidebar/KubectlShell/KubectlShell.tsx index e713af0da..ac609983e 100644 --- a/app/react/sidebar/KubernetesSidebar/KubectlShell/KubectlShell.tsx +++ b/app/react/sidebar/KubernetesSidebar/KubectlShell/KubectlShell.tsx @@ -46,27 +46,19 @@ export function KubeCtlShell({ environmentId, onClose }: Props) { onClose(); }, [onClose, terminal, socket]); - const openTerminal = useCallback( - (socket: WebSocket | null) => { - if (!terminalElem.current) { - return; - } + const openTerminal = useCallback(() => { + if (!terminalElem.current) { + return; + } - terminal.open(terminalElem.current); - terminal.setOption('cursorBlink', true); - terminal.focus(); - fit(terminal); - if (socket) { - socket.send('export LANG=C.UTF-8\n'); - socket.send('export LC_ALL=C.UTF-8\n'); - socket.send('clear\n'); - } - terminal.writeln('#Run kubectl commands inside here'); - terminal.writeln('#e.g. kubectl get all'); - terminal.writeln(''); - }, - [terminal] - ); + terminal.open(terminalElem.current); + terminal.setOption('cursorBlink', true); + terminal.focus(); + fit(terminal); + terminal.writeln('#Run kubectl commands inside here'); + terminal.writeln('#e.g. kubectl get all'); + terminal.writeln(''); + }, [terminal]); // refresh socket listeners on socket updates useEffect(() => { @@ -74,10 +66,11 @@ export function KubeCtlShell({ environmentId, onClose }: Props) { return () => {}; } function onOpen() { - openTerminal(socket); + openTerminal(); } function onMessage(e: MessageEvent) { - terminal.write(e.data); + const encoded = new TextEncoder().encode(e.data); + terminal.writeUtf8(encoded); } function onClose() { handleClose();