- persistence: tag created/updated Open WebUI chats with a homarr-user:<id> tag
(via chat meta.tags) so conversations can be found back per Homarr user even
when an integration/account is shared
- voice recording: distinguish a denied/dismissed microphone permission from a
generic mic failure and show an actionable message
- widget: surface the models query loading and connection-error states in the
chat empty state instead of silently showing 'no models'
- tests: cover the final-SSE-frame flush, the default request timeout (and the
streaming opt-out), and multimodal chat parsing round-trip
Adds a new "openWebUi" integration kind (under a new "ai" category) and an
AI Chat widget for chatting with models served by Open WebUI.
- Integration: Bearer API key auth, model list, native chat history CRUD, and
token-by-token streaming chat completions (SSE).
- Widget: in-input model picker, streaming responses, and an in-widget history
panel. Reconstructs conversations from Open WebUI's message tree with a flat
fallback.
- Streaming is delivered over the WebSocket subscription link.
- Adds integration and widget documentation.