abort POST request

This commit is contained in:
Petar Petrov 2025-07-14 10:33:15 +03:00
parent 651d2f597c
commit 6a9e6412a7
2 changed files with 9 additions and 3 deletions

View File

@ -923,7 +923,8 @@ export const uploadFirmwareAndBeginUpdate = async (
hass: HomeAssistant,
device_id: string,
file: File,
target?: number
target?: number,
signal?: AbortSignal
) => {
const fd = new FormData();
fd.append("file", file);
@ -935,6 +936,7 @@ export const uploadFirmwareAndBeginUpdate = async (
{
method: "POST",
body: fd,
signal,
}
);

View File

@ -198,7 +198,8 @@ class DialogZWaveJSUpdateFirmwareNode extends LitElement {
)}
</p>
${beginFirmwareUpdateHTML}
${this._uploading && this._nodeStatus.status === NodeStatus.Asleep
${this._uploading &&
this._nodeStatus.status === NodeStatus.Asleep
? html`<p class="wakeup">
${this.hass.localize(
"ui.panel.config.zwave_js.update_firmware.device_asleep"
@ -332,15 +333,18 @@ class DialogZWaveJSUpdateFirmwareNode extends LitElement {
try {
this._subscribeNodeFirmwareUpdate();
await new Promise<void>((resolve, reject) => {
const abortController = new AbortController();
this._cancelUpload = () => {
this._cancelUpload = undefined;
abortController.abort();
resolve();
};
uploadFirmwareAndBeginUpdate(
this.hass,
this.device!.id,
this._firmwareFile!,
this._firmwareTarget
this._firmwareTarget,
abortController.signal
)
.then(() => this._cancelUpload?.())
.catch(reject);