From 5dc8e554290cf95937a87c23d1043392ead5ba1f Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 21:31:36 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Disable=20chat=20inpu?= =?UTF-8?q?ts=20when=20kernel=20connection=20is=20offline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: teerthsharma <78080953+teerthsharma@users.noreply.github.com> --- .../APEIRON/frontend/components/ChatInterface.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/future/apeiron-runtime/APEIRON/frontend/components/ChatInterface.tsx b/future/apeiron-runtime/APEIRON/frontend/components/ChatInterface.tsx index ca05d58..ff290b8 100644 --- a/future/apeiron-runtime/APEIRON/frontend/components/ChatInterface.tsx +++ b/future/apeiron-runtime/APEIRON/frontend/components/ChatInterface.tsx @@ -41,7 +41,7 @@ const ThoughtItem = memo(function ThoughtItem({ thought }: { thought: string }) )}); export default function ChatInterface() { - const { messages, sendMessage, isLearning, pulseType, thoughts } = useApeiron(); + const { messages, sendMessage, isLearning, pulseType, thoughts, tunnelStatus } = useApeiron(); const [input, setInput] = useState(''); const scrollRef = useRef(null); @@ -135,15 +135,16 @@ export default function ChatInterface() { setInput(e.target.value)} - placeholder="Inject knowledge into the kernel..." + disabled={tunnelStatus !== 'LOCKED'} + placeholder={tunnelStatus !== 'LOCKED' ? "Connecting to kernel..." : "Inject knowledge into the kernel..."} aria-label="Message input" - className="flex-1 bg-gray-900 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-green-500 transition-colors text-white" + className="flex-1 bg-gray-900 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-green-500 transition-colors text-white disabled:opacity-50 disabled:cursor-not-allowed" />