fix: fix message grouping issues

This commit is contained in:
Henry Li
2026-01-18 13:07:56 +08:00
parent 5a0912d0fd
commit 71eadc942f
3 changed files with 58 additions and 58 deletions

View File

@@ -1,10 +1,5 @@
import type { ChatStatus } from "ai";
import {
BoxIcon,
CheckIcon,
LightbulbIcon,
LightbulbOffIcon,
} from "lucide-react";
import { CheckIcon, LightbulbIcon, LightbulbOffIcon } from "lucide-react";
import { useCallback, useMemo, useState, type ComponentProps } from "react";
import {

View File

@@ -36,43 +36,39 @@ export function MessageList({
className={cn("flex size-full flex-col justify-center", className)}
>
<ConversationContent className="mx-auto w-full max-w-(--container-width-md) gap-10 pt-12">
{groupMessages(
thread.messages,
(group) => {
if (group.type === "human" || group.type === "assistant") {
return (
<MessageListItem
key={group.id}
message={group.messages[0]!}
isLoading={thread.isLoading}
/>
);
}
if (group.type === "assistant:present-files") {
const files = [];
for (const message of group.messages) {
if (hasPresentFiles(message)) {
files.push(...extractPresentFilesFromMessage(message));
}
}
return (
<ArtifactFileList
key={group.id}
files={files}
threadId={threadId}
/>
);
}
{groupMessages(thread.messages, (group) => {
if (group.type === "human" || group.type === "assistant") {
return (
<MessageGroup
<MessageListItem
key={group.id}
messages={group.messages}
message={group.messages[0]!}
isLoading={thread.isLoading}
/>
);
},
thread.isLoading,
)}
}
if (group.type === "assistant:present-files") {
const files = [];
for (const message of group.messages) {
if (hasPresentFiles(message)) {
files.push(...extractPresentFilesFromMessage(message));
}
}
return (
<ArtifactFileList
key={group.id}
files={files}
threadId={threadId}
/>
);
}
return (
<MessageGroup
key={"group-" + group.id}
messages={group.messages}
isLoading={thread.isLoading}
/>
);
})}
{thread.isLoading && <StreamingIndicator className="my-4" />}
<div className="h-40" />
</ConversationContent>