From aa8f0ca01a0eafbecca7de8ceeb99f65ab4d3c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Mon, 9 Feb 2026 23:45:35 -0300 Subject: [PATCH] core: frontend: SettingsView: Prevent system log delete while downloading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Disable delete button during download and download button during deletion to prevent corrupt or failed log operations. Closes #3284 Signed-off-by: Patrick José Pereira --- core/frontend/src/views/SettingsView.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/frontend/src/views/SettingsView.vue b/core/frontend/src/views/SettingsView.vue index 008ad7f71a..4d6b79cedf 100644 --- a/core/frontend/src/views/SettingsView.vue +++ b/core/frontend/src/views/SettingsView.vue @@ -240,6 +240,7 @@ class="mr-2" outlined small + :disabled="deletion_in_progress" @click="download_service_log_files" > @@ -251,7 +252,7 @@ v-tooltip="'Free up space by removing old logs'" outlined small - :disabled="disable_remove || deletion_in_progress" + :disabled="disable_remove || deletion_in_progress || downloading" color="error" @click="remove_service_log_files" > @@ -516,6 +517,7 @@ export default Vue.extend({ operation_description: '', operation_error: undefined as undefined | string, deletion_in_progress: false, + downloading: false, deletion_log_abort_controller: null as null | AbortController, current_deletion_path: '', current_deletion_size: 0, @@ -563,8 +565,13 @@ export default Vue.extend({ }, async download_service_log_files(): Promise { - const folder = await filebrowser.fetchFolder('system_logs') - await filebrowser.downloadFolder(folder) + this.downloading = true + try { + const folder = await filebrowser.fetchFolder('system_logs') + await filebrowser.downloadFolder(folder) + } finally { + this.downloading = false + } }, async download_mavlink_log_files(): Promise {