1. HA Media Player Recovery: After TTS ends, call pause+play_pause restore external media
2. Volume in and out: duck()/unDuck() to add gradient animation
3. TTS race fix: runStart triggers the old callback first, removing unnecessary player.init()
4. Floating subtitle level: lazy loading method bringToFrontLazy, hide and set needsBringToFront=true
5. Reply to text shadows: setShadowLayer improves readability
6. ESPHome version: Updated to 2026.2.1
7. TTS delay optimization: Remove player.init() from runStart and let play() handle it by itself
8. Scan failure detection and automatic recovery @daydy16
- The low-end BLE 4.0 chip will automatically stop scanning after a period of time
- Implemented the watchdog mechanism to detect scan failures
- Dynamically adjust the detection frequency based on power mode