Skip to content

Commit 1b62a7e

Browse files
authored
Merge pull request #762 from tnfssc/sharath/suna-394-select-messages-from-db-bypass-the-max-rows-returned-limit
2 parents a085c55 + 34ea675 commit 1b62a7e

File tree

1 file changed

+29
-13
lines changed

1 file changed

+29
-13
lines changed

frontend/src/lib/api.ts

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -511,23 +511,39 @@ export const addUserMessage = async (
511511
export const getMessages = async (threadId: string): Promise<Message[]> => {
512512
const supabase = createClient();
513513

514-
const { data, error } = await supabase
515-
.from('messages')
516-
.select('*')
517-
.eq('thread_id', threadId)
518-
.neq('type', 'cost')
519-
.neq('type', 'summary')
520-
.order('created_at', { ascending: true });
514+
let allMessages: Message[] = [];
515+
let from = 0;
516+
const batchSize = 1000;
517+
let hasMore = true;
521518

522-
if (error) {
523-
console.error('Error fetching messages:', error);
524-
handleApiError(error, { operation: 'load messages', resource: `messages for thread ${threadId}` });
525-
throw new Error(`Error getting messages: ${error.message}`);
519+
while (hasMore) {
520+
const { data, error } = await supabase
521+
.from('messages')
522+
.select('*')
523+
.eq('thread_id', threadId)
524+
.neq('type', 'cost')
525+
.neq('type', 'summary')
526+
.order('created_at', { ascending: true })
527+
.range(from, from + batchSize - 1);
528+
529+
if (error) {
530+
console.error('Error fetching messages:', error);
531+
handleApiError(error, { operation: 'load messages', resource: `messages for thread ${threadId}` });
532+
throw new Error(`Error getting messages: ${error.message}`);
533+
}
534+
535+
if (data && data.length > 0) {
536+
allMessages = allMessages.concat(data);
537+
from += batchSize;
538+
hasMore = data.length === batchSize;
539+
} else {
540+
hasMore = false;
541+
}
526542
}
527543

528-
console.log('[API] Messages fetched:', data);
544+
console.log('[API] Messages fetched count:', allMessages.length);
529545

530-
return data || [];
546+
return allMessages;
531547
};
532548

533549
// Agent APIs

0 commit comments

Comments
 (0)