Skip to content

Add settings deep link - #5729

Merged
bgoncal merged 1 commit into
mainfrom
app-settings-deeplink
Sep 10, 2026
Merged

Add settings deep link#5729
bgoncal merged 1 commit into
mainfrom
app-settings-deeplink

Conversation

@bgoncal

@bgoncal bgoncal commented Sep 10, 2026

Copy link
Copy Markdown
Member

AI Policy

Select exactly one option that describes AI usage in this contribution:

  • I have not used AI for this contribution.
  • AI assistance was used for this contribution.
  • AI fully generated the code for this contribution, but I've reviewed and understood it before submitting and will respond without AI during review.

Summary

Adds a homeassistant://settings deep link that opens the app settings, using the same path as the "Open app settings" App Intent.

Screenshots

Link to pull request in Documentation repository

Documentation: home-assistant/companion.home-assistant#

Any other notes

Copilot AI lite review requested due to automatic review settings September 10, 2026 13:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No blocking code issues were identified; only a minor documentation-link nit remains.

Pull request overview

Adds a homeassistant://settings deep link that opens the native app settings screen.

Changes:

  • Adds settings deep-link routing.
  • Adds unit test coverage.
File summaries
File Summary
Tests/App/WebView/IncomingURLHandler.test.swift Tests settings deep-link routing.
Sources/App/Frontend/IncomingURLHandler.swift Routes the settings deep link to app settings.
Review details

Suppressed comments (1)

Sources/App/Frontend/IncomingURLHandler.swift:29

  • This adds a user-facing deep-link route, but the required companion documentation PR is still missing from the PR description (Documentation: home-assistant/companion.home-assistant#). Please add the documentation PR number/link before merging so this new URI is documented as required by the template.
        case settings
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@bgoncal
bgoncal enabled auto-merge (squash) September 10, 2026 13:43
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Unused L10n strings detected

Found 3 unused localization strings in the codebase.

Click to see details
Parsing Strings.swift...
Found 2873 L10n strings

Reading all Swift source code...
Read 11765937 characters of Swift code

Checking for unused strings...
Checked 100/2873 strings...
Checked 200/2873 strings...
Checked 300/2873 strings...
Checked 400/2873 strings...
Checked 500/2873 strings...
Checked 600/2873 strings...
Checked 700/2873 strings...
Checked 800/2873 strings...
Checked 900/2873 strings...
Checked 1000/2873 strings...
Checked 1100/2873 strings...
Checked 1200/2873 strings...
Checked 1300/2873 strings...
Checked 1400/2873 strings...
Checked 1500/2873 strings...
Checked 1600/2873 strings...
Checked 1700/2873 strings...
Checked 1800/2873 strings...
Checked 1900/2873 strings...
Checked 2000/2873 strings...
Checked 2100/2873 strings...
Checked 2200/2873 strings...
Checked 2300/2873 strings...
Checked 2400/2873 strings...
Checked 2500/2873 strings...
Checked 2600/2873 strings...
Checked 2700/2873 strings...
Checked 2800/2873 strings...

================================================================================
UNUSED STRINGS REPORT
================================================================================

Found 3 unused strings:


APPINTENTS:
  - L10n.AppIntents.ActiveEntities.Filter.climates
    Key: app_intents.active_entities.filter.climates
    Line: 297
  - L10n.AppIntents.ActiveEntities.Filter.locks
    Key: app_intents.active_entities.filter.locks
    Line: 305

TABBAR:
  - L10n.TabBar.Customize.AvailableSection.footerFull
    Key: tab_bar.customize.available_section.footer_full
    Line: 7501

================================================================================
Total unused: 3
================================================================================

================================================================================
Copy-paste these keys into the "Lokalise: Delete Keys" workflow (keys input):
================================================================================
app_intents.active_entities.filter.climates,app_intents.active_entities.filter.locks,tab_bar.customize.available_section.footer_full

To remove them, run the
Lokalise: Delete Keys
workflow — it deletes the keys from Lokalise and opens a PR removing them from
Localizable.strings and regenerating Strings.swift. Copy-paste these keys into the keys input:

app_intents.active_entities.filter.climates,app_intents.active_entities.filter.locks,tab_bar.customize.available_section.footer_full

@codecov

codecov Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 42.83%. Comparing base (0ddf102) to head (a0114e8).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5729      +/-   ##
==========================================
- Coverage   42.85%   42.83%   -0.02%     
==========================================
  Files        1124     1124              
  Lines       78170    78172       +2     
==========================================
- Hits        33496    33487       -9     
- Misses      44674    44685      +11     
Files with missing lines Coverage Δ
Sources/App/Frontend/IncomingURLHandler.swift 11.89% <100.00%> (+0.25%) ⬆️

... and 10 files with indirect coverage changes

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bgoncal
bgoncal merged commit a9db138 into main Sep 10, 2026
16 checks passed
@bgoncal
bgoncal deleted the app-settings-deeplink branch September 10, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants