Skip to content

Commit 43baaaf

Browse files
authored
Merge pull request #56 from pattern-tech/fix/thinking
fix: Show thinking message when actual message chunks are not received
2 parents 68f8f1a + e829afb commit 43baaaf

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

components/messages.tsx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { ChatRequestOptions, Message } from 'ai';
2-
import { PreviewMessage, ThinkingMessage } from './message';
3-
import { useScrollToBottom } from './use-scroll-to-bottom';
4-
import { Overview } from './overview';
2+
import equal from 'fast-deep-equal';
53
import { memo } from 'react';
4+
65
import { Vote } from '@/lib/db/schema';
7-
import equal from 'fast-deep-equal';
6+
7+
import { PreviewMessage, ThinkingMessage } from './message';
8+
import { Overview } from './overview';
9+
import { useScrollToBottom } from './use-scroll-to-bottom';
810

911
interface MessagesProps {
1012
chatId: string;
@@ -33,14 +35,16 @@ function PureMessages({
3335
const [messagesContainerRef, messagesEndRef] =
3436
useScrollToBottom<HTMLDivElement>();
3537

38+
const nonEmptyMessages = messages.filter((message) => message.content);
39+
3640
return (
3741
<div
3842
ref={messagesContainerRef}
3943
className="flex flex-col min-w-0 gap-6 flex-1 overflow-y-scroll pt-4"
4044
>
41-
{messages.length === 0 && <Overview />}
45+
{nonEmptyMessages.length === 0 && <Overview />}
4246

43-
{messages.map((message, index) => (
47+
{nonEmptyMessages.map((message, index) => (
4448
<PreviewMessage
4549
key={message.id}
4650
chatId={chatId}
@@ -58,8 +62,10 @@ function PureMessages({
5862
))}
5963

6064
{isLoading &&
61-
messages.length > 0 &&
62-
messages[messages.length - 1].role === 'user' && <ThinkingMessage />}
65+
nonEmptyMessages.length > 0 &&
66+
nonEmptyMessages[nonEmptyMessages.length - 1].role === 'user' && (
67+
<ThinkingMessage />
68+
)}
6369

6470
<div
6571
ref={messagesEndRef}

0 commit comments

Comments
 (0)