Use cloud > remote > internal URLs in that order for invitation link (#3664)

<!-- 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. -->
This commit is contained in:
Bruno Pantaleão Gonçalves
2025-06-23 09:31:13 +02:00
committed by GitHub
parent 470d6c69c0
commit 88468d0ef3
5 changed files with 156 additions and 3 deletions

View File

@@ -223,6 +223,21 @@ public struct ConnectionInfo: Codable, Equatable {
return url?.sanitized()
}
/// Returns the url that should be used at this moment to share with someone else to access the Home Assistant
/// instance.
/// Cloud > Remote > Internal
public func invitationURL() -> URL? {
if useCloud, let remoteUIURL {
return remoteUIURL.sanitized()
} else if let externalURL {
return externalURL.sanitized()
} else if let internalURL {
return internalURL.sanitized()
} else {
return nil
}
}
/// Returns the activeURL with /api appended.
public mutating func activeAPIURL() -> URL? {
if let activeURL = activeURL() {