Connect banner and click to reconnect
This commit is contained in:
parent
eb1d772c27
commit
317a7a5cf7
3 changed files with 16 additions and 6 deletions
File diff suppressed because one or more lines are too long
|
@ -267,10 +267,13 @@ socket.on('disconnect', (err: any) => {
|
||||||
status.innerHTML = `WEBSOCKET SERVER DISCONNECTED: ${err}`;
|
status.innerHTML = `WEBSOCKET SERVER DISCONNECTED: ${err}`;
|
||||||
}
|
}
|
||||||
var i = setInterval(() => {
|
var i = setInterval(() => {
|
||||||
if (!socket.connected) {
|
if (!socket.connected && document.hasFocus()) {
|
||||||
socket.connect()
|
socket.connect();
|
||||||
} else {
|
} else {
|
||||||
clearInterval(i);
|
clearInterval(i);
|
||||||
|
if (!socket.connected) {
|
||||||
|
status.innerHTML + " (click to reconnect)";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 3000);
|
}, 3000);
|
||||||
countdown.classList.remove('active');
|
countdown.classList.remove('active');
|
||||||
|
@ -289,6 +292,12 @@ socket.on('reauth', () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
status.addEventListener('click', (ev) => {
|
||||||
|
if (socket.disconnected) {
|
||||||
|
socket.connect();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// safe shutdown
|
// safe shutdown
|
||||||
let hasCountdownStarted = false;
|
let hasCountdownStarted = false;
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,10 @@ function setupNewConnection(socket) {
|
||||||
`ssh://${socket.request.session.username}@${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
|
`ssh://${socket.request.session.username}@${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
socket.emit('status', 'SSH CONNECTION ESTABLISHED');
|
||||||
|
socket.emit('statusBackground', 'green');
|
||||||
|
socket.emit('allowreplay', socket.request.session.ssh.allowreplay);
|
||||||
|
|
||||||
socket.on('control', (controlData) => {
|
socket.on('control', (controlData) => {
|
||||||
if (!stream) return;
|
if (!stream) return;
|
||||||
if (controlData === 'replayCredentials' && socket.request.session.ssh.allowreplay) {
|
if (controlData === 'replayCredentials' && socket.request.session.ssh.allowreplay) {
|
||||||
|
@ -145,9 +149,6 @@ function setupNewConnection(socket) {
|
||||||
`LOGIN user=${socket.request.session.username} from=${socket.handshake.address} host=${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
|
`LOGIN user=${socket.request.session.username} from=${socket.handshake.address} host=${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
|
||||||
);
|
);
|
||||||
login = true;
|
login = true;
|
||||||
socket.emit('status', 'SSH CONNECTION ESTABLISHED');
|
|
||||||
socket.emit('statusBackground', 'green');
|
|
||||||
socket.emit('allowreplay', socket.request.session.ssh.allowreplay);
|
|
||||||
const { term, cols, rows } = socket.request.session.ssh;
|
const { term, cols, rows } = socket.request.session.ssh;
|
||||||
conn.shell({ term, cols, rows }, (err, s) => {
|
conn.shell({ term, cols, rows }, (err, s) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
Loading…
Reference in a new issue