fix(webui): remove eager markdown preload

Remove the eager preloading of markdown/code-highlighting chunk at startup.
The markdown renderer will now only be loaded when actually needed to render content.
This commit is contained in:
yorkhellen 2026-05-14 16:02:31 +08:00 committed by Xubin Ren
parent 0a25f696ab
commit 52a9300d9e
2 changed files with 3 additions and 20 deletions

View File

@ -5,7 +5,7 @@ import { Sidebar } from "@/components/Sidebar";
import { SettingsView } from "@/components/settings/SettingsView";
import { ThreadShell } from "@/components/thread/ThreadShell";
import { Sheet, SheetContent } from "@/components/ui/sheet";
import { preloadMarkdownText } from "@/components/MarkdownText";
import { useSessions } from "@/hooks/useSessions";
import { useTheme } from "@/hooks/useTheme";
import { cn } from "@/lib/utils";
@ -157,22 +157,7 @@ export default function App() {
return bootstrapWithSecret(saved);
}, [bootstrapWithSecret]);
useEffect(() => {
const warm = () => preloadMarkdownText();
const win = globalThis as typeof globalThis & {
requestIdleCallback?: (
callback: IdleRequestCallback,
options?: IdleRequestOptions,
) => number;
cancelIdleCallback?: (handle: number) => void;
};
if (typeof win.requestIdleCallback === "function") {
const id = win.requestIdleCallback(warm, { timeout: 1500 });
return () => win.cancelIdleCallback?.(id);
}
const id = globalThis.setTimeout(warm, 250);
return () => globalThis.clearTimeout(id);
}, []);
if (state.status === "loading") {
return (

View File

@ -10,9 +10,7 @@ interface MarkdownTextProps {
const loadMarkdownRenderer = () => import("@/components/MarkdownTextRenderer");
const LazyMarkdownRenderer = lazy(loadMarkdownRenderer);
export function preloadMarkdownText(): void {
void loadMarkdownRenderer();
}
/**
* Lightweight markdown renderer mirroring agent-chat-ui: GFM + math via