LibreChat/client/src/Providers
Danny Avila 15ea03624d
Some checks are pending
Docker Dev Branch Images Build / build (Dockerfile, lc-dev, node) (push) Waiting to run
Docker Dev Branch Images Build / build (Dockerfile.multi, lc-dev-api, api-build) (push) Waiting to run
GitNexus Index / index (push) Waiting to run
GitNexus Index / post-index (push) Blocked by required conditions
🧊 perf: Memoize Completed Markdown Blocks During Streaming (#13576)
Render assistant markdown as independently memoized top-level blocks instead of a
single ReactMarkdown that re-parses and re-highlights the entire message on every
streamed token. Once a block's source slice is stable it skips re-parse/re-render;
only the final, still-growing block re-parses.

- splitMarkdown: split a message into top-level blocks via mdast-util-from-markdown
  (+ gfm/directive/math extensions) using node source offsets; also report per-block
  executable-code and artifact index counts.
- MarkdownBlocks: render each block memoized on its raw slice, each wrapped in its
  own CodeBlock/Artifact providers seeded with prefix-summed base indices, so the
  document-order indices used to match code-execution results stay stable under
  memoization (verified by OLD-vs-NEW parity tests across direct + streamed renders).
- CodeBlockContext/ArtifactContext: add optional baseIndex (default 0, fully
  backward compatible) so per-block providers continue the running index.
- markdownConfig: extract the shared remark/rehype plugins + components map.
- deps: declare mdast-util-from-markdown, mdast-util-gfm/math/directive and the
  micromark gfm/math/directive extensions as direct client dependencies (previously
  resolved transitively via react-markdown).
- Tests: splitter unit tests; index parity + DOM equivalence vs the whole-message
  renderer; rendering smoke tests.
- Bench (MarkdownBlocks.bench.tsx, outside __tests__ so the default jest run skips
  it): ~88% fewer code-block renders and ~2.3x faster cumulative render across a
  simulated stream.
2026-06-07 20:31:56 -04:00
..
__tests__ ☁️ fix: Enable Azure Agent Provider Uploads (#13045) 2026-05-10 17:47:05 -04:00
ActivePanelContext.tsx 🗂️ feat: Sidebar Icon Toggle & New Chat History Switch (#12642) 2026-04-13 09:46:38 -04:00
AddedChatContext.tsx ⏸ refactor: Improve UX for Parallel Streams (Multi-Convo) (#11096) 2025-12-25 01:43:54 -05:00
AgentPanelContext.tsx 🏗️ feat: Dynamic MCP Server Infrastructure with Access Control (#10787) 2025-12-11 16:38:37 -05:00
AgentsContext.tsx feat: Agent Panel UI Enhancements (#7800) 2025-06-13 15:47:41 -04:00
AgentsMapContext.tsx 🚧 chore: merge latest dev build to main repo (#3844) 2024-08-31 16:33:51 -04:00
AnnouncerContext.tsx v0.7.5-rc2 (#3976) 2024-09-10 19:00:27 -04:00
ArtifactContext.tsx 🧊 perf: Memoize Completed Markdown Blocks During Streaming (#13576) 2026-06-07 20:31:56 -04:00
ArtifactsContext.tsx 🧬 refactor: Derive Latest Message From Cache (#13294) 2026-05-24 16:20:27 -04:00
AssistantsContext.tsx
AssistantsMapContext.tsx
BadgeRowContext.tsx 👷 ci: Type-check the Client Workspace (#13560) 2026-06-06 18:40:31 -04:00
BookmarkContext.tsx 🔖 feat: Conversation Bookmarks (#3344) 2024-07-29 10:45:59 -04:00
ChatContext.tsx 🎨 refactor: Redesign Sidebar with Unified Icon Strip Layout (#12013) 2026-03-22 01:15:20 -04:00
ChatFormContext.tsx 🗨️ feat: Prompts (#3131) 2024-06-20 20:24:32 -04:00
CodeBlockContext.tsx 🧊 perf: Memoize Completed Markdown Blocks During Streaming (#13576) 2026-06-07 20:31:56 -04:00
CustomFormContext.tsx 🗨️ feat: Prompts (#3131) 2024-06-20 20:24:32 -04:00
DragDropContext.tsx ☁️ fix: Enable Azure Agent Provider Uploads (#13045) 2026-05-10 17:47:05 -04:00
EditorContext.tsx feat: Artifact Management Enhancements, Version Control, and UI Refinements (#10318) 2025-11-12 13:32:47 -05:00
FileMapContext.tsx
index.ts 🧑‍🎨 refactor: Prompts/Sidebar styles for improved UI Consistency (#12426) 2026-04-09 00:02:31 -04:00
MessageContext.tsx 🎋 refactor: Improve Message UI State Handling (#9678) 2025-09-17 13:07:56 -04:00
MessagesViewContext.tsx 🧬 refactor: Derive Latest Message From Cache (#13294) 2026-05-24 16:20:27 -04:00
PromptGroupsContext.tsx 🧑‍🎨 refactor: Prompts/Sidebar styles for improved UI Consistency (#12426) 2026-04-09 00:02:31 -04:00
SearchContext.tsx 🔎 feat: Native Web Search with Citation References (#7516) 2025-05-23 17:40:40 -04:00
SetConvoContext.tsx ♻️ refactor: Logout UX, Improved State Teardown, & Remove Unused Code (#5292) 2025-01-12 12:57:10 -05:00
ShareContext.tsx
ToolCallsMapContext.tsx 🎉 feat: Code Interpreter API and Agents Release (#4860) 2024-12-04 15:48:13 -05:00