From 301928872192afeb23016fb04ed64fdacce34018 Mon Sep 17 00:00:00 2001 From: Elena-kal Date: Wed, 20 May 2026 13:28:47 +0200 Subject: [PATCH 1/2] fix run deletion bug --- backend/main/views.py | 18 +++++++++------ .../components/app/runs-table/runs-table.tsx | 22 ++++++++++++++----- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/backend/main/views.py b/backend/main/views.py index 6409213a7..a4c6fb904 100644 --- a/backend/main/views.py +++ b/backend/main/views.py @@ -197,21 +197,25 @@ def delete_run(request): run_name = data.get("run_name") try: - if run_name not in Run._instances: - delete_run_folder(run_name) + if run_name in Run._instances: + try: + run = Run(run_name) + run.delete_run() + except Exception: + Run._instances.pop(run_name, None) + delete_run_folder(run_name) else: - run = Run(run_name) - run.delete_run() + delete_run_folder(run_name) return JsonResponse({"success": True, "message": "Deleted run"}) except Exception as e: - traceback.print_exc() # not sure if it still needs to be here return JsonResponse( { "success": False, - "message": format_trace(traceback.format_exception(e)), + "message": str(e), + "traceback": format_trace(traceback.format_exception(e)), }, - status=404, + status=500, ) else: return JsonResponse( diff --git a/frontend/src/components/app/runs-table/runs-table.tsx b/frontend/src/components/app/runs-table/runs-table.tsx index 7c00e5d85..7324a0f4f 100644 --- a/frontend/src/components/app/runs-table/runs-table.tsx +++ b/frontend/src/components/app/runs-table/runs-table.tsx @@ -162,11 +162,21 @@ export const RunsTable: React.FC = ({ setRuns(updated); }; - const handleDeleteRun = (runName: string) => { - void callApiWithParameters("delete_run/", { run_name: runName }); - const updated = runs.filter((run) => run.run_name !== runName); - setIsDeleteModalOpen(false); - setRuns(updated); + const handleDeleteRun = async (runName: string) => { + try { + const response = await callApiWithParameters("delete_run/", { run_name: runName }); + + if (response?.success) { + const updated = runs.filter((run) => run.run_name !== runName); + setIsDeleteModalOpen(false); + setRuns(updated); + } else { + alert(`Failed to delete run: ${String(response?.message ?? "Unknown error")}`); + } + } catch (error) { + console.error("Error deleting run:", error); + alert("An unexpected error occurred while deleting the run."); + } }; const handleContinueRun = (runName: string) => { @@ -331,7 +341,7 @@ export const RunsTable: React.FC = ({ title={`Delete run "${actionRunName}"?`} isOpen={isDeleteModalOpen} onConfirm={() => { - handleDeleteRun(actionRunName); + void handleDeleteRun(actionRunName); }} onClose={() => { setIsDeleteModalOpen(false); From f1798d77e8929c8774a9dc638aef9042c9ba7cb2 Mon Sep 17 00:00:00 2001 From: Elena-kal Date: Wed, 20 May 2026 22:32:50 +0200 Subject: [PATCH 2/2] improve error messaging --- .../src/components/app/runs-table/runs-table.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/app/runs-table/runs-table.tsx b/frontend/src/components/app/runs-table/runs-table.tsx index 7324a0f4f..2c9bbe5e8 100644 --- a/frontend/src/components/app/runs-table/runs-table.tsx +++ b/frontend/src/components/app/runs-table/runs-table.tsx @@ -1,4 +1,4 @@ -import { RunEditMenu } from "@protzilla/app"; +import { RunEditMenu, useNotification } from "@protzilla/app"; import { DeleteModal, Icon, @@ -113,6 +113,7 @@ export const RunsTable: React.FC = ({ }) => { const navigate = useNavigate(); const theme = useTheme(); + const notify = useNotification(); const { handlePointerEnter, handlePointerLeave, showTooltip, mouseAnchor } = useTooltipScheduling(true); @@ -171,11 +172,19 @@ export const RunsTable: React.FC = ({ setIsDeleteModalOpen(false); setRuns(updated); } else { - alert(`Failed to delete run: ${String(response?.message ?? "Unknown error")}`); + notify({ + title: "Error", + message: `Failed to delete run: ${String(response?.message ?? "Unknown error")}`, + type: "error", + }); } } catch (error) { console.error("Error deleting run:", error); - alert("An unexpected error occurred while deleting the run."); + notify({ + title: "Error", + message: "An unexpected error occurred while deleting the run.", + type: "error", + }); } };