Librechat-Mobile/feature
Garfie 2b44937368 fix(chat): wire format for custom and user_provided endpoints (#60)
ChatPayloadBuilder caught EModelEndpoint.valueOf for custom endpoint
names (OpenRouter, Deepseek, etc.) and silently sent endpoint=agents,
producing 403 "Forbidden: Insufficient permissions" on the server.

Type endpoint identity as String end-to-end, add EndpointClassifier to
derive endpointType / key / modelDisplayLabel from /api/config, and
propagate the dispatch fields to all five chat-send sites in
ChatViewModel (doSendMessage, editUserMessage, editAiMessage,
regenerateMessageNow, continueGenerationNow). A normalization shim in
ConversationMapper converts legacy enum-name rows in the Room cache
back to wire format on read.

Verified end-to-end against a docker LibreChat v0.8.5 instance with
OpenRouter user_provided keys; built-in .env Anthropic regression also
passes.
2026-04-28 20:21:28 -06:00
..
agents chore(sync): sync to upstream LibreChat v0.8.5 2026-04-26 23:48:14 -06:00
auth cleanup: burn down detekt baselines and rename Compose Resources package 2026-04-11 12:35:19 -05:00
chat fix(chat): wire format for custom and user_provided endpoints (#60) 2026-04-28 20:21:28 -06:00
conversations fix(chat): wire format for custom and user_provided endpoints (#60) 2026-04-28 20:21:28 -06:00
files fix(cache): route Android temp files into named subdirs for logout sweep 2026-04-14 21:30:31 -05:00
settings fix(chat): wire format for custom and user_provided endpoints (#60) 2026-04-28 20:21:28 -06:00