diff --git a/frontend/src/app/chat/components/assistant-message.tsx b/frontend/src/app/chat/components/assistant-message.tsx
index 9b109813..0f24dd8c 100644
--- a/frontend/src/app/chat/components/assistant-message.tsx
+++ b/frontend/src/app/chat/components/assistant-message.tsx
@@ -83,8 +83,10 @@ export function AssistantMessage({
)}
chatMessage={
isStreaming
- ? content +
- ' '
+ ? (content.trim()
+ ? content +
+ ' '
+ : 'Thinking')
: content
}
/>
diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
index 7ffab80e..4765ef8c 100644
--- a/frontend/src/app/globals.css
+++ b/frontend/src/app/globals.css
@@ -365,4 +365,22 @@
width: 100%;
height: 30px;
}
+
+ .thinking-dots::after {
+ content: ".";
+ animation: thinking-dots 1.4s steps(3, end) infinite;
+ }
+
+ @keyframes thinking-dots {
+ 0% {
+ content: ".";
+ }
+ 33.33% {
+ content: "..";
+ }
+ 66.66%,
+ 100% {
+ content: "...";
+ }
+ }
}
diff --git a/frontend/src/app/onboarding/components/ibm-onboarding.tsx b/frontend/src/app/onboarding/components/ibm-onboarding.tsx
index d3540977..3d480248 100644
--- a/frontend/src/app/onboarding/components/ibm-onboarding.tsx
+++ b/frontend/src/app/onboarding/components/ibm-onboarding.tsx
@@ -26,7 +26,7 @@ export function IBMOnboarding({
setIsLoadingModels?: (isLoading: boolean) => void;
alreadyConfigured?: boolean;
}) {
- const [endpoint, setEndpoint] = useState("https://us-south.ml.cloud.ibm.com");
+ const [endpoint, setEndpoint] = useState(alreadyConfigured ? "" : "https://us-south.ml.cloud.ibm.com");
const [apiKey, setApiKey] = useState("");
const [projectId, setProjectId] = useState("");
diff --git a/frontend/src/app/onboarding/components/ollama-onboarding.tsx b/frontend/src/app/onboarding/components/ollama-onboarding.tsx
index e9d2fa1b..99c26d2a 100644
--- a/frontend/src/app/onboarding/components/ollama-onboarding.tsx
+++ b/frontend/src/app/onboarding/components/ollama-onboarding.tsx
@@ -25,7 +25,7 @@ export function OllamaOnboarding({
isEmbedding?: boolean;
alreadyConfigured?: boolean;
}) {
- const [endpoint, setEndpoint] = useState(`http://localhost:11434`);
+ const [endpoint, setEndpoint] = useState(alreadyConfigured ? undefined : `http://localhost:11434`);
const [showConnecting, setShowConnecting] = useState(false);
const debouncedEndpoint = useDebouncedValue(endpoint, 500);