Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

[Bug] TabBarIsVisible = True/False doesn't work on Back navigation #12126

Closed
jm-parent opened this issue Sep 15, 2020 · 9 comments · Fixed by #12320
Closed

[Bug] TabBarIsVisible = True/False doesn't work on Back navigation #12126

jm-parent opened this issue Sep 15, 2020 · 9 comments · Fixed by #12320
Assignees
Labels
a/shell 🐚 in-progress This issue has an associated pull request that may resolve it! t/bug 🐛

Comments

@jm-parent
Copy link

jm-parent commented Sep 15, 2020

Description

I have an App with Shell Navigation.
Page A is the "Tab".
I navigate to Page B with await Shell.Current.GoToAsync(RouteNames.WorkOrderDetailPage);
This page have Shell.TabBarIsVisible="False"

TabBar is hiding. 💪

When a tap "back" , Page A doesn't show Bottom Tabs 😦 Even if i foce Shell.TabBarIsVisible="True" on this ContentPage.

Steps to Reproduce

Page A ( a Tab ) with TabbarVisible = true // Tab is => Visible ✅
Nav to Page B with TabbarVisible = false // Tab is => Hide ✅

And now 2 things , if you :

Nav Back to Page A TabbarVisible = true // Tab is => Still hide 🚫
or
Nav to Page C : TabbarVisible = true // Tab is => Visible ✅ but 🤔

Expected Behavior

TabBar is visible when TabBarIsVisible = True 👍

Actual Behavior

TabBar is not visible even if TabBarIsVisible = True 🙅

Basic Information

I'm currently using XF 4.8.0.1364.

Screenshots

Page A : Tab with TabbarVisible = true
Page C : Common ContentPage with TabbarVisible = false
Page A : Common ContentPage Tab with TabbarVisible = true

https://streamable.com/0nkdb5
In this video you can see :
Page A => Page B => Page C => Page B => Page A
Tab : visible => not visible => visible ✅ => visible 🙅 => visible ✅
Page A => Page B => Page A
Tab : visible => not visible => not visible 🙅

@jm-parent jm-parent added s/unverified New report that has yet to be verified t/bug 🐛 labels Sep 15, 2020
@samhouts samhouts added this to New in Triage Sep 16, 2020
@PureWeen PureWeen self-assigned this Sep 17, 2020
@josephlbailey
Copy link

Can confirm this issue persists in 4.8.0.1451

@jm-parent
Copy link
Author

🤔It seems SharedTransitionShell was the mistake.

I replace it by Shell , and TabBar show and hide correctly .

@josephlbailey did you use SharedTransition too ?

20-09-29-10-23-06

@josephlbailey
Copy link

@jm-parent I believe mine is related to #8969 or #12144 as it is an issue only on iOS.

@Cr15Denis
Copy link

That's right, friend, when they break a bug, provide a video or gif of the problem so the engineering team can solve it as soon as possible.
TabbarProblem

@PureWeen
Copy link
Contributor

Hmm so this is an odd one :-/

Similar issue here
#12144

For some reason these exports are no longer executing....

public bool ShouldPopItem(UINavigationBar navigationBar, UINavigationItem item)

It's annoying because they execute fine when I'm building against source but not from the nuget package...

Haven't traced back to why those have stopped executing yet

@PureWeen
Copy link
Contributor

PureWeen commented Oct 1, 2020

I've only seen one repro so far so that's what I've been able to fix :-)

I'm hoping that's everyones issue.

There's a nuget here
https://dev.azure.com/xamarin/public/_build/results?buildId=27801&view=artifacts&type=publishedArtifacts

If you can all test that nuget and let me know if that resolves the issue for you that would be great!!! If it doesn't can you try to include a repro?

@josephlbailey
Copy link

@PureWeen So I tested the new nuget with no luck.

So here's a repro using the standard boilerplate project that is created when doing a new Shell app:
TabBarVisibilityRepro.zip

I used the LoginPage as my third level of navigation to illustrate that when using Shell.GoToAsync("../") on a page with Shell.TabBarIsVisible="False", it breaks the visibility on the previous page as illustrated here:

tabbarvisiblilitybugrepro

@PureWeen
Copy link
Contributor

PureWeen commented Oct 1, 2020

Thank you @josephlbailey !!

That helped me locate what looks to be the most problematic part of code.

New set of nugets here brewing
https://dev.azure.com/xamarin/public/_build/results?buildId=27842

Let me know if that works for you

@josephlbailey
Copy link

@PureWeen Worked like a charm! Well done!

@hartez hartez removed the s/unverified New report that has yet to be verified label Oct 1, 2020
@hartez hartez added this to Backlog in Shell via automation Oct 1, 2020
@hartez hartez removed this from New in Triage Oct 1, 2020
@hartez hartez added the in-progress This issue has an associated pull request that may resolve it! label Oct 1, 2020
@hartez hartez moved this from Backlog to In Progress in Shell Oct 1, 2020
@samhouts samhouts added this to In Progress in vCurrent (4.8.0) Oct 1, 2020
Shell automation moved this from In Progress to Done Oct 20, 2020
vCurrent (4.8.0) automation moved this from In Progress to Done Oct 20, 2020
@samhouts samhouts removed this from Done in vCurrent (4.8.0) Nov 2, 2020
@samhouts samhouts added this to In Progress in vNext+1 (5.0.0) Nov 2, 2020
@samhouts samhouts moved this from In Progress to Done in vNext+1 (5.0.0) Nov 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a/shell 🐚 in-progress This issue has an associated pull request that may resolve it! t/bug 🐛
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

5 participants