Kirjava commited on
Commit
b8a197e
·
unverified ·
1 Parent(s): a9036a1

fix: issue with generating a new url id every time (#18)

Browse files
packages/bolt/app/components/chat/Chat.client.tsx CHANGED
@@ -63,7 +63,10 @@ export function ChatImpl({ initialMessages, storeMessageHistory }: ChatProps) {
63
 
64
  useEffect(() => {
65
  parseMessages(messages, isLoading);
66
- storeMessageHistory(messages).catch((error) => toast.error(error.message));
 
 
 
67
  }, [messages, isLoading, parseMessages]);
68
 
69
  const scrollTextArea = () => {
 
63
 
64
  useEffect(() => {
65
  parseMessages(messages, isLoading);
66
+
67
+ if (messages.length > initialMessages.length) {
68
+ storeMessageHistory(messages).catch((error) => toast.error(error.message));
69
+ }
70
  }, [messages, isLoading, parseMessages]);
71
 
72
  const scrollTextArea = () => {
packages/bolt/app/lib/persistence/useChatHistory.ts CHANGED
@@ -14,12 +14,13 @@ export interface ChatHistory {
14
 
15
  const persistenceEnabled = !import.meta.env.VITE_DISABLE_PERSISTENCE;
16
 
17
- const db = persistenceEnabled ? await openDatabase() : undefined;
18
 
19
  export function useChatHistory() {
20
  const navigate = useNavigate();
21
- const { id: chatId } = useLoaderData<{ id?: string }>();
22
 
 
23
  const [initialMessages, setInitialMessages] = useState<Message[]>([]);
24
  const [ready, setReady] = useState<boolean>(false);
25
  const [entryId, setEntryId] = useState<string | undefined>();
@@ -42,6 +43,9 @@ export function useChatHistory() {
42
  .then((storedMessages) => {
43
  if (storedMessages && storedMessages.messages.length > 0) {
44
  setInitialMessages(storedMessages.messages);
 
 
 
45
  } else {
46
  navigate(`/`, { replace: true });
47
  }
 
14
 
15
  const persistenceEnabled = !import.meta.env.VITE_DISABLE_PERSISTENCE;
16
 
17
+ export const db = persistenceEnabled ? await openDatabase() : undefined;
18
 
19
  export function useChatHistory() {
20
  const navigate = useNavigate();
21
+ const { id: mixedId } = useLoaderData<{ id?: string }>();
22
 
23
+ const [chatId, setChatId] = useState(mixedId);
24
  const [initialMessages, setInitialMessages] = useState<Message[]>([]);
25
  const [ready, setReady] = useState<boolean>(false);
26
  const [entryId, setEntryId] = useState<string | undefined>();
 
43
  .then((storedMessages) => {
44
  if (storedMessages && storedMessages.messages.length > 0) {
45
  setInitialMessages(storedMessages.messages);
46
+ setUrlId(storedMessages.urlId);
47
+ setDescription(storedMessages.description);
48
+ setChatId(storedMessages.id);
49
  } else {
50
  navigate(`/`, { replace: true });
51
  }