fix: reverse message order and fix mutation revalidation

Reverse message display order for better UX and prevent unnecessary revalidation during message creation
This commit is contained in:
icarus 2025-09-19 17:52:17 +08:00
parent 0cce8220ce
commit 7060aab33d
2 changed files with 15 additions and 12 deletions

View File

@ -48,7 +48,8 @@ export const useSession = (agentId: string, sessionId: string) => {
updated_at: '' updated_at: ''
} satisfies AgentSessionMessageEntity } satisfies AgentSessionMessageEntity
try { try {
mutate((prev) => ({ mutate(
(prev) => ({
...prev, ...prev,
accessible_paths: prev?.accessible_paths ?? [], accessible_paths: prev?.accessible_paths ?? [],
model: prev?.model ?? '', model: prev?.model ?? '',
@ -58,7 +59,9 @@ export const useSession = (agentId: string, sessionId: string) => {
created_at: prev?.created_at ?? '', created_at: prev?.created_at ?? '',
updated_at: prev?.updated_at ?? '', updated_at: prev?.updated_at ?? '',
messages: [...(prev?.messages ?? []), newMessageDraft] messages: [...(prev?.messages ?? []), newMessageDraft]
})) }),
false
)
await client.createMessage(agentId, sessionId, content) await client.createMessage(agentId, sessionId, content)
} catch (error) { } catch (error) {
mutate(origin) mutate(origin)

View File

@ -37,7 +37,7 @@ const AgentSessionMessages: React.FC<Props> = ({ agentId, sessionId }) => {
<NarrowLayout style={{ display: 'flex', flexDirection: 'column-reverse' }}> <NarrowLayout style={{ display: 'flex', flexDirection: 'column-reverse' }}>
<ContextMenu> <ContextMenu>
<ScrollContainer> <ScrollContainer>
{messages.map((message) => { {messages.toReversed().map((message) => {
const content = getTextFromContent(message.content) const content = getTextFromContent(message.content)
return <div key={message.id}>{content}</div> return <div key={message.id}>{content}</div>
})} })}