fix: improve chat flow and cleanup
Awaits sendMessage before navigating to prevent race conditions. Passes agentId to startGeneration for correct agent resolution. Adds topic deletion via Ctrl+Alt+Backspace shortcut. Adds date/time prefix to user messages in LLM context. Fixes reasoning-container typo.
This commit is contained in:
@@ -8,7 +8,7 @@ const rootStart = Date.now();
|
||||
const chatPaneWrapper = ref<HTMLElement | null>(null);
|
||||
const inputValue = ref<BaseMessage>({ content: '', fileIds: [] });
|
||||
const route = useRoute();
|
||||
const { getAgent } = await useAgents();
|
||||
const { getAgent, deleteTopic } = await useAgents();
|
||||
const { open: sidebarOpen, openSidebar } = useSidebar();
|
||||
const { providers, allModels } = await useModels();
|
||||
const { addShortcut } = useKeyboardShortcuts();
|
||||
@@ -84,12 +84,6 @@ const handleRegenerate = async (message: Message) => {
|
||||
}
|
||||
}
|
||||
|
||||
const handleDelete = async (rootMessage: Message) => {
|
||||
await $fetch(`/api/messages/${rootMessage.id}`, {
|
||||
method: 'DELETE',
|
||||
});
|
||||
}
|
||||
|
||||
const flatMessages = computed(() => {
|
||||
const messages: Message[] = [];
|
||||
|
||||
@@ -103,6 +97,17 @@ const flatMessages = computed(() => {
|
||||
return messages;
|
||||
});
|
||||
|
||||
const handleDelete = async (rootMessage: Message) => {
|
||||
await $fetch(`/api/messages/${rootMessage.id}`, {
|
||||
method: 'DELETE',
|
||||
});
|
||||
|
||||
if (flatMessages.value.length === 0) {
|
||||
await navigateTo(`/agent/${route.params.id}`);
|
||||
deleteTopic(route.params.id as string, topicId.value);
|
||||
}
|
||||
}
|
||||
|
||||
const activeGeneration = computed(() => {
|
||||
if (topic.value === null) return null;
|
||||
const generations = flatMessages.value.flatMap(message => message.generation);
|
||||
@@ -190,6 +195,14 @@ addShortcut(['ctrl', 'alt', 'arrowright'], async (event) => {
|
||||
}
|
||||
})
|
||||
|
||||
addShortcut(['ctrl', 'alt', 'backspace'], async (event) => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
await navigateTo(`/agent/${route.params.id}`);
|
||||
deleteTopic(route.params.id as string, topicId.value);
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
scrollToBottom('instant');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user