diff --git a/apps/web/src/components/ChatMarkdown.tsx b/apps/web/src/components/ChatMarkdown.tsx
index 4b53f8534f..5d9fcea50a 100644
--- a/apps/web/src/components/ChatMarkdown.tsx
+++ b/apps/web/src/components/ChatMarkdown.tsx
@@ -211,6 +211,32 @@ function SuspenseShikiCodeBlock({
);
}
+ return (
+
+ );
+}
+
+interface UncachedShikiCodeBlockProps {
+ code: string;
+ language: string;
+ themeName: DiffThemeName;
+ cacheKey: string;
+ isStreaming: boolean;
+}
+
+function UncachedShikiCodeBlock({
+ code,
+ language,
+ themeName,
+ cacheKey,
+ isStreaming,
+}: UncachedShikiCodeBlockProps) {
const highlighter = use(getHighlighterPromise(language));
const highlightedHtml = useMemo(() => {
try {
diff --git a/apps/web/src/components/chat/MessagesTimeline.tsx b/apps/web/src/components/chat/MessagesTimeline.tsx
index e4b683592e..f34c2a56ed 100644
--- a/apps/web/src/components/chat/MessagesTimeline.tsx
+++ b/apps/web/src/components/chat/MessagesTimeline.tsx
@@ -87,6 +87,8 @@ interface TimelineRowSharedState {
}
const TimelineRowCtx = createContext(null!);
+const TIMELINE_LIST_HEADER = ;
+const TIMELINE_LIST_FOOTER = ;
// ---------------------------------------------------------------------------
// Props (public API)
@@ -261,8 +263,8 @@ export const MessagesTimeline = memo(function MessagesTimeline({
maintainVisibleContentPosition
onScroll={handleScroll}
className="h-full overflow-x-hidden overscroll-y-contain px-3 sm:px-5"
- ListHeaderComponent={}
- ListFooterComponent={}
+ ListHeaderComponent={TIMELINE_LIST_HEADER}
+ ListFooterComponent={TIMELINE_LIST_FOOTER}
/>
);