fix(frontend): add autocomplete attrs to credential inputs
Silences browser accessibility warnings on the HA token, MQTT username, and MQTT password fields. Uses new-password for the secret inputs to discourage Chrome's site-password autofill from leaking into broker / HA-token configuration.
This commit is contained in:
@@ -66,17 +66,6 @@ Drive USB LED controllers (APA102, WS2812) connected directly to the Android TV
|
||||
- [ ] Test with common USB-to-serial chips: CH340, CP2102, FTDI
|
||||
- [ ] Document supported USB LED controllers in README
|
||||
|
||||
## Android App — Known Issues
|
||||
|
||||
Issues discovered during first end-to-end test on emulator (2026-04-14):
|
||||
|
||||
- [ ] **Stop/Start capture produces no frames on second try.** First capture works, but after tapping Stop and Start again, no frames reach the Python pipeline. Likely causes:
|
||||
- Global MediaProjection engine state (`_active`, `_frame_queue`) not reset on service restart
|
||||
- ScreenCapture listener not properly detached from ImageReader on stop
|
||||
- Python uvicorn port reuse issue when server restarts
|
||||
- [ ] **Web UI tabs show persistent spinners** on Dashboard, Automation, Sources, Integrations, Graph tabs (Targets tab works). All API calls return 200 OK, no console errors. Probably waiting on a specific WebSocket event that never fires when no output targets are configured/active.
|
||||
- [ ] **Dead keyboard/IME handling** — password inputs lack autocomplete attributes (minor accessibility warning in browser console)
|
||||
|
||||
## Performance Metrics Abstraction
|
||||
|
||||
The codebase has direct `psutil.*` calls scattered across `api/routes/system.py` and `core/processing/metrics_history.py`, with ad-hoc `if psutil is not None` guards sprinkled in to support Android. This couples Android platform handling to every call site.
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
</div>
|
||||
<small class="input-hint" style="display:none" data-i18n="ha_source.token.hint">Long-Lived Access Token from HA (Profile > Security > Long-Lived Access Tokens)</small>
|
||||
<small id="ha-source-token-hint" class="input-hint" style="display:none" data-i18n="ha_source.token.edit_hint">Leave blank to keep the current token</small>
|
||||
<input type="password" id="ha-source-token" placeholder="eyJ0eXAiOi...">
|
||||
<input type="password" id="ha-source-token" placeholder="eyJ0eXAiOi..." autocomplete="new-password">
|
||||
</div>
|
||||
|
||||
<!-- SSL -->
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<div class="label-row">
|
||||
<label for="mqtt-source-username" data-i18n="mqtt_source.username">Username (optional):</label>
|
||||
</div>
|
||||
<input type="text" id="mqtt-source-username" placeholder="">
|
||||
<input type="text" id="mqtt-source-username" placeholder="" autocomplete="username">
|
||||
</div>
|
||||
|
||||
<!-- Password -->
|
||||
@@ -54,7 +54,7 @@
|
||||
<label for="mqtt-source-password" data-i18n="mqtt_source.password">Password (optional):</label>
|
||||
</div>
|
||||
<small id="mqtt-source-password-hint" class="input-hint" style="display:none" data-i18n="mqtt_source.password.edit_hint">Leave blank to keep the current password</small>
|
||||
<input type="password" id="mqtt-source-password" placeholder="">
|
||||
<input type="password" id="mqtt-source-password" placeholder="" autocomplete="new-password">
|
||||
</div>
|
||||
|
||||
<!-- Client ID -->
|
||||
|
||||
Reference in New Issue
Block a user