fix: performance issue with atom storage persistence

This commit is contained in:
Louis 2024-12-17 15:44:13 +07:00
parent f2db31781e
commit 2b0a4c433c
No known key found for this signature in database
GPG Key ID: 44FA9F4D33C37DE2

View File

@ -6,7 +6,7 @@ import {
} from '@janhq/core' } from '@janhq/core'
import { atom } from 'jotai' import { atom } from 'jotai'
import { atomWithStorage } from 'jotai/utils' import { atomWithStorage, createJSONStorage } from 'jotai/utils'
import { import {
getActiveThreadIdAtom, getActiveThreadIdAtom,
@ -16,13 +16,16 @@ import {
import { TokenSpeed } from '@/types/token' import { TokenSpeed } from '@/types/token'
const CHAT_MESSAGE_NAME = 'chatMessages' const CHAT_MESSAGE_NAME = 'chatMessages'
const storage = createJSONStorage<Record<string, ThreadMessage[]>>(
() => sessionStorage
)
/** /**
* Stores all chat messages for all threads * Stores all chat messages for all threads
*/ */
export const chatMessages = atomWithStorage<Record<string, ThreadMessage[]>>( export const chatMessages = atomWithStorage<Record<string, ThreadMessage[]>>(
CHAT_MESSAGE_NAME, CHAT_MESSAGE_NAME,
{}, {},
undefined, storage,
{ getOnInit: true } { getOnInit: true }
) )