fix(console): use writeUtf8 instead of environment variables EE-6593 (#11019)

pull/11021/head
Dakota Walsh 2024-01-26 11:21:00 +13:00 committed by GitHub
parent 249b6bc628
commit b640b58371
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 30 deletions

View File

@ -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();

View File

@ -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 = () => {

View File

@ -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();