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

maximunited / imou_life / 25133899995
90%

Build:
DEFAULT BRANCH: master
Ran 29 Apr 2026 09:08PM 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

29 Apr 2026 09:06PM UTC coverage: 70.339% (+1.8%) from 68.503%
25133899995

push

github

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

* 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>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: correct HACS configuration for proper validation

Remove content_in_root from hacs.json (defaults to false, which is correct).

The content_in_root setting refers to REPOSITORY structure, not zip structure:
- content_in_root: false (default) = integration files in custom_components/<domain>/
- content_in_root: true = integration files in repository root

Our integration has files in custom_components/imou_life/, so we need the default.
The zip structure (manifest.json at root) is already correct in releases.yml.

This fixes HACS validation error: "No manifest.json file found"

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

* fix: remove unsupported selector key from translation files

Remove selector secti... (continued)

3 of 27 new or added lines in 2 files covered. (11.11%)

16 existing lines in 1 file now uncovered.

830 of 1180 relevant lines covered (70.34%)

2.11 hits per line

Uncovered Changes

Lines Coverage ∆ File
24
0.0
0.0% custom_components/imou_life/config_flow.py

Coverage Regressions

Lines Coverage ∆ File
16
71.85
3.91% custom_components/imou_life/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.12 - 25133899995.1 29 Apr 2026 09:08PM UTC 20
70.34
GitHub Action Run
2 run-3.13 - 25133899995.2 29 Apr 2026 09:08PM UTC 20
70.34
GitHub Action Run
3 run-3.11 - 25133899995.3 29 Apr 2026 09:09PM UTC 20
70.34
GitHub Action Run
Source Files on build 25133899995
  • Tree
  • List 20
  • Changed 5
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25133899995
  • 85f6b0d8 on github
  • Prev Build on master (#25079310389)
  • Next Build on master (#25135742586)
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