1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-23 16:25:22 +03:00

Fix socket reset (#4304)

* Fix socket reset

* Fix dropdown being disabled
This commit is contained in:
Mark Haslinghuis 2025-01-17 02:05:50 +01:00 committed by GitHub
parent b5ec4c36cb
commit 9e2dfa362b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 22 deletions

View file

@ -76,20 +76,15 @@ class WebsocketSerial extends EventTarget {
);
};
this.ws.onclose = function (e) {
this.ws.onclose = async function (e) {
console.log(`${socket.logHead} Connection closed: `, e);
socket.disconnect(() => {
socket.dispatchEvent(new CustomEvent("disconnect", this.disconnect.bind(this)));
});
await socket.disconnect();
socket.dispatchEvent(new CustomEvent("disconnect", { detail: { socketId: socket.address } }));
};
this.ws.onerror = function (e) {
console.error(`${socket.logHead} Connection error: `, e);
socket.disconnect(() => {
socket.dispatchEvent(new CustomEvent("disconnect", this.disconnect.bind(this)));
});
};
this.ws.onmessage = async function (msg) {

View file

@ -234,6 +234,23 @@ function setConnectionTimeout() {
);
}
function resetConnection() {
// reset connect / disconnect button
$("div#connectbutton div.connect_state").text(i18n.getMessage("connect"));
$("div#connectbutton a.connect").removeClass("active");
CONFIGURATOR.connectionValid = false;
CONFIGURATOR.cliValid = false;
CONFIGURATOR.cliActive = false;
CONFIGURATOR.cliEngineValid = false;
CONFIGURATOR.cliEngineActive = false;
// unlock port select & baud
PortHandler.portPickerDisabled = false;
// reset data
isConnected = false;
}
function abortConnection() {
GUI.timeout_remove("connecting"); // kill connecting timer
@ -244,14 +261,7 @@ function abortConnection() {
gui_log(i18n.getMessage("serialPortOpenFail"));
$("div#connectbutton div.connect_state").text(i18n.getMessage("connect"));
$("div#connectbutton a.connect").removeClass("active");
// unlock port select & baud
PortHandler.portPickerDisabled = false;
// reset data
isConnected = false;
resetConnection();
}
/**
@ -696,6 +706,10 @@ function onClosed(result) {
$("#dataflash_wrapper_global").hide();
$("#quad-status_wrapper").hide();
console.log("[SERIAL-BACKEND] Connection closed:", result);
resetConnection();
clearLiveDataRefreshTimer();
MSP.clearListeners();
@ -705,12 +719,6 @@ function onClosed(result) {
serial.removeEventListener("connect", connectHandler);
serial.removeEventListener("disconnect", disconnectHandler);
}
CONFIGURATOR.connectionValid = false;
CONFIGURATOR.cliValid = false;
CONFIGURATOR.cliActive = false;
CONFIGURATOR.cliEngineValid = false;
CONFIGURATOR.cliEngineActive = false;
}
export function read_serial(info) {