Librechat-Mobile/feature/settings/src
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
..
androidMain/kotlin/com/garfiec/librechat/feature/settings fix(cache): route Android temp files into named subdirs for logout sweep 2026-04-14 21:30:31 -05:00
androidUnitTest/kotlin/com/garfiec/librechat/feature/settings chore(sync): sync to upstream LibreChat v0.8.5 2026-04-26 23:48:14 -06:00
commonMain fix(chat): wire format for custom and user_provided endpoints (#60) 2026-04-28 20:21:28 -06:00
iosMain/kotlin/com/garfiec/librechat/feature/settings refactor: replace fully-qualified names with proper imports across codebase 2026-04-08 19:15:49 -05:00