<!-- 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="2542" height="1494" alt="CleanShot 2026-06-23 at 15 37
01@2x"
src="https://github.com/user-attachments/assets/02570900-d21f-4f56-9ad5-396e19f20c4f"
/>
## 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>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
The macOS `distribute` job fails at the **export** step on the
`macos-26` runner (archive succeeds; export fails):
```
error: exportArchive exportOptionsPlist error for key "method"
expected one {app-store-connect, release-testing, enterprise, debugging, validation} but found developer-id
```
### Root cause
The export rejection is a downstream symptom. The real cause is
**earlier**, in gym's platform detection:
```
[10:06:11]: Skipped Swift Package Manager dependencies resolution.
$ xcodebuild -showBuildSettings -workspace HomeAssistant.xcworkspace -scheme App-Release 2>&1
[10:07:11]: Command timed out after 60 seconds on try 1 of 4, trying again with a 120 second timeout...
[10:07:35]: Could not read the "SUPPORTED_PLATFORMS" build setting, assuming that the project supports iOS only.
```
`build_mac_app` already sets `catalyst_platform = "macos"` internally,
but gym only honours it when `supports_mac_catalyst?` is true. That
check runs `xcodebuild -showBuildSettings`, which — because SPM
resolution is skipped — runs cold and, for this large workspace,
**exceeds the 60s `FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT`**. When it
times out, gym can't read `SUPPORTS_MACCATALYST`, assumes the project is
iOS-only, and archives `generic/platform=iOS`. The resulting **iOS**
archive can't export the macOS-only `developer-id` method under Xcode
26.4.1's stricter `-exportArchive` (older Xcode tolerated it). The
`app-store` build never runs because the `developer-id` export fails
first.
This also explains why it "worked before": the probe used to complete
within 60s, so `supports_mac_catalyst?` was true and gym archived the
Mac Catalyst variant. As the workspace grew / Xcode got slower, the cold
probe started timing out.
### Fix
Raise `FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT` from `60` to `180` so the
cold `-showBuildSettings` probe completes. gym then reads
`SUPPORTS_MACCATALYST=YES`, archives `generic/platform=macOS` (Mac
Catalyst), takes the pkg/app export path, and exports `developer-id` +
`app-store` as designed.
> Note: an earlier revision of this PR added `catalyst_platform:
'macos'` to the `build_mac_app` calls. That was wrong — `build_mac_app`
rejects that option (it sets it internally), which only produced a new
error. It has been reverted; the lane is unchanged from `main`.
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
N/A — CI / build tooling only, no app or UI changes.
## 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. -->
- The `Distribute` workflow only runs on push to `main` /
`workflow_dispatch`, so PR CI does not exercise this path. Please
confirm with a manual `Distribute` run on this branch before merging.
- If 180s still proves tight on a cold runner,
`FASTLANE_XCODEBUILD_SETTINGS_RETRIES` (default 3, with doubling
backoff) provides additional headroom, or the workflow could pre-resolve
SPM packages before `fastlane mac build`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
<!-- 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>
<!-- 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>
## Summary
After the SwiftUI navigation refactor, the Mac window stopped restoring
its size and position across launches, always reopening centered at
default size. The persistence machinery
(`WindowScenesManager`/`WindowSizeObserver`/`ScenesWindowSizeConfig`)
still existed but was orphaned — its only caller,
`WebViewSceneDelegate`, was removed, so nothing saved or re-applied the
window frame.
Changes:
- **Re-wire scene lifecycle** — forward the `"WebView"` scene's
lifecycle from the existing `QuickActionWindowSceneDelegate` into
`WindowScenesManager`:
- `sceneDidBecomeActive` → restore saved frame + start observing
- `sceneWillResignActive` → stop observing
- `sceneDidDisconnect` → cleanup observer
- Reuses the existing (already tested) persistence logic; no new UIKit
window machinery is introduced — SwiftUI's `WindowGroup` keeps hosting
the content, and the geometry work stays macCatalyst-guarded.
```swift
func sceneDidBecomeActive(_ scene: UIScene) {
guard let windowScene = scene as? UIWindowScene else { return }
WindowScenesManager.shared.sceneDidBecomeActive(windowScene)
}
```
## Screenshots
<!-- N/A — behavior restoration; window now reopens at its previous
size/position on macOS. -->
## Link to pull request in Documentation repository
Documentation: home-assistant/companion.home-assistant#
## Any other notes
The persistence code itself is unchanged; this only reconnects it to the
scene lifecycle that the SwiftUI refactor severed. Worth a Catalyst
build/`fastlane test` on a Mac as a final check, since CodeQL/build
couldn't run in the Linux CI sandbox.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
<!-- 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>
<!-- 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. -->
<!-- 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. -->
<!-- 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. -->
<!-- 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>
<!-- 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 yaml examples to samples
- Localized strings
- Remove unnecessary comments
- Fix UI
## 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>
<!-- 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. -->
## Summary
The samples section on the Live Activity settings screen was gated
behind `#if DEBUG`, so it was unavailable in release builds. This
removes the gate to make the samples available in all builds.
Changes:
- Removed the `#if DEBUG` / `#endif` wrapping the `samplesSection`
reference in the view body.
- Removed the `#if DEBUG` / `#endif` wrapping the samples section
definition and its helper methods.
- Renamed the "Samples (DEBUG builds only)" comment to "Samples".
The outer `#if os(iOS) && !targetEnvironment(macCatalyst)` platform
guard is unchanged.
## 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
Documentation: home-assistant/companion.home-assistant#
## Any other notes
The samples section is now compiled into release builds; confirm this is
the intended exposure for end users.
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
## 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>
## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
The macOS `distribute` job started failing at the export/notarize stage.
It was **not** caused by any app code — the GitHub `macos-26` runner's
`Xcode_26.4.app` now resolves to **Xcode 26.4.1**, whose `xcodebuild
-exportArchive` rejects the legacy `developer-id` export method value:
```
error: exportArchive exportOptionsPlist error for key "method"
expected one {app-store-connect, release-testing, enterprise, debugging, validation}
but found developer-id
```
This PR gets the mac lane green again on Xcode 26.4.1:
- **Bump fastlane `2.222.0` → `2.236.1`** — its newer `gym` / Mac
Catalyst platform handling fixes the `developer-id` export rejection.
This also requires bumping `mutex_m` (`~> 0.3`) and `BUNDLED WITH`
(`2.6.9`, since fastlane now needs bundler ≥ 2.4.0; CI installs bundler
from that lockfile line).
- **Drop `verbose: true` from the macOS `notarize` call** — with
fastlane 2.236.1, `notarize` runs `notarytool submit --output-format
json --wait` and JSON-parses the captured output. `verbose: true`
appends `--verbose`, which interleaves `[timestamp] Debug …` log lines
into that output, so `JSON.parse` failed (`invalid number:
'08:48:05.798Z]'`) **even though notarization returned `Accepted`**.
notarytool already suppresses progress under `--output-format json`, so
the flag is unnecessary and the output stays clean JSON.
Verified end-to-end on a manual `Distribute` run of this branch: both
the iOS and macOS legs complete (archive → export → notarize/upload)
successfully.
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
N/A — CI / build tooling only, no app or UI changes.
## 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. -->
- Unrelated to #4780 (the merge the failures happened to start after);
that PR only touched `HAAPI.swift` / `MagicItem.swift`.
- Heads-up for a future change: the build log warns that fastlane is
nearing end-of-support for Ruby 3.1.2 (will require ≥ 3.3.0). Not
addressed here.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
<!-- 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 makes all watch actions executed through REST API instead of
WebSocket.
## 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>
<!-- 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>
<!-- 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 device and area context to Watch, CarPlay, Widgets and App
Icon shortcuts configuration screens.
## 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. -->
<!-- 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. -->
<!-- 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. -->
<!-- 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. -->
## Summary
After the SwiftUI migration (#4748), the themed status-bar bar moved
from a UIKit `statusBarView` to a SwiftUI `themedStatusBar` in
`HomeAssistantView`. The new implementation rendered nothing, exposing
the white window background in the notch/status-bar area instead of the
theme color.
Root cause: the bar was built as
```swift
Color(uiColor: color)
.frame(maxWidth: .infinity)
.frame(height: 0)
.ignoresSafeArea(edges: .top)
```
The rigid `.frame(height: 0)` collapses the colored region to zero
height — `ignoresSafeArea` can't grow a fixed-size frame — so the top
safe-area inset stayed empty and showed white (the web view is inset
below it when the bar is enabled).
Changes (`Sources/App/Frontend/WebView/HomeAssistantView.swift`):
- Draw the theme color as a full-bleed
`Color(uiColor:).ignoresSafeArea()` layer applied via
`.background(themedStatusBar)` instead of a zero-height `.overlay`. The
opaque, top-inset web view covers everything below the status bar, so
only the top inset shows the color.
- Behavior unchanged for edge-to-edge/full-screen (`statusBarColor ==
nil` → no bar) and empty-state overlays (respect the safe area, so the
themed inset still shows).
## 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
Documentation: home-assistant/companion.home-assistant#
## Any other notes
Verified on Linux without Xcode, so the iOS target was not compiled; the
change is confined to SwiftUI status-bar rendering.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
<!-- 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. -->
<!-- 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 -->
- PR adds a scene delegate to handle app icon quick actions while
swiftui cannot handle them automatically.
## 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. -->
<!-- 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>
<!-- 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. -->
<!-- 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. -->
<!-- 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 bumps HAKit to 0.4.15 which allows mTLS on Apple Watch.
It also includes connectivity changes + a settings screen to visualize
connectivity information and define where to execute scripts and scenes
from.
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->
<img width="742" height="864" alt="CleanShot 2026-06-16 at 16 39 30@2x"
src="https://github.com/user-attachments/assets/3b9ec512-76f4-4a2f-a677-710c7f37bef4"
/>
## 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>
<!-- 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. -->
<!-- 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>
<!-- 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. -->
<!-- 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 -->
Improves `AppDatabaseUpdater` (the per-server fetch + persist pipeline
that runs on
view-appear, pull-to-refresh, and the Settings "refresh" action) so it
does less work
and stops touching the main thread.
## 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>