Librechat-Mobile/shared
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
..
src fix(chat): wire format for custom and user_provided endpoints (#60) 2026-04-28 20:21:28 -06:00
build.gradle.kts fix: iOS image rendering and consolidate content part dispatch to commonMain 2026-04-06 12:25:48 -05:00
CLAUDE.md chore: fix iOS setup docs, remove dead Swift files, fix Xcode release build config 2026-04-05 18:25:53 -05:00