From 02132fc5e8ca52f865643bc54cb631968f4b992a Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 22 Jan 2026 18:10:42 -0500 Subject: [PATCH] Fix: Ensure IDAA Recovery Meetings respect the user-defined limit - Simplified limit logic in search__event and qry_ae_obj_li__event_v2 to use the passed value directly. - Added .slice(0, limit) to filtered results in Event module to handle over-fetching correctly. - Explicitly passed the qry__limit from idaa_loc to the meeting list components. - Applied .limit() to the Dexie liveQuery in the meeting list wrapper. - Updated the UI result count and loop to strictly adhere to the requested limit. --- src/lib/ae_events/ae_events__event.ts | 10 +++++----- src/routes/idaa/(idaa)/recovery_meetings/+page.svelte | 1 + .../ae_idaa_comp__event_obj_li.svelte | 6 +++--- .../ae_idaa_comp__event_obj_li_wrapper.svelte | 2 ++ 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/lib/ae_events/ae_events__event.ts b/src/lib/ae_events/ae_events__event.ts index 43ea0c07..186e89fa 100644 --- a/src/lib/ae_events/ae_events__event.ts +++ b/src/lib/ae_events/ae_events__event.ts @@ -479,7 +479,7 @@ export async function search__event({ enabled, hidden, view, - limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, + limit, offset, order_by_li, log_lvl @@ -495,7 +495,7 @@ export async function search__event({ enabled, hidden, view, - limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, + limit, offset, order_by_li, log_lvl @@ -572,7 +572,7 @@ export async function search__event({ console.log(`Filter results (V3 Search): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`); } - return filtered_obj_li; + return filtered_obj_li.slice(0, limit); } export const qry_ae_obj_li__event = search__event; @@ -637,7 +637,7 @@ export async function qry_ae_obj_li__event_v2({ for_obj_id, enabled, hidden, - limit: (qry_person_id || qry_conference !== null || qry_physical !== null || qry_virtual !== null || qry_type !== null) ? 500 : limit, + limit, offset, order_by_li, params_json, @@ -707,7 +707,7 @@ export async function qry_ae_obj_li__event_v2({ console.log(`Filter results (V2): Input=${processed_obj_li.length}, Output=${filtered_obj_li.length}`); } - return filtered_obj_li; + return filtered_obj_li.slice(0, limit); } // Updated 2025-05-09 diff --git a/src/routes/idaa/(idaa)/recovery_meetings/+page.svelte b/src/routes/idaa/(idaa)/recovery_meetings/+page.svelte index 04e68151..4d455d90 100644 --- a/src/routes/idaa/(idaa)/recovery_meetings/+page.svelte +++ b/src/routes/idaa/(idaa)/recovery_meetings/+page.svelte @@ -487,6 +487,7 @@ {event_id_random_li} link_to_type={'account'} link_to_id={$ae_loc.account_id} + limit={$idaa_loc.recovery_meetings.qry__limit} {log_lvl} /> {:else} diff --git a/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li.svelte b/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li.svelte index 0b27ae66..1a311d8c 100644 --- a/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li.svelte +++ b/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_li.svelte @@ -120,16 +120,16 @@ {#if $lq__event_obj_li?.length} - {$lq__event_obj_li.length ?? 'None'} + {($lq__event_obj_li.length > $idaa_loc.recovery_meetings.qry__limit ? $idaa_loc.recovery_meetings.qry__limit : $lq__event_obj_li.length) ?? 'None'} {/if} {#each $lq__event_obj_li as idaa_event_obj, index} - {#if idaa_event_obj} + {#if idaa_event_obj && index < $idaa_loc.recovery_meetings.qry__limit}
{ return event.enable == true; }) + .limit(limit > 0 ? limit : 500) .sortBy('name'); // This should be sorted by a custom sort field } else { @@ -97,6 +98,7 @@ .and((event) => { return event.enable == true; }) + .limit(limit > 0 ? limit : 500) .sortBy('updated_on'); }