Commit Graph

309 Commits

Author SHA1 Message Date
Bruno Pantaleão Gonçalves
8aa807c61c WebView wrapper improvements (#4811)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
- Reduce UIKit usage
- Each server has it's own self-healing webview with connectivity
handling
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-23 14:39:49 +02:00
Bruno Pantaleão Gonçalves
12c8d5ccec Reworked the foundation for Kiosk Mode (#4805)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
This PR removes the previous foundation for kiosk mode and add a
simplified version fully made for SwiftUI.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->


https://github.com/user-attachments/assets/d6f1ba1e-6806-4a72-9fb4-c326f3479ad4


## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#1357

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 10:57:42 +02:00
Bruno Pantaleão Gonçalves
5f1abc6c10 Receive live activity tap and open correct server + accept url from push payload (#4802)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 02:41:27 +02:00
Bruno Pantaleão Gonçalves
899392aad1 Improve Gauge widget UI and refactor code (#4798)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-22 13:26:49 +02:00
Bruno Pantaleão Gonçalves
e46f1748e6 Fine tuning Live Activity implementation (#4696)
## Summary

- Add Live Activity data model translation updates, including support
for dynamic title content.
- Provide per-activity push token TTL/expiry metadata to Home Assistant
core via `expires_at`.
- Normalize `expires_at` to whole-second epoch values to keep the
webhook contract stable and avoid fractional timestamp inconsistencies.
- Align Live Activity contract test expectations with the intentional
shipped Keychain key (`live_activity_token`) to keep the test contract
consistent with production behavior.

## Screenshots

N/A (no user-facing UI changes in this follow-up adjustment)

## Link to pull request in Documentation repository

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

## Any other notes

CC @rwarner

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 15:26:31 +00:00
Jon Culver
453e697973 Add systemSmall (Home Screen) support to the Gauge widget (#4741)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

The Gauge widget has only ever offered `.accessoryCircular` (Lock Screen
/ watch-complication) because it originated as a watchOS-style
complication ported to the Lock Screen in #2830. Home Screen support was
never on the table there, so the limitation is an inheritance, not a
design decision.

WidgetKit renders gauges in `.systemSmall` fine, and the data path
(WidgetGaugeAppIntentTimelineProvider) is family-agnostic, so this is a
view-only change:

- Add `.systemSmall` to `WidgetGaugeSupportedFamilies.families`.
- Branch `WidgetGaugeView` on `\.widgetFamily`: the Lock Screen path is
unchanged; `.systemSmall` enlarges the existing gauge to fill a padded
square. The container background requirement is already satisfied via
the shared `widgetBackground` helper
(`containerBackground(_:for:.widget)`).

No new strings, no provider/intent changes, no other references to the
families list. Lock Screen behavior is byte-for-byte identical.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

<img width="480" height="480" alt="gaugeWidgetSystemSmallSnapshot light"
src="https://github.com/user-attachments/assets/657ef3a4-509b-4d8d-9f9f-35a2cb942a37"
/>

<img width="480" height="480" alt="gaugeWidgetSystemSmallSnapshot dark"
src="https://github.com/user-attachments/assets/4f5ed0c1-422b-48d8-8372-e8689b8eb253"
/>


## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#1351

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Bruno Pantaleão Gonçalves <5808343+bgoncal@users.noreply.github.com>
2026-06-18 18:05:04 +02:00
Bruno Pantaleão Gonçalves
12aa9c9849 Provide areas and device context for all extensions entity pickers (#4756)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 13:24:37 +02:00
Bruno Pantaleão Gonçalves
6e84ff4cb6 Migrate app from UIKit based app to SwiftUI (#4748)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
This PR is a massive refactor of how the app handles UI presentation and
navigation, goin from the UIKit based apps style to SwiftUI.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:33:17 +02:00
Bruno Pantaleão Gonçalves
3c62221a01 Drop usage of entity_registry in favor of list_for_display + drop friendly_name usage (#4734)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-11 17:31:32 +02:00
Bruno Pantaleão Gonçalves
5320df2813 Update URL port and scheme at the end of webview login (#4728)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
In case the mdns discovery starts the onboarding and suddenly the
onboarded url gets redirected to a different port or scheme, we are not
catching that and updating the onboarded URL to match that, more
information on the upper level task.
https://github.com/home-assistant/iOS/issues/4724

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-11 11:52:56 +02:00
Bruno Pantaleão Gonçalves
00d3852f22 Improve "Perform action" App Intent (#4720)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
This PR adds the capability of receive a response from the perform
action App Intent + some small improvements on actions list rendering

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="1792" height="1550" alt="CleanShot 2026-06-09 at 21 06
09@2x"
src="https://github.com/user-attachments/assets/3036b9cd-0992-46d3-840f-275725a543ac"
/>

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 09:13:32 +02:00
Bruno Pantaleão Gonçalves
89bad79a3d Remove left over from unreleased feature camera list native UI (#4717)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-09 13:07:43 +00:00
Bruno Pantaleão Gonçalves
07209ca052 Make version optional on mDNS discovery (#4713)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
landingpage: https://github.com/home-assistant/landingpage/pull/195
android: https://github.com/home-assistant/android/pull/6970
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-08 17:22:20 +02:00
Bruno Pantaleão Gonçalves
62f1a86adf Add TestFlight communication screen when app opens (#4711)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="1206" height="2622" alt="Simulator Screenshot - Daily tester
2 - 2026-06-08 at 11 49 31"
src="https://github.com/user-attachments/assets/f4e5e291-2377-46d5-8ac5-bc0c6279bba7"
/>

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-08 13:22:57 +02:00
Bruno Pantaleão Gonçalves
9faffde1cd Add test for firebase url (#4706)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-05 09:02:50 +00:00
Bruno Pantaleão Gonçalves
1bf28ec458 Improve local push reconnection and add logs (#4702)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
- Added button to retry local push reconnection
- Improves reconnection logic
- Added logs to debug in case of issues
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-04 21:42:33 +00:00
Bruno Pantaleão Gonçalves
7cbdcb762f Remove legacy actions (#4584)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-04 15:20:24 +02:00
Bruno Pantaleão Gonçalves
a5e7514a52 Remove mirror entries when deleting servers (#4694)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

Ensure mirrorStore is kept in sync when servers are removed.
ServerManagerImpl now removes per-server mirrorStore entries and updates
restoredMirroredServers when removing an identifier, and clears
mirrorStore and restoredMirroredServers when removeAll() is called. The
allKeys set is captured before mutating the cache so mirror keys are
included in deletedServers. Tests updated to assert mirrorStore is
cleared and that mirror-restore state behaves as expected.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-03 15:29:30 +02:00
Bruno Pantaleão Gonçalves
fa628036f8 Communicate to frontend when matter commissioning finishes (#4684)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
- This PR adds a frontend bus command to communicate when matter
commissioning finishes and also provides the device name chosen by the
user during the Apple matter flow
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-03 09:19:26 +00:00
Bruno Pantaleão Gonçalves
918d3affec Add "in_zones" array when reporting zone-only location (#4665)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
To fulfill the new requirements in core we need to send in_zones when we
send a location update using zone only. See
https://github.com/home-assistant/architecture/discussions/1387 for more
details. Implemented in core
https://github.com/home-assistant/core/pull/171814

Android PR: https://github.com/home-assistant/android/pull/6879
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 11:16:32 +02:00
Bruno Pantaleão Gonçalves
788c7685b9 Fix long URL display in InvitationView (#4691)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-06-03 09:05:55 +00:00
Bruno Pantaleão Gonçalves
62639ebcd0 Improve Home Assistant invitation UI (#4687) 2026-06-02 22:34:21 +02:00
Bruno Pantaleão Gonçalves
d83529d4c4 Fix remote Live Activity token lifecycle (#4671)
## Summary

- Observe ActivityKit activities that are started remotely via APNs
push-to-start notifications.
- Register the stored push-to-start token under `live_activity_token`,
matching Core's expected app data key.
- Send Live Activity token and dismissal webhooks using Core's strict
schema.
- Update Live Activity contract tests for the frozen webhook wire
format.

## Root Cause

APNs could start the Live Activity, but the app was not observing
`Activity<HALiveActivityAttributes>.activityUpdates`. That meant the app
did not attach its normal per-activity push-token and lifecycle
observers to remotely-started activities, so Core could not receive the
per-activity push token needed for subsequent updates.

---------

Co-authored-by: rwarner <kentoe@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-28 10:48:05 +02:00
Ryan Warner
c80602e643 Remove end_live_activity command (#4616)
## Summary

- Removes `HandlerEndLiveActivity` and its registration in
`NotificationCommandManager`
- `clear_notification` with a `tag` already ends Live Activities via
`HandlerClearNotification` — no separate command needed
- Aligns iOS with Android, which uses `clear_notification` exclusively

Companion docs PR: home-assistant/companion.home-assistant#1303

## Test plan

- [ ] Send a `live_update: true` notification to start a Live Activity
- [ ] Send `clear_notification` with the same `tag` — activity ends
correctly
- [ ] Confirm no regression on standard notification clearing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Part of epic: https://github.com/home-assistant/epics/issues/61
Fixes: https://github.com/home-assistant/iOS/issues/4623

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 15:03:57 +02:00
Ryan Warner
ce65c1e87e Rename live activity webhook types to drop mobile_app_ prefix (#4585)
## Summary

- Renames `webhookTypeToken` from `"mobile_app_live_activity_token"` →
`"live_activity_token"`
- Renames `webhookTypeDismissed` from
`"mobile_app_live_activity_dismissed"` → `"live_activity_dismissed"`

Requested in home-assistant/core#166072 — all other webhooks in the
mobile_app integration use short names without the `mobile_app_` prefix
(e.g. `scan_tag`, `update_location`). This aligns our new webhook types
with that convention.

## Related

- home-assistant/core#166072

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Part of epic: https://github.com/home-assistant/epics/issues/61
Fixes: https://github.com/home-assistant/iOS/issues/4623

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 15:03:14 +02:00
Bruno Pantaleão Gonçalves
b7c1a5fb93 Ask iOS location permission popup for "less secure" connection level as well (#4669)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
When the user chooses to not share location with Home Assistant + Less
secure connection security level, they never see the iOS native location
permission popup, which keeps their location permission state as
".notDetermined" entering in loop until selected "Most secure" and
choosing an option from the popup.

This PR triggers the popup for both connection security level options,
therefore avoiding the non determined state after the user makes its
decision.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-05-27 12:01:08 +02:00
Bruno Pantaleão Gonçalves
59b87c9b80 Create "What's new" engine (#4664)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
This PR adds the foundation to set and display "What's new" screen
linked to app version.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="5718" height="2966" alt="CleanShot 2026-05-26 at 14 04
20@2x"
src="https://github.com/user-attachments/assets/3b50e976-8166-4d68-9f03-5f312970fd7e"
/>


## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-27 10:07:36 +02:00
nstefanelli
3293f438de Auto-activate kiosk mode on launch when previously enabled (#4609)
## Summary

Fixes #4608.

When kiosk mode is enabled and the Home Assistant app is then
force-quit, crashes, or the device reboots, kiosk mode does not
re-activate on the next launch. The persisted
`settings.isKioskModeEnabled = true` is loaded into memory by
`KioskModeManager.loadSettings()` but never acted on, so the user has to
manually re-toggle kiosk mode from settings each time. For the
wall-mounted iPad use case kiosk mode is designed for, this leaves an
unattended dashboard silently falling back to the normal UI after any
restart.

## What changed

In `KioskModeManager.setup(using:)` (called from
`WebViewController.viewDidLoad`), if `settings.isKioskModeEnabled` is
`true` and kiosk mode is not already active, call `enableKioskMode()` to
restore it.

`enableKioskMode()` is idempotent — it guards on `!isKioskModeActive` —
so this is safe to call from any path and existing flows are unaffected.

```swift
// Restore kiosk mode if it was enabled before the app was last closed
if settings.isKioskModeEnabled, !isKioskModeActive {
    Current.Log.info("Restoring kiosk mode from persisted settings")
    enableKioskMode()
    return
}
```

## Test plan

- [ ] Enable kiosk mode in the app
- [ ] Force-quit the app from the app switcher
- [ ] Re-launch
- [ ] Verify the screen comes back up in kiosk mode (status bar hidden,
screensaver active, secret exit gesture working)
- [ ] Reboot the device — verify kiosk mode is still on after launch
- [ ] Disable kiosk mode, force-quit, re-launch — verify it stays
disabled

## Notes

- `KioskModeManager` is a singleton with UIKit dependencies and no
existing tests, so I haven't added a unit test here. Happy to add one if
there's a preferred pattern for managers like this.
- Out of scope (per the issue): a "panic recovery" guard so a crash loop
inside kiosk mode does not trap the user. Worth a follow-up.
- Local `xcodebuild` was blocked by an unrelated
`BuildMaterialDesignIconsFont` script failure in my environment, but
`swiftformat --lint` passes and the change uses existing APIs that
mirror the adjacent code path.

---------

Co-authored-by: Nick Stefanelli <nstefanelli@users.noreply.github.com>
2026-05-26 16:15:13 +02:00
Bruno Pantaleão Gonçalves
3cc6d99f67 Fix iOS 15 safe-area inflation breaking WebView layout and taps (#4653)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
On iOS 15, when a WebViewController is hosted in a
UINavigationController with the navigation bar hidden, adding a
full-screen child UIViewController whose subtree contains a
UIHostingController triggers a UIKit safe-area inflation bug:
view.safeAreaInsets.top becomes roughly twice the real status-bar
height, the native statusBarView (pinned to
view.safeAreaLayoutGuide.topAnchor) oversizes, and WKWebView caches a
hit-test region from the inflated value — so taps near the top of the
page (e.g. the dashboard hamburger menu) land at the wrong content
coordinates until the device is rotated. iOS 16+ is unaffected.

Two callsites on main triggered this independently:

1. KioskSecretExitGestureViewController was installed unconditionally
from KioskModeManager.setup(using:) — even when kiosk mode wasn't
active. Now installed in enableKioskMode() and torn down in
disableKioskMode(); setup() only re-anchors it for an already-active
kiosk session.

2. WebViewController+EmptyState.setupEmptyState() called
addChild(emptyState.hostingViewController) unconditionally (added in
#4572 for iOS-16 SwiftUI safe-area propagation). The addChild +
didMove(toParent:) calls are now guarded with #available(iOS 16.0, *).
The empty state still renders on iOS 15; it just skips the parenting
that iOS 15 doesn't honor the same way anyway.

Updated the related test to XCTSkip on iOS 15 with a comment pointing at
this commit.

Fixes #4499.
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-05-26 09:46:35 +02:00
Bruno Pantaleão Gonçalves
bc230f5134 Revert "Fix legacy iOS WebView safe areas" (#4636)
Reverts home-assistant/iOS#4632
2026-05-13 20:59:44 +00:00
Bruno Pantaleão Gonçalves
58ea0a0ef8 Fix legacy iOS WebView safe areas (#4632)
## Summary
- fix oversized native status-bar spacing on iOS 15 by sizing the spacer
from the window scene status bar frame
- provide app-owned CSS safe-area variables to the frontend on iOS
versions prior to 16
- refresh the legacy safe-area values after layout changes, settings
changes, view appearance, and page loads

## Root cause
Issues #4499 and #4631 point to iOS 15 devices reporting inflated
safe-area values after recent WebView/status-bar changes. The frontend
then consumes those values through safe-area CSS variables, and in the
iPad report the native WebView is also laid out below an oversized
status-bar spacer.
2026-05-13 09:23:20 -03:00
Bruno Pantaleão Gonçalves
f1eac4aaf6 Normalize manual server URLs (#4627)
## Summary
- normalize manually entered server URLs by stripping path, query, and
fragment while preserving port and authority
- use the normalized base URL for onboarding auth and for the stored
manual server URL
- add tests covering auth URL construction, discovered manual URLs, and
the shared URL helper

## Root cause
Manual onboarding appended /auth/authorize to the full user-entered URL.
If the user entered a frontend route like /lovelace/0, the auth flow
loaded /lovelace/0/auth/authorize and never reached the expected
callback.
2026-05-13 09:15:23 -03:00
Bruno Pantaleão Gonçalves
819feffd5f Add AppIcon tests (#4615)
## Summary
- Add unit coverage for `AppIcon` title mapping across all cases
- Verify `darkIcon` behavior for shared and per-icon assets
- Cover debug default-selection behavior for `isDefault` and `iconName`
2026-05-08 11:11:01 +02:00
Bruno Pantaleão Gonçalves
45e05e6666 Add confirmation dialog before executing tag (#4617)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
Before forwarding unknown tags to Home Assistant, present a confirmation
dialog.

Android implementation:
https://github.com/home-assistant/android/pull/6814

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="966" height="1004" alt="CleanShot 2026-05-07 at 15 56 54@2x"
src="https://github.com/user-attachments/assets/b7411e42-c2ec-473b-8241-c3280531737f"
/>


## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-05-08 10:55:40 +02:00
Bruno Pantaleão Gonçalves
b821f58d5e Improve ​Car​Play ​Assist feedback and playback troubleshooting (#4613) 2026-05-06 18:26:34 +02:00
Bruno Pantaleão Gonçalves
d77040fa07 Normalize ipv6 URL for host comparison in WKSecurityOrigin (#4602)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
The issue is the new WebView bridge origin check. It compares configured
URL hosts with WKSecurityOrigin.host and IPv6 can appear as fd00::abcd
in one API and [fd00::abcd] in another, so the bridge rejects valid
frontend messages. That blocks external auth and leaves the frontend
loading, while widgets still work.

This PR normalizes the url
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-05-04 11:17:51 +02:00
Bruno Pantaleão Gonçalves
f5f32ef40c Add app icon shortcuts configurator (#4588)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
As part of removing legacy iOS actions from the app completely, this PR
adds a way for the user to choose what to display in app icon long press
menu.
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="3216" height="1890" alt="CleanShot 2026-04-30 at 11 35
28@2x"
src="https://github.com/user-attachments/assets/4680d7e4-4790-4f21-b4b4-b93f641ce769"
/>

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-30 17:26:44 +02:00
Bruno Pantaleão Gonçalves
0bb2d6296f Fix Safe area empty state (#4572)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-28 10:30:52 +00:00
nstefanelli
edc810d140 Fix kiosk mode brightness persisting after app backgrounds (#4506) (#4532)
## Summary

Fixes #4506.

When kiosk mode's screensaver dims `UIScreen.main.brightness` (or when
the managed-brightness setting is active) and the user taps a push
notification to open another app, the dim would persist system-wide — HA
only restored brightness when re-entering kiosk mode. Only re-opening HA
would bring it back.

This PR restores the user's original brightness (captured in
`enableKioskMode()`) when HA backgrounds, and re-applies the kiosk
brightness state when HA returns to foreground.

**Deliberate choice:** wired to
`UIApplication.didEnterBackgroundNotification`, **not**
`willResignActiveNotification`. This means a notification banner
dropping down, Control Center pulldown, or incoming-call alert alone
does NOT undo the kiosk dim — only actually leaving the app does.
Matches what users expect from a kiosk: the display stays dim unless
someone truly uses the device elsewhere.

## Behavior matrix

| Event | Kiosk state | Result |
|---|---|---|
| Notification banner drops (no app switch) | on + screensaver dim |
Stays dimmed |
| Tap notification → other app opens | on + screensaver dim | Restored
to pre-kiosk brightness |
| Tap notification → other app opens | on + ` brightnessControlEnabled `
| Restored to pre-kiosk brightness |
| Return to HA | on + screensaver still active | Re-dims |
| Return to HA | on + ` brightnessControlEnabled ` | Re-applies managed
level |
| Device locks/sleeps | on | Restored to pre-kiosk brightness |

## Implementation

Single file change in `Sources/App/Kiosk/KioskModeManager.swift`:

- ` appDidEnterBackground() ` — restore ` originalBrightness ` when
kiosk active
- ` appDidBecomeActive() ` — re-apply screensaver dim OR managed
brightness on return (depending on current state)
- Extracted ` applyBrightnessForActiveScreensaver() ` helper from `
showScreensaver() ` so foreground-reapply and initial-show share one
code path (DRY)

No new settings, no UI changes, no API additions, no unrelated file
touches.

## Tests

New file ` Tests/App/Kiosk/KioskLifecycleBrightness.test.swift ` (Swift
Testing, per project convention):

- ` backgroundRestoresOriginalBrightnessWhenScreensaverActive `
- ` foregroundReappliesScreensaverDim `
- ` foregroundReappliesManagedBrightnessWithoutScreensaver `
- ` lifecycleDoesNothingWhenKioskInactive `

Tests drive ` KioskModeManager.shared ` directly (there is no injectable
instance today). The setup helper snapshots ` Current.screenBrightness `
/ ` setScreenBrightness ` closures AND persisted kiosk settings, then
restores both on cleanup — so runs do not pollute the GRDB database or
leak state between tests.

## Follow-up candidate (not this PR)

If maintainers prefer, ` KioskModeManager ` could grow an injectable
initializer to allow testing without touching the shared singleton. I
did not do that here to keep the PR focused on the fix, but happy to
send a separate PR if you'd like that refactor.

## Test plan

- [x] Unit tests pass (` KioskLifecycleBrightnessTests ` — 4 cases)
- [x] Existing kiosk tests still pass (no regression from the `
showScreensaver() ` refactor)
- [x] ` bundle exec fastlane lint ` clean (SwiftFormat + SwiftLint +
Rubocop)
- [x] ` xcodebuild ` clean build (App target)
- [x] ` xcodebuild build-for-testing ` (test bundle compiles)

---------

Co-authored-by: Nick Stefanelli <nstefanelli@users.noreply.github.com>
2026-04-28 10:12:38 +02:00
Bruno Pantaleão Gonçalves
3310bb6ada Fix mtls profile info request on macos (#4555)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-24 16:00:37 +02:00
David Bishop
80924fe00c Add barometer as an entity that iPhone/some iPads expose (#4491) 2026-04-23 11:12:22 +02:00
Bruno Pantaleão Gonçalves
8c90c3f1e0 Avoid reconnection loop when disconnected (#4547)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-22 16:48:21 +02:00
Bruno Pantaleão Gonçalves
aba8915088 Fix [mTLS] macOS Menu Bar Text not showing (#4545)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-22 15:41:20 +02:00
Bruno Pantaleão Gonçalves
6e22a09338 Prevent duplicate error message when HA unreachable (#4546)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="1206" height="2622" alt="Simulator Screenshot - Daily tester
2 - 2026-04-22 at 14 43 08"
src="https://github.com/user-attachments/assets/66e0e557-5b69-4f8d-82c1-53dbf7fb4b9b"
/>

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-22 15:40:52 +02:00
Bruno Pantaleão Gonçalves
7f03811c17 Omit empty PKCS#12 passphrase and add tests (#4544)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
Avoid passing an explicit empty passphrase to SecPKCS12Import on macOS
by introducing ClientCertificateManager.pkcs12ImportOptions(password:).
importP12 now uses this helper so an empty password results in no
passphrase option being supplied. Added unit tests verifying both empty
and non-empty password behavior and imported Security in the test file.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-22 15:10:23 +02:00
Bruno Pantaleão Gonçalves
8f26f9e7d5 Restore servers from GRDB when empty keychain (#4523)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->



https://github.com/user-attachments/assets/e6c5eecb-4399-4e44-94e8-dc0b5ed8d744



## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-21 21:13:26 +02:00
Bruno Pantaleão Gonçalves
8297770ac7 Prevent security exceptions to be mirrored in local db (#4541)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-21 13:38:19 +02:00
Bruno Pantaleão Gonçalves
abdda5ad0c Improve Assist in CarPlay (#4524) 2026-04-15 19:50:59 +02:00
Bruno Pantaleão Gonçalves
10f333be9e Fix issue where keyboard is not focusing on textfield (#4511)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-14 14:35:02 +02:00
Bruno Pantaleão Gonçalves
7906334c27 Support styled empty states and preserve auth-invalid (#4510)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
Display unauthenticated state in the same UI style as the current empty
state, so we dont have the duplicated popup coming over it.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="1206" height="2622" alt="Simulator Screenshot - Daily tester
2 - 2026-04-14 at 11 55 17"
src="https://github.com/user-attachments/assets/e94caddc-ceae-4edf-9e95-4953b81a71cc"
/>

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2026-04-14 13:29:24 +02:00