Skip to content

Commit bb2055f

Browse files
author
Brian Genisio
committed
Making the initialMessage 'sticky' by saving it in local storage and clearing after the first submit.
1 parent 9cfc3f6 commit bb2055f

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

client/src/components/Chat/ChatView.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ function ChatView({ index = 0 }: { index?: number }) {
3939
const {presetsQuery, onSelectPreset} = usePresets();
4040

4141
const fileMap = useFileMapContext();
42-
const initialMessage = searchParams.get('initialMessage');
42+
const initialMessageFromUrl = searchParams.get('initialMessage');
4343
const usePresetId = searchParams.get('usePresetId');
4444

4545
useEffect(() => {
@@ -50,7 +50,13 @@ function ChatView({ index = 0 }: { index?: number }) {
5050
searchParams.delete('usePresetId');
5151
}
5252
}
53-
}, [usePresetId, presetsQuery.data, onSelectPreset])
53+
}, [usePresetId, presetsQuery.data, onSelectPreset]);
54+
55+
useEffect(() => {
56+
if (initialMessageFromUrl) {
57+
localStorage.setItem('initialMessage', initialMessageFromUrl);
58+
}
59+
}, [initialMessageFromUrl]);
5460

5561
const { data: messagesTree = null, isLoading } = useGetMessagesByConvoId(conversationId ?? '', {
5662
select: useCallback(
@@ -65,6 +71,11 @@ function ChatView({ index = 0 }: { index?: number }) {
6571

6672
const chatHelpers = useChatHelpers(index, conversationId);
6773
const addedChatHelpers = useAddedResponse({ rootIndex: index });
74+
const initialMessage = localStorage.getItem('initialMessage');
75+
76+
if (initialMessage && chatHelpers.isSubmitting) {
77+
localStorage.removeItem('initialMessage');
78+
}
6879

6980
useSSE(rootSubmission, chatHelpers, false);
7081
useSSE(addedSubmission, addedChatHelpers, true);

client/src/components/Chat/Input/ChatForm.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,9 @@ const ChatForm = memo(({ index = 0, initialMessage = '' }: { index?: number; in
129129
isSubmitting: isSubmitting || isSubmittingAdded,
130130
});
131131

132-
useEffect(() => {
133-
if (initialMessage) {
134-
methods.setValue('text', initialMessage);
135-
}
136-
}, [initialMessage, methods]);
132+
if (initialMessage && methods.getValues('text') === '') {
133+
methods.setValue('text', initialMessage);
134+
}
137135

138136
const { submitMessage, submitPrompt } = useSubmitMessage();
139137

0 commit comments

Comments
 (0)