Added
- Error classification utility that maps LLM provider errors to user-friendly messages (#506)
- Global exception handlers in FastAPI for all custom exception types with proper HTTP status codes
getApiErrorMessage()frontend helper that falls back to backend messages when no i18n mapping exists
Fixed
- LLM errors (invalid API key, wrong model, rate limits) now show descriptive messages instead of "An unexpected error occurred" (#590)
- SSE streaming error events in source chat and ask hooks were swallowed by inner JSON parse catch blocks
- Transformation execution errors were caught and re-wrapped as generic 500s instead of using proper status codes
- Fail fast when source content extraction returns empty instead of retrying (#589)
- Chat input and message overflow with long unbroken strings (#588)
- Word-wrap overflow in source cards, note editor, inline edit, note titles, and dialog content (#588)
- Translation proxy shadowing
namekeys (#588) - OpenAI-compatible provider name handling via Esperanto update (#583)
Changed
ValueErrorreplaced withConfigurationErrorin model provisioning for proper error classificationConfigurationErroradded to command retrystop_onlists to avoid retrying permanent config failures
Dependencies
- Bump esperanto to 2.19.3 (#583)
- Bump podcast-creator to 0.9.1