LibreChat/api/server/controllers
Danny Avila ff3f5fdbb4 🧷 fix: Close five gaps where an upload succeeded but reached nothing usable
A failed read of the deferred-provisioning query returned an empty list, which is
indistinguishable from nothing needing provisioning. The turn then built no
provisioning state and let the tool run without the attachment, defeating the
abort the callback performs for exactly that case. The failure now surfaces.

The OpenAI-compatible controllers passed neither the liveness probe nor the code
credential loader, so an expired sandbox reference looked usable on those
surfaces and no replacement upload was queued.

The native text reader decodes whatever bytes it is given as UTF-8, which is
meaningful only for types that are already text. An administrator routing images
to text on a deployment without OCR reached it and stored mojibake as the file's
text. It is now offered only for natively readable types, so a missing extractor
surfaces as an error instead of as nonsense content. This also guards the class
generally rather than one MIME type at a time.

A permanent agent image upload went to the image pipeline, which always stores a
message attachment and never files anything against the agent, so the request
reported success and left an orphan. Permanent uploads now take the agent path,
where that outcome is decided rather than assumed.

Dropping a file still opened the destination chooser in unified mode while the
attach button no longer shows one, so the same file could be delivered
differently depending on how it was added. The drop handler now follows the mode.
The paste heuristic keeps reading the viable options, since it asks a different
question about whether a text context is available.
2026-08-31 20:53:59 -04:00
..
__tests__ 🧳 feat: Register Principal-Owned Code Environments (#15365) 2026-08-30 19:33:19 -04:00
agents 🧷 fix: Close five gaps where an upload succeeded but reached nothing usable 2026-08-31 20:53:59 -04:00
assistants 🔒 fix: Refresh MCP OBO Tokens From the Live OpenID Session (#15334) 2026-08-29 23:55:58 -04:00
auth 🔒 fix: Refresh MCP OBO Tokens From the Live OpenID Session (#15334) 2026-08-29 23:55:58 -04:00
AuthController.js 🔒 fix: Refresh MCP OBO Tokens From the Live OpenID Session (#15334) 2026-08-29 23:55:58 -04:00
AuthController.spec.js 🔒 fix: Refresh MCP OBO Tokens From the Live OpenID Session (#15334) 2026-08-29 23:55:58 -04:00
avatar.contentFilter.spec.js 🛂 feat: Filter Model-Bound Content by Source (#14425) 2026-08-21 22:43:32 -04:00
Balance.js
Balance.spec.js
EndpointController.js
FavoritesController.js
FavoritesController.spec.js
mcp.js 🔄 fix: Recover Missing MCP Marketplace Catalogs (#15323) 2026-08-30 06:55:30 -04:00
ModelController.js perf: Reduce Agent Chat Startup Latency (#14423) 2026-07-25 07:58:20 -04:00
ModelController.spec.js perf: Reduce Agent Chat Startup Latency (#14423) 2026-07-25 07:58:20 -04:00
PermissionsController.js 🧳 feat: Register Principal-Owned Code Environments (#15365) 2026-08-30 19:33:19 -04:00
PluginController.js 🙋 feat: ask_user_question - agent-initiated questions with durable pause/resume (#14139) 2026-07-08 15:31:05 -04:00
PluginController.spec.js 🙋 feat: ask_user_question - agent-initiated questions with durable pause/resume (#14139) 2026-07-08 15:31:05 -04:00
SkillStatesController.js
TokenConfigController.js
tools.js 🕸️ feat: Complete Keenable Web Search Provider (#15288) 2026-08-27 14:29:20 -04:00
TwoFactorController.js
UserController.js 🧳 feat: Register Principal-Owned Code Environments (#15365) 2026-08-30 19:33:19 -04:00
UserController.spec.js 🧳 feat: Register Principal-Owned Code Environments (#15365) 2026-08-30 19:33:19 -04:00