From a872e623be55c941c08db0d10e4d31259029e8c5 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Fri, 9 Oct 2026 13:57:35 +0200 Subject: [PATCH] feat: Remove sorting from Status column in Models Table --- .../ModelsManagerModelsTable.svelte | 11 ++-------- .../app/models/ModelsManager/utils.ts | 21 +------------------ tools/ui/src/lib/enums/model.enums.ts | 3 +-- 3 files changed, 4 insertions(+), 31 deletions(-) diff --git a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte index 2a3c2206b2..ae4d7f1841 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte @@ -7,8 +7,7 @@ hasActiveFilters, modelContextLength, type ModelQuantGroup, - type ModelsTableGroup, - statusRank + type ModelsTableGroup } from './utils'; import { ArrowDown, @@ -155,10 +154,6 @@ return (modelContextLength(a) ?? 0) - (modelContextLength(b) ?? 0); case ModelsTableSortKey.NAME: return a.model.localeCompare(b.model); - case ModelsTableSortKey.STATUS: - // a running model leads, then one that is being worked on (loading, - // sleeping), then the rest; the reported status sorts the row's own cell - return statusRank(b) - statusRank(a); default: return 0; } @@ -357,9 +352,7 @@ {@render sortHeader(ModelsTableSortKey.CONTEXT, 'Context')} - - {@render sortHeader(ModelsTableSortKey.STATUS, 'Status')} - + Status Actions diff --git a/tools/ui/src/lib/components/app/models/ModelsManager/utils.ts b/tools/ui/src/lib/components/app/models/ModelsManager/utils.ts index 3721ceca10..2083436649 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/utils.ts +++ b/tools/ui/src/lib/components/app/models/ModelsManager/utils.ts @@ -1,10 +1,5 @@ import { LOCAL_BACKEND_ID, type ModalityKey } from '$lib/constants'; -import { - ModelCapability, - ModelGroupKind, - ModelsTableGroupKind, - ServerModelStatus -} from '$lib/enums'; +import { ModelCapability, ModelGroupKind, ModelsTableGroupKind } from '$lib/enums'; import { HuggingFaceService, ModelsService } from '$lib/services'; import { modelsStore } from '$lib/stores'; import type { ModelDownloadEntry, ModelDownloadProgress, ModelOption } from '$lib/types/models'; @@ -27,20 +22,6 @@ export function hasActiveFilters( return contextLimit > 0 || modalities.length > 0 || capabilities.length > 0; } -/** - * Order a status sorts behind: loaded first, then a model being worked on - * (loading, sleeping), then the rest. - */ -export function statusRank(option: ModelOption): number { - const status = modelsStore.getModelStatus(option.model); - - if (modelsStore.isModelRunning(option.model)) return 2; - - if (status === ServerModelStatus.LOADING || status === ServerModelStatus.SLEEPING) return 1; - - return 0; -} - /** Byte counts of a tracked download: live while it runs, frozen while paused. */ export function downloadProgressFor(repoWithTag: string): ModelDownloadProgress | null { return ( diff --git a/tools/ui/src/lib/enums/model.enums.ts b/tools/ui/src/lib/enums/model.enums.ts index 8e912129f2..e707fe169e 100644 --- a/tools/ui/src/lib/enums/model.enums.ts +++ b/tools/ui/src/lib/enums/model.enums.ts @@ -80,6 +80,5 @@ export enum ModelRowDownloadState { /** Column the models manager table can be ordered by. */ export enum ModelsTableSortKey { CONTEXT = 'context', - NAME = 'name', - STATUS = 'status' + NAME = 'name' }