You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changelog
v1.2.2
Fix: Lovelace card resource is now removed only on true integration deletion, not on every reload or options save (was wiping the card resource on every settings change)
Fix: Language-aware voice fallback - if the configured default voice is not available for the requested language, the integration now correctly falls back to the first voice of that language (matches the documented behaviour)
Fix: Direct API retry tuning - the configured endpoint gets 3 attempts × 20 s; each automatic fallback endpoint gets 1 attempt × 10 s (was using the same retry count for all endpoints)
Fix: All failure paths now raise HomeAssistantError so errors surface in the HA UI and automation traces instead of silently returning empty audio
Fix:aiohttp sessions are now properly closed via async with context managers (previously leaked connections on errors)
Fix: Options flow now saves sanitized values (trailing slashes stripped from endpoint, whitespace stripped from session_id) instead of raw user input
Fix:async_delete_issue is now called after a successful direct-API options save, clearing the expired-session repair issue
Fix: Voice dropdown no longer resets on every random-voice pool save - only resets when the language actually changes
Fix: Restored voice is now correctly re-applied after restart even when the restored language differs from the startup default
Fix:button.tiktoktts_speak now guards against speaking the literal strings "unavailable" or "unknown"
Fix:ConfigEntryState import moved to module level in button.py
Fix: Redundant native_value property removed from MessageTextEntity (base class handles _attr_native_value)
Fix: JS card - Speak button now cancels any pending debounce and flushes the current message to HA before pressing the button, preventing a race where the last typed characters could be missed
Fix:services.yaml - languages field now uses a proper multi-select selector with all 16 language codes instead of a bare object selector
Fix: Dead "unknown" error key removed from strings.json and translations/en.json
Fix: Lovelace resource URL match tightened to exact path equality (was startsWith, could match unrelated resources)
Fix:manifest.json version now read lazily via executor job in frontend/__init__.py to avoid blocking I/O on the event loop at import time
Docs: README corrected - cache limitation for voice: random in automations, chunking behaviour, proxy privacy note, proxy-wins-over-direct note, GitHub capitalisation, image tag attributes