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}`;
|
||||
}
|
||||
var i = setInterval(() => {
|
||||
if (!socket.connected) {
|
||||
socket.connect()
|
||||
if (!socket.connected && document.hasFocus()) {
|
||||
socket.connect();
|
||||
} else {
|
||||
clearInterval(i);
|
||||
if (!socket.connected) {
|
||||
status.innerHTML + " (click to reconnect)";
|
||||
}
|
||||
}
|
||||
}, 3000);
|
||||
countdown.classList.remove('active');
|
||||
|
@ -289,6 +292,12 @@ socket.on('reauth', () => {
|
|||
}
|
||||
});
|
||||
|
||||
status.addEventListener('click', (ev) => {
|
||||
if (socket.disconnected) {
|
||||
socket.connect();
|
||||
}
|
||||
})
|
||||
|
||||
// safe shutdown
|
||||
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}`
|
||||
);
|
||||
|
||||
socket.emit('status', 'SSH CONNECTION ESTABLISHED');
|
||||
socket.emit('statusBackground', 'green');
|
||||
socket.emit('allowreplay', socket.request.session.ssh.allowreplay);
|
||||
|
||||
socket.on('control', (controlData) => {
|
||||
if (!stream) return;
|
||||
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 = 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;
|
||||
conn.shell({ term, cols, rows }, (err, s) => {
|
||||
if (err) {
|
||||
|
|
Loading…
Reference in a new issue