- 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