• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

maximunited / imou_life / 25192718057
90%

Build:
DEFAULT BRANCH: master
Ran 30 Apr 2026 10:37PM UTC
Jobs 3
Files 20
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Apr 2026 10:35PM UTC coverage: 73.323% (+0.4%) from 72.96%
25192718057

push

github

web-flow
feat: Add API server region selector for optimal performance (#22)

* feat: add API server region selector with custom URL option

Add user-friendly dropdown to select optimal API server based on region:
- Global Default (https://openapi.easy4ip.com)
- Europe - Frankfurt (https://openapi-fk.easy4ip.com)
- Asia Pacific - Singapore (https://openapi-sg.easy4ip.com)
- North America - Oregon (https://openapi-or.easy4ip.com)
- China Mainland (https://openapi.lechange.cn)
- Custom URL option for advanced users

Based on ping tests showing Frankfurt server is 3x faster for EU users.

Changes:
- Add API_SERVER_OPTIONS constant with predefined servers
- Modify config flow login step to use vol.In() selector
- Add conditional logic for custom URL handling
- Add validation for empty custom URLs
- Add comprehensive test coverage
- Update all 8 translation files

Tests:
- test_login_with_predefined_server
- test_login_with_custom_server
- test_custom_server_with_valid_url
- test_all_server_options

Fixes:
- Fix unused import in config_flow.py
- Fix linting issues in integration tests

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: remove invalid selector section from translation files

The 'selector' key is not a valid key in Home Assistant translation files.
Valid keys under 'config' are: step, error, abort, progress.

Changes:
- Remove 'selector' section from all 8 translation files
- Add API_SERVER_LABELS constant in const.py with UI-friendly labels
- Update config_flow.py to use API_SERVER_LABELS for vol.In() selector
- Selector now shows: "Global Default", "Europe - Frankfurt [Recommended for EU]", etc.

This fixes the hassfest validation error:
"extra keys not allowed @ data['config']['selector']"

All tests still passing.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: derive server list from API_SERVER_OPTIONS constant in test

Per CodeRabbit review: Replace hardcoded server list with dynamic list
derived from API_SERVE... (continued)

1 of 1 new or added line in 1 file covered. (100.0%)

940 of 1282 relevant lines covered (73.32%)

2.2 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.13 - 25192718057.1 30 Apr 2026 10:37PM UTC 20
73.32
GitHub Action Run
2 run-3.11 - 25192718057.2 30 Apr 2026 10:37PM UTC 20
73.32
GitHub Action Run
3 run-3.12 - 25192718057.3 30 Apr 2026 10:37PM UTC 20
73.32
GitHub Action Run
Source Files on build 25192718057
  • Tree
  • List 20
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25192718057
  • ede5a518 on github
  • Prev Build on master (#25191345047)
  • Next Build on master (#25192786924)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc