diff --git a/backend/danswer/db/engine.py b/backend/danswer/db/engine.py index a1f2335d34..1c6a6a3a32 100644 --- a/backend/danswer/db/engine.py +++ b/backend/danswer/db/engine.py @@ -346,6 +346,7 @@ def get_session() -> Generator[Session, None, None]: raise HTTPException(status_code=401, detail="User must authenticate") engine = get_sqlalchemy_engine() + with Session(engine, expire_on_commit=False) as session: if MULTI_TENANT: if not is_valid_schema_name(tenant_id): diff --git a/web/src/components/chat_search/MinimalMarkdown.tsx b/web/src/components/chat_search/MinimalMarkdown.tsx index 4731e2de9c..401f0adf97 100644 --- a/web/src/components/chat_search/MinimalMarkdown.tsx +++ b/web/src/components/chat_search/MinimalMarkdown.tsx @@ -4,7 +4,7 @@ import { MemoizedLink, MemoizedParagraph, } from "@/app/chat/message/MemoizedTextComponents"; -import React from "react"; +import React, { useMemo } from "react"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; @@ -17,22 +17,26 @@ export const MinimalMarkdown: React.FC = ({ content, className = "", }) => { + const markdownComponents = useMemo( + () => ({ + a: MemoizedLink, + p: MemoizedParagraph, + code: ({ node, inline, className, children, ...props }: any) => { + const codeText = extractCodeText(node, content, children); + return ( + + {children} + + ); + }, + }), + [content] + ); + return ( { - const codeText = extractCodeText(node, content, children); - - return ( - - {children} - - ); - }, - }} + components={markdownComponents} remarkPlugins={[remarkGfm]} > {content}