From a308170cd9ca10304cf3cee17c3368d0606a1e38 Mon Sep 17 00:00:00 2001 From: Simon Cordt Date: Thu, 25 Sep 2025 04:05:01 +0200 Subject: [PATCH] Fix: Correct filter parameters before keyset pagination --- server/database.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/database.py b/server/database.py index 49ccb63..8389c26 100644 --- a/server/database.py +++ b/server/database.py @@ -352,7 +352,11 @@ class QueueDatabase: where_clauses.append("(prompt_id LIKE ? OR (workflow IS NOT NULL AND workflow LIKE ?) OR (outputs IS NOT NULL AND outputs LIKE ?))") params.extend([like, like, like]) - # Keyset pagination cursor + # Preserve filter-only clauses/params for total count BEFORE adding keyset cursor params + filter_only_clauses = list(where_clauses) + filter_only_params = list(params) + + # Keyset pagination cursor (append AFTER capturing filter_only_params) keyset_clause = None if sort_by == "id": if cursor_id is not None: @@ -365,10 +369,6 @@ class QueueDatabase: keyset_clause = f"(({sort_by} {cmp} ?) OR ({sort_by} = ? AND id {cmp} ?))" params.extend([cursor_value, cursor_value, int(cursor_id)]) - # Preserve filter-only clauses/params for total count - filter_only_clauses = list(where_clauses) - filter_only_params = list(params) - if keyset_clause: where_clauses.append(keyset_clause)