From 3d1ca7444bc25e5d87001ea29d04b0dec3cd9cf6 Mon Sep 17 00:00:00 2001 From: Stefano Bertelli Date: Mon, 30 Mar 2026 22:13:11 -0500 Subject: [PATCH] fix: close create dialog before showing config dialog The config dialog was being created inside the create dialog's slot context. When NiceGUI tried to attach the new dialog, the parent slot was already marked for deletion, causing a RuntimeError. --- wiregui/pages/admin/devices.py | 2 +- wiregui/pages/devices.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wiregui/pages/admin/devices.py b/wiregui/pages/admin/devices.py index e43ac6e..0357906 100644 --- a/wiregui/pages/admin/devices.py +++ b/wiregui/pages/admin/devices.py @@ -128,11 +128,11 @@ async def admin_devices_page(): # Show config server_pubkey = await get_server_public_key() config_text = build_client_config(device, private_key, server_pubkey) - _show_config_dialog(device.name, config_text) create_dialog.close() _reset_create_form() await refresh_table() + _show_config_dialog(device.name, config_text) except Exception as e: logger.error("Failed to create device: {}", e) ui.notify(f"Error: {e}", type="negative") diff --git a/wiregui/pages/devices.py b/wiregui/pages/devices.py index eb4c7af..326c55f 100644 --- a/wiregui/pages/devices.py +++ b/wiregui/pages/devices.py @@ -112,11 +112,11 @@ async def devices_page(): server_pubkey = await get_server_public_key() config_text = build_client_config(device, private_key, server_pubkey) - _show_config_dialog(device.name, config_text) create_dialog.close() _reset_create_form() await refresh_table() + _show_config_dialog(device.name, config_text) except Exception as e: logger.error("Failed to create device: {}", e)