Skip to content

v1.0.9

Choose a tag to compare

@nekohacker591 nekohacker591 released this 15 Sep 00:46
· 56 commits to main since this release

LibreChat 1.0.9 - the Android overhaul

Stability (crashes / hangs)

  • Disconnect-tolerant streaming. A vanished WebView used to block the generation thread forever inside the response pipe - one leaked thread + buffer per disconnect, the main crash vector. Streams now write through a sink that detaches on failure, a watchdog closes pipes that stall for 45s, and a reconnect replays the text so far instead of starting a duplicate (paid) upstream call.
  • Model list no longer hangs. Fetch attempts are throttled (failures included), the request never blocks, timeouts are short, and the last good listing is cached on device.
  • Crash logs. A global handler writes stack traces to the app log, with a new Share Logs menu item - future crashes are no longer unexplained.
  • Update dialogs/toasts are guarded against a destroyed screen, request bodies are capped, the server binds loopback only, and Activity/WebView callbacks are cleaned up on exit.

Media

  • Native photo attach. New gallery button next to the paperclip opens the system photo picker (camera when the page requests capture).
  • Uploads actually work. /api/files and /api/files/images store multipart uploads on device and serve them back; images are inlined into the model request in the shape each route expects (chat completions, Anthropic, Responses) and attachments survive reloads.

Context tracker & tools

  • The composer now reports token usage (on_token_usage / on_context_usage events, persisted per message) and serves /api/endpoints/token-config, so the context gauge works.
  • /api/roles grants the client's permission checks, restoring the composer toolset; web search is implemented on-device via a keyless DuckDuckGo lookup, and artifacts render client-side.

Android

  • versionCode 10 / versionName 1.0.9, signed with the same release key.

Desktop

  • No functional changes from 1.0.8.