From 6fe2c619d1bbbf5ac70e64c2084d19110e229ce0 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 13 Oct 2024 18:48:42 -0500 Subject: [PATCH] add embeddings reindex progress to statusbar --- web/src/components/Statusbar.tsx | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/web/src/components/Statusbar.tsx b/web/src/components/Statusbar.tsx index 41bd9372f..fbdce28c4 100644 --- a/web/src/components/Statusbar.tsx +++ b/web/src/components/Statusbar.tsx @@ -1,3 +1,4 @@ +import { useEmbeddingsReindexProgress } from "@/api/ws"; import { StatusBarMessagesContext, StatusMessage, @@ -10,7 +11,7 @@ import { MdCircle } from "react-icons/md"; import { Link } from "react-router-dom"; export default function Statusbar() { - const { messages, addMessage, clearMessages } = useContext( + const { messages, addMessage, removeMessage, clearMessages } = useContext( StatusBarMessagesContext, )!; @@ -41,6 +42,24 @@ export default function Statusbar() { }); }, [potentialProblems, addMessage, clearMessages]); + const { payload: reindexState } = useEmbeddingsReindexProgress(); + + useEffect(() => { + if (reindexState) { + if (reindexState.status == "indexing") { + addMessage( + "embeddings-reindex", + `Reindexing embeddings (${Math.floor((reindexState.processed_objects / reindexState.total_objects) * 100)}% complete)`, + undefined, + "status", + ); + } + if (reindexState.status === "completed") { + removeMessage("embeddings-reindex", "status"); + } + } + }, [reindexState, addMessage, removeMessage]); + return (