You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 46ead25
Browse filesBrowse the repository at this point in the historyBrowse files
* build: upgrade to React 19
Bump react and react-dom to ^19.2.0 (and add @types/react-dom) along with
the small type adjustments React 19's stricter definitions require:
- useRef<T>() with no initial value now needs an explicit argument, so the
setTimeout ref hooks pass undefined.
- ReactElement.props is typed as unknown, so the markdown text extractor
narrows the element to ReactElement<{ children?: ReactNode }>.
- Import the JSX type explicitly in page-actions where the global namespace
is no longer ambient.
Lockfile regenerated against the public npm registry. Typecheck and
production build pass; runtime smoke test green (all routes 200, search and
OG generation working, no hydration warnings).
* build: upgrade vidstack to v1 for React 19 support
@vidstack/react@0.6.15 only declares a React 18 peer; 1.15.6 officially
supports React 18 and 19. The v1 API changed, so the Video component is
updated accordingly:
- MediaOutlet is replaced by MediaProvider.
- Base styles import moves to @vidstack/react/player/styles/base.css.
- The player ref is typed MediaPlayerInstance and player props use the v1
camelCase form (autoPlay, playsInline); aspectRatio is now a ratio string.
- Add the 'use client' directive the hook-based component always needed.
Register Video in the MDX component map so docs can use it, and migrate the
code_interpreter embed from a raw <video> tag to <Video> as the first
adoption. The remaining native <video> embeds are left untouched for now.
* docs: migrate remaining native video embeds to the Video component
Convert the raw <video> tags in mcp, examples, and web_search to <Video>
for a consistent player UX (poster overlay, lazy loading, accessible play
button with a descriptive title). The autoplaying example clip uses gifStyle
to preserve its ambient looping behavior.
The <video> snippet inside the examples.mdx code block is intentionally left
as-is since it documents raw tag usage.
* fix: resolve a video provider for extensionless sources
Vidstack v1 infers the media provider from a string src's file extension.
Extensionless URLs, such as GitHub asset links, resolve no provider and the
video silently fails to load, unlike the native <video><source> the browser
could content-sniff.
The Video component now accepts an optional `type` and normalizes its source:
an explicit type wins, recognized extensions stay plain strings, and anything
else defaults to a video/mp4 source object. The extensionless example embed
passes type="video/mp4" explicitly. Verified the example player now reaches
canPlay with a resolved video provider.
* fix: add a controls-capable autoplay mode to Video
gifStyle autoplays muted but loops with no controls and a non-interactive
overlay, so the migrated walkthrough clip could no longer be paused, scrubbed,
or replayed. That is a regression from the native <video muted autoPlay
playsInline controls> and a WCAG 2.2.2 concern for pausing motion.
Add an autoPlay prop: muted eager autoplay that keeps the player controls and
does not loop or render an overlay. gifStyle stays the ambient, controls-free
mode. Switch the example embed to autoPlay so users retain playback controls.
**Note:** In this example, the instance URL is http://localhost:55011 (port number found under the container name in the top left at the end of the video)
Copy file name to clipboardExpand all lines: content/docs/features/code_interpreter.mdx
+5-8Lines changed: 5 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,11 @@ description: Execute code securely and manage files seamlessly with LibreChat's
8
8
9
9
LibreChat's Code Interpreter API provides a secure and hassle-free way to execute code and manage files through a simple API interface. Whether you're using it through LibreChat's Agents or integrating it directly into your applications, the API offers a powerful sandbox environment for running code in multiple programming languages.
0 commit comments