From dcff8d3c534361d697e6949ac062e11d2f27b00a Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Fri, 24 Apr 2026 03:04:51 +0100 Subject: [PATCH] fix(base): mirror filter-clear fix for sorts so deleting the last sort sticks --- apps/client/src/features/base/hooks/use-view-draft.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/client/src/features/base/hooks/use-view-draft.ts b/apps/client/src/features/base/hooks/use-view-draft.ts index 2bd4d3bb7..03d37a45f 100644 --- a/apps/client/src/features/base/hooks/use-view-draft.ts +++ b/apps/client/src/features/base/hooks/use-view-draft.ts @@ -91,7 +91,13 @@ export function useViewDraft(args: UseViewDraftArgs): ViewDraftState { if (!ready) return; const current = storedDraft ?? null; const mergedFilter = current?.filter; - const mergedSorts = next; + // If the baseline has sorts, clearing to `undefined` would fall back + // to the baseline in effectiveSorts. Persist an empty array instead + // so the draft explicitly overrides the baseline with no sorts. + const mergedSorts = + next === undefined && baselineSorts !== undefined && baselineSorts.length > 0 + ? [] + : next; if (mergedFilter === undefined && (mergedSorts === undefined || mergedSorts === null)) { setDraft(RESET); return; @@ -102,7 +108,7 @@ export function useViewDraft(args: UseViewDraftArgs): ViewDraftState { updatedAt: new Date().toISOString(), }); }, - [ready, storedDraft, setDraft], + [ready, storedDraft, setDraft, baselineSorts], ); const reset = useCallback(() => {