@@ -4,6 +4,7 @@ import React, {
44 useEffect ,
55 useLayoutEffect ,
66 useCallback ,
7+ useMemo ,
78 memo ,
89 Component ,
910 ReactNode ,
@@ -449,6 +450,12 @@ export default function AIAssistant({
449450 cancel,
450451 } = chat ;
451452
453+ // Filter out system messages for display (keep them in messages array for dev tools)
454+ const visibleMessages = useMemo (
455+ ( ) => messages . filter ( ( m ) => m . role !== "system" ) ,
456+ [ messages ] ,
457+ ) ;
458+
452459 useEffect ( ( ) => {
453460 if ( ! sessionId ) return ;
454461 changeChargeTarget ( sessionId , chargeTarget ) ;
@@ -695,7 +702,7 @@ export default function AIAssistant({
695702 < Spinner size = "lg" />
696703 </ div >
697704 ) }
698- { ! isCreatingSession && messages . length === 0 && (
705+ { ! isCreatingSession && visibleMessages . length === 0 && (
699706 < div className = "flex flex-col items-center justify-center h-full text-center text-gray-500 dark:text-gray-400" >
700707 < BotIcon className = "h-12 w-12 mb-4 opacity-50" />
701708 < p className = "text-sm" > Ask me to help edit your runbook.</ p >
@@ -714,7 +721,7 @@ export default function AIAssistant({
714721 </ div >
715722 </ div >
716723 ) }
717- { messages . map ( ( message , idx ) => (
724+ { visibleMessages . map ( ( message , idx ) => (
718725 < MessageBubble
719726 key = { idx }
720727 message = { message }
@@ -755,7 +762,8 @@ export default function AIAssistant({
755762 </ ScrollShadow >
756763
757764 { /* Scroll to bottom button */ }
758- { ! lockedToBottom && ( messages . length > 0 || streamingContent !== null ) && (
765+ { ! lockedToBottom &&
766+ ( visibleMessages . length > 0 || streamingContent !== null ) && (
759767 < Button
760768 isIconOnly
761769 size = "sm"
@@ -837,7 +845,7 @@ export default function AIAssistant({
837845 < span className = "text-xs text-gray-400" >
838846 < kbd className = "px-1 py-0.5 bg-gray-100 dark:bg-gray-800 rounded" > Enter</ kbd > to send
839847 </ span >
840- { messages . length > 0 && (
848+ { visibleMessages . length > 0 && (
841849 < Button
842850 size = "sm"
843851 variant = "light"
0 commit comments