Githawk: Deep links don't work if app is cold started via link

Created on 18 Nov 2018  路  5Comments  路  Source: GitHawkApp/GitHawk

Describe the bug
I've noticed since adding GitHawk support to Opener (detailed here) that it seems to only work intermittently. Today I found that this malfunction only happens if GitHawk is cold started from a deep link, if it was launched previously the issue wouldn't occur.

To Reproduce
Steps to reproduce the behavior:

  1. Force quit GitHawk
  2. Go to Safari
  3. Navigate to freetime://RepoRoute?owner=timonus&repo=OpenerManifest&branch=master, which should launch GitHawk.

Expected behavior
The app should launch and navigate to this repository.

Screenshots
Video of this: https://db.tt/ONuuggeMxQ

Smartphone (please complete the following information):

  • GitHawk 1.24.0 and above, not sure of iOS version but I believe it probably extends back to the oldest iOS version GitHawk supports.

Additional context
I'm trying to find the root cause of this.

馃悰 bug

All 5 comments

Alright, been digging on this for a couple hours and I think I'm a bit over my head. Both in the successful and unsuccessful cases AppSplitViewController's showDetailViewController is called with a RepositoryViewController passed in (not sure if that actually handles navigation on phone or not). I cannot for the life of me find where we're dropping navigation here.

Also, it looks like on successful cases handle(route:from:) might be getting called twice, once with failure and another time with success, but I'm a Swift n00b so I don't have confidence that I understand what's happening here.

screen shot 2018-11-18 at 12 15 45 pm

Also notable

  • Deep links don鈥檛 work for the entire of the session if the session is started via deep link. Not just the first time.
  • This bug doesn鈥檛 occur on iPad at all, iPad always handles links correctly.

Sent with GitHawk

Crap hmm. I鈥檒l try to dig in too. The split view delegate is where split show handling happens (to cover iPad and iPhone behaviors). Wonder if some split VC state isn鈥檛 setup yet on cold start?

Sent with GitHawk

Aha, didn't realize that was a part of it. Seems there is a discrepancy in isCollapsed between the error repro and successful cases.

screen shot 2018-11-18 at 3 04 15 pm

Think I got it, isCollapsed seems to sometimes return false even if the split view controller is presenting only a single view controller.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

viktorgardart picture viktorgardart  路  3Comments

BasThomas picture BasThomas  路  3Comments

BasThomas picture BasThomas  路  3Comments

BasThomas picture BasThomas  路  3Comments

BasThomas picture BasThomas  路  3Comments