Skip to content

Conversation

TimoPtr
Copy link
Member

@TimoPtr TimoPtr commented Sep 23, 2025

Summary

LauncherActivity now can be started with a DeepLink sealed interface instance. For now it only support Invite and NavigateTo. I decided to keep the LinkActivity to handle the server selection and potential modification/validation of the data received on the app.

The current state of the navigation framework doesn't allow us to use the deeplink capability since it has too many restrictions. So for now everything is using the startDestination. Unfortunately the sub-navigation-graph cannot read the value from the startDestination, that's why I passed a serverToOnboard parameter to the OnbardingNavigation instead of simply using the route. IMO it is also a valid pattern that I'm going to use to morph the onboarding graph for the wear.

I fixed an issue where when we open the Frontend from the Launcher it was keeping the Launcher in the backstack with a white screen. For now it is a workaround with a dummy route that doesn't do anything except redirecting to the activity and finish the current activity. Later we are going to remove this once the WebViewActivity is using the navigation framework.

Checklist

  • New or updated tests have been added to cover the changes following the testing guidelines.
  • The code follows the project's code style and best_practices.
  • The changes have been thoroughly tested, and edge cases have been considered.
  • Changes are backward compatible whenever feasible. Any breaking changes are documented in the changelog for users and/or in the code for developers depending on the relevance.

Any other notes

For now the homeassistant://navigate links are still handled by the WebViewActivity directly.

Copy link
Contributor

github-actions bot commented Sep 23, 2025

Test Results

 85 files   85 suites   9m 0s ⏱️
425 tests 425 ✅ 0 💤 0 ❌
440 runs  440 ✅ 0 💤 0 ❌

Results for commit 8f88829.

♻️ This comment has been updated with latest results.

@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch from ac43843 to 06a983a Compare September 23, 2025 14:19
@TimoPtr TimoPtr marked this pull request as ready for review September 23, 2025 14:19
@TimoPtr TimoPtr requested a review from jpelgrom September 23, 2025 14:19
@TimoPtr TimoPtr force-pushed the feature/onboarding-location-sharing branch from 8191b55 to c122909 Compare September 24, 2025 10:05
@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch 2 times, most recently from b6431c6 to d178aa2 Compare September 24, 2025 12:25
@TimoPtr TimoPtr force-pushed the feature/onboarding-location-sharing branch from 4330690 to 56def5b Compare September 26, 2025 08:01
@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch from d178aa2 to 4a154b9 Compare September 26, 2025 08:03
@TimoPtr TimoPtr force-pushed the feature/onboarding-location-sharing branch from ae70e11 to c31a2c1 Compare September 29, 2025 10:17
@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch from eb52415 to 0600d75 Compare September 29, 2025 10:22
Base automatically changed from feature/onboarding-location-sharing to main September 29, 2025 11:06
@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch from 0600d75 to ab1fc28 Compare September 29, 2025 11:09
@jpelgrom
Copy link
Member

jpelgrom commented Sep 30, 2025

Testing LinkActivity: while comparing the current production app and this version, this version is noticeably slower than production and has a weird flash at the top of the screen. Both are cold starts (app removed from recents).

Current prod:

deeplink-old.mp4

This version with new deeplinks:

deeplink-new.mp4

@TimoPtr TimoPtr force-pushed the feature/onboarding-deeplinks branch from ab1fc28 to 8f88829 Compare October 1, 2025 14:31
@jpelgrom
Copy link
Member

jpelgrom commented Oct 1, 2025

After discussion on Discord, I tested a debug build of the latest commit of main and performance/behavior for deeplinks seems similar to this PR branch, so the observed difference is probably because of debug and not the changes in this PR.

deeplink-main.mp4

@TimoPtr TimoPtr merged commit 65b3a65 into main Oct 2, 2025
34 of 37 checks passed
@TimoPtr TimoPtr deleted the feature/onboarding-deeplinks branch October 2, 2025 07:31
@TimoPtr TimoPtr mentioned this pull request Oct 2, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants