From: igardev Date: Mon, 5 May 2025 14:03:31 +0000 (+0300) Subject: server : Webui - change setText command from parent window to also send the message... X-Git-Tag: upstream/0.0.5318~33 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=b34c859146630dff136943abc9852ca173a7c9d6;p=pkg%2Fggml%2Fsources%2Fllama.cpp server : Webui - change setText command from parent window to also send the message. (#13309) * setText command from parent window for llama-vscode now sends the message automatically. * Upgrade packages versions to fix vulnerabilities with "npm audit fix" command. * Fix code formatting. * Add index.html.gz changes. * Revert "Upgrade packages versions to fix vulnerabilities with "npm audit fix" command." This reverts commit 67687b7fda8a293724ba92ea30bb151677406bc8. * easier approach * add setTimeout --------- Co-authored-by: igardev Co-authored-by: Xuan Son Nguyen --- diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 6f760c39..82d2e3b9 100644 Binary files a/tools/server/public/index.html.gz and b/tools/server/public/index.html.gz differ diff --git a/tools/server/webui/src/components/ChatScreen.tsx b/tools/server/webui/src/components/ChatScreen.tsx index 29ab5ea6..a2e3ee99 100644 --- a/tools/server/webui/src/components/ChatScreen.tsx +++ b/tools/server/webui/src/components/ChatScreen.tsx @@ -157,6 +157,9 @@ export default function ChatScreen() { clearExtraContext(); }; + // for vscode context + textarea.refOnSubmit.current = sendNewMessage; + const handleEditMessage = async (msg: Message, content: string) => { if (!viewingChat) return; setCurrNodeId(msg.id); diff --git a/tools/server/webui/src/components/useChatTextarea.ts b/tools/server/webui/src/components/useChatTextarea.ts index 42b12819..a3223f4f 100644 --- a/tools/server/webui/src/components/useChatTextarea.ts +++ b/tools/server/webui/src/components/useChatTextarea.ts @@ -37,6 +37,7 @@ export interface ChatTextareaApi { setValue: (value: string) => void; focus: () => void; ref: React.RefObject; + refOnSubmit: React.MutableRefObject<(() => void) | null>; // Submit handler onInput: (event: React.FormEvent) => void; // Input handler } @@ -46,6 +47,7 @@ export interface ChatTextareaApi { export function useChatTextarea(initValue: string): ChatTextareaApi { const [savedInitValue, setSavedInitValue] = useState(initValue); const textareaRef = useRef(null); + const onSubmitRef = useRef<(() => void) | null>(null); // Effect to set initial value and height on mount or when initValue changes useEffect(() => { @@ -91,6 +93,7 @@ export function useChatTextarea(initValue: string): ChatTextareaApi { } }, ref: textareaRef, + refOnSubmit: onSubmitRef, onInput: handleInput, }; } diff --git a/tools/server/webui/src/utils/llama-vscode.ts b/tools/server/webui/src/utils/llama-vscode.ts index c45b0d39..55ebdcff 100644 --- a/tools/server/webui/src/utils/llama-vscode.ts +++ b/tools/server/webui/src/utils/llama-vscode.ts @@ -33,6 +33,9 @@ export const useVSCodeContext = (textarea: ChatTextareaApi) => { }); } textarea.focus(); + setTimeout(() => { + textarea.refOnSubmit.current?.(); + }, 10); // wait for setExtraContext to finish } };