mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-08-28 05:25:33 +00:00
Model selection bug in ChatService (#909)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
54bc618010
commit
35c606028c
1 changed files with 20 additions and 6 deletions
|
|
@ -164,8 +164,11 @@ export function ChatSidebar({
|
|||
const isMobile = useIsMobile()
|
||||
const isPageDesktop = layout === "page" && !isMobile
|
||||
const [input, setInput] = useState("")
|
||||
const [selectedModel, setSelectedModel] =
|
||||
useState<ModelId>("claude-sonnet-4.6")
|
||||
const [selectedModel, setSelectedModel] = useState<ModelId>(
|
||||
initialSelectedModel ?? "claude-sonnet-4.6",
|
||||
)
|
||||
const selectedModelRef = useRef(selectedModel)
|
||||
selectedModelRef.current = selectedModel
|
||||
const [copiedMessageId, setCopiedMessageId] = useState<string | null>(null)
|
||||
const [hoveredMessageId, setHoveredMessageId] = useState<string | null>(null)
|
||||
const [messageFeedback, setMessageFeedback] = useState<
|
||||
|
|
@ -187,6 +190,8 @@ export function ChatSidebar({
|
|||
const sentQueuedMessageRef = useRef<string | null>(null)
|
||||
const { selectedProject } = useProject()
|
||||
const { allProjects } = useContainerTags()
|
||||
const selectedProjectRef = useRef(selectedProject)
|
||||
selectedProjectRef.current = selectedProject
|
||||
const chatSpaceLabel = useMemo(
|
||||
() =>
|
||||
getChatSpaceDisplayLabel({
|
||||
|
|
@ -206,23 +211,26 @@ export function ChatSidebar({
|
|||
(id: string) => setThreadId(id),
|
||||
[setThreadId],
|
||||
)
|
||||
const chatApiBase =
|
||||
process.env.NEXT_PUBLIC_BACKEND_URL ?? "https://api.supermemory.ai"
|
||||
|
||||
const chatTransport = useMemo(
|
||||
() =>
|
||||
new DefaultChatTransport({
|
||||
api: `${process.env.NEXT_PUBLIC_BACKEND_URL ?? "https://api.supermemory.ai"}/chat`,
|
||||
api: `${chatApiBase}/chat`,
|
||||
credentials: "include",
|
||||
prepareSendMessagesRequest: ({ messages }) => ({
|
||||
body: {
|
||||
messages,
|
||||
metadata: {
|
||||
chatId: chatIdRef.current,
|
||||
projectId: selectedProject,
|
||||
model: selectedModel,
|
||||
projectId: selectedProjectRef.current,
|
||||
model: selectedModelRef.current,
|
||||
},
|
||||
},
|
||||
}),
|
||||
}),
|
||||
[selectedProject, selectedModel],
|
||||
[chatApiBase],
|
||||
)
|
||||
const [pendingThreadLoad, setPendingThreadLoad] = useState<{
|
||||
id: string
|
||||
|
|
@ -502,6 +510,10 @@ export function ChatSidebar({
|
|||
status !== "streaming" &&
|
||||
sentQueuedMessageRef.current !== queuedMessage
|
||||
) {
|
||||
if (initialSelectedModel && selectedModel !== initialSelectedModel) {
|
||||
setSelectedModel(initialSelectedModel)
|
||||
return
|
||||
}
|
||||
sentQueuedMessageRef.current = queuedMessage
|
||||
if (!threadId) setThreadId(fallbackChatId)
|
||||
analytics.chatMessageSent({ source: queuedMessageSource })
|
||||
|
|
@ -512,6 +524,8 @@ export function ChatSidebar({
|
|||
isChatOpen,
|
||||
queuedMessage,
|
||||
queuedMessageSource,
|
||||
initialSelectedModel,
|
||||
selectedModel,
|
||||
status,
|
||||
sendMessage,
|
||||
onConsumeQueuedMessage,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue