From 121a8a2db42426517c4bdcf7af97433b27b8f7a9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 17:18:20 +0000 Subject: [PATCH 1/3] Initial plan From ddb0ee76997fd38e2013d73863f42a2ac6f36598 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 17:34:25 +0000 Subject: [PATCH 2/3] Fix 500 error on /api/tasks/status after cleanup_missing_roms task completes Agent-Logs-Url: https://github.com/rommapp/romm/sessions/f7f2aeec-91a7-482f-a4f6-a921d4bdab66 Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com> --- backend/endpoints/responses/__init__.py | 12 +++++++++++- frontend/src/__generated__/index.ts | 2 ++ frontend/src/__generated__/models/CleanupStats.ts | 12 ++++-------- .../__generated__/models/MissingRomsCleanupStats.ts | 10 ++++++++++ .../models/OrphanedResourcesCleanupStats.ts | 12 ++++++++++++ .../Administration/tasks/CleanupTaskProgress.vue | 4 ++-- .../Administration/tasks/TaskProgressDisplay.vue | 9 ++++++--- 7 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 frontend/src/__generated__/models/MissingRomsCleanupStats.ts create mode 100644 frontend/src/__generated__/models/OrphanedResourcesCleanupStats.ts diff --git a/backend/endpoints/responses/__init__.py b/backend/endpoints/responses/__init__.py index 34a0825ed..ee9178f1d 100644 --- a/backend/endpoints/responses/__init__.py +++ b/backend/endpoints/responses/__init__.py @@ -41,7 +41,7 @@ class UpdateTaskMeta(TypedDict): update_stats: UpdateStats | None -class CleanupStats(TypedDict): +class OrphanedResourcesCleanupStats(TypedDict): platforms_in_db: int roms_in_db: int platforms_in_fs: int @@ -50,6 +50,16 @@ class CleanupStats(TypedDict): removed_fs_roms: int +class MissingRomsCleanupStats(TypedDict): + platform_id: int | None + roms_found: int + roms_deleted: int + errors: int + + +CleanupStats = Union[OrphanedResourcesCleanupStats, MissingRomsCleanupStats] + + class CleanupTaskMeta(TypedDict): cleanup_stats: CleanupStats | None diff --git a/frontend/src/__generated__/index.ts b/frontend/src/__generated__/index.ts index 60e4521d1..0dd929f38 100644 --- a/frontend/src/__generated__/index.ts +++ b/frontend/src/__generated__/index.ts @@ -34,6 +34,8 @@ export type { BulkOperationResponse } from './models/BulkOperationResponse'; export type { CleanupStats } from './models/CleanupStats'; export type { CleanupTaskMeta } from './models/CleanupTaskMeta'; export type { CleanupTaskStatusResponse } from './models/CleanupTaskStatusResponse'; +export type { MissingRomsCleanupStats } from './models/MissingRomsCleanupStats'; +export type { OrphanedResourcesCleanupStats } from './models/OrphanedResourcesCleanupStats'; export type { ClientTokenAdminSchema } from './models/ClientTokenAdminSchema'; export type { ClientTokenCreatePayload } from './models/ClientTokenCreatePayload'; export type { ClientTokenCreateSchema } from './models/ClientTokenCreateSchema'; diff --git a/frontend/src/__generated__/models/CleanupStats.ts b/frontend/src/__generated__/models/CleanupStats.ts index 92d106132..504b0098f 100644 --- a/frontend/src/__generated__/models/CleanupStats.ts +++ b/frontend/src/__generated__/models/CleanupStats.ts @@ -2,12 +2,8 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type CleanupStats = { - platforms_in_db: number; - roms_in_db: number; - platforms_in_fs: number; - roms_in_fs: number; - removed_fs_platforms: number; - removed_fs_roms: number; -}; +import type { OrphanedResourcesCleanupStats } from './OrphanedResourcesCleanupStats'; +import type { MissingRomsCleanupStats } from './MissingRomsCleanupStats'; + +export type CleanupStats = OrphanedResourcesCleanupStats | MissingRomsCleanupStats; diff --git a/frontend/src/__generated__/models/MissingRomsCleanupStats.ts b/frontend/src/__generated__/models/MissingRomsCleanupStats.ts new file mode 100644 index 000000000..9bce26e04 --- /dev/null +++ b/frontend/src/__generated__/models/MissingRomsCleanupStats.ts @@ -0,0 +1,10 @@ +/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type MissingRomsCleanupStats = { + platform_id?: number | null; + roms_found: number; + roms_deleted: number; + errors: number; +}; diff --git a/frontend/src/__generated__/models/OrphanedResourcesCleanupStats.ts b/frontend/src/__generated__/models/OrphanedResourcesCleanupStats.ts new file mode 100644 index 000000000..f4d01cc61 --- /dev/null +++ b/frontend/src/__generated__/models/OrphanedResourcesCleanupStats.ts @@ -0,0 +1,12 @@ +/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type OrphanedResourcesCleanupStats = { + platforms_in_db: number; + roms_in_db: number; + platforms_in_fs: number; + roms_in_fs: number; + removed_fs_platforms: number; + removed_fs_roms: number; +}; diff --git a/frontend/src/components/Settings/Administration/tasks/CleanupTaskProgress.vue b/frontend/src/components/Settings/Administration/tasks/CleanupTaskProgress.vue index 74e0ae694..8ae978ea1 100644 --- a/frontend/src/components/Settings/Administration/tasks/CleanupTaskProgress.vue +++ b/frontend/src/components/Settings/Administration/tasks/CleanupTaskProgress.vue @@ -1,13 +1,13 @@