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,17 +48,20 @@ export const useSession = (agentId: string, sessionId: string) => {
updated_at: '' updated_at: ''
} satisfies AgentSessionMessageEntity } satisfies AgentSessionMessageEntity
try { try {
mutate((prev) => ({ mutate(
...prev, (prev) => ({
accessible_paths: prev?.accessible_paths ?? [], ...prev,
model: prev?.model ?? '', accessible_paths: prev?.accessible_paths ?? [],
id: prev?.id ?? '', model: prev?.model ?? '',
agent_id: prev?.id ?? '', id: prev?.id ?? '',
agent_type: prev?.agent_type ?? 'claude-code', agent_id: prev?.id ?? '',
created_at: prev?.created_at ?? '', agent_type: prev?.agent_type ?? 'claude-code',
updated_at: prev?.updated_at ?? '', created_at: prev?.created_at ?? '',
messages: [...(prev?.messages ?? []), newMessageDraft] updated_at: prev?.updated_at ?? '',
})) 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>
})} })}