All chat (including bedrock specs) goes through /api/agents/chat/:endpoint.
The buildOptions middleware nests conversation settings inside model_parameters,
then the AgentClient constructor was never given modelLabel — so getSaveOptions()
always returned modelLabel: undefined, which was stripped by removeNullishValues.
The field was never saved to the database, so every page refresh lost it.
Two fixes:
1. api/server/services/Endpoints/agents/initialize.js (backend — the real bug)
Pass modelLabel from model_parameters to the AgentClient constructor, so it
gets persisted to the conversation in MongoDB.
2. client/src/hooks/Conversations/useGetSender.ts (frontend — defensive fallback)
When a loaded conversation has a spec but no modelLabel (older conversations
that were saved before this fix), derive the display label from the spec
configuration instead of falling back to "AWS Bedrock".
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>