Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-455] Tabs disappear after closing then re-opening tab group

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionFixed
Resolution Date2011-07-26T18:51:41.000+0000
Affected Version/sn/a
Fix Version/sBacklog
ComponentsiOS
Labelsdefect, ios, tabGroup, tabgroup
ReporterNolan Wright
AssigneeJeff Haynie
Created2011-04-15T02:29:37.000+0000
Updated2011-07-26T18:51:41.000+0000

Description

Base UI => Tab Group

Comments

  1. Blain Hamon 2011-04-15

    Okay, after looking at the source, there is some justification of the logic. That is, when a tab is closed, it closes its windows, losing the state of the stack. Closing is destructive. When the tab group is closed, similarly it removes the tabs its had so they they can close recursively. So that closing the tab group is destructive.

    For the purposes of the test, it appears that the test should save the tabs, close, and when opening, move the tabs back in, since nondestructively closing a tabgroup should be a rare case.

    In the event that closing a tab group should be nondestructive, the tabs themselves may not get a close event until the tab group is dealloced. There may be a retain loop that prevents the dealloc from happening.

  2. Thomas Huelbert 2011-04-15

    fwiw this is a 3.1.2 issue, iOS4.0 does not show this issue

  3. Thomas Huelbert 2011-04-15

    valid, has testcase

  4. hal 2011-04-15

    I have run into this issue also. I have tested it using latest builds of both 1.4.X and 1.5 master dated 6th Nov 2010, via the android emulator on ubuntu.

    Note these other tickets describe very similar issues, and could possibly be closed and summarised here instead:
    https://appcelerator.lighthouseapp.com/projects/32238-titanium-mobile/tickets/630"> #630 and https://appcelerator.lighthouseapp.com/projects/32238-titanium-mobile/tickets/2015"> #2015

    To summarise the current status from a user/dev perspective, when the tabgroup is closed, a blank, black, screen is displayed. There is no way to return the UI to the user from this point onwards.

    To test different scenarios, just comment/uncomment and re-order the commands in the click event of the button in https://gist.github.com/671413">this code.

    Note this certainly affects android. Does it also affect iOS?

  5. hal 2011-04-15

    Just to add, this is the current tabgroup behaviour when opening a new window that is not attached to a tab:

    As stated, if a tabgroup is closed you will just see a black blank screen, and you cannot recover from it.

    If you create and open a window, then the new window will appear inside the active tab, with the tabgroup navigation showing above.

    If you set the navBarHidden: true property on that window and then open it, it will fill the whole screen (covering the tabs).

  6. Blain Hamon 2011-04-15

    We might want to circle around and look at the behavior. On most windows, once they're closed, they're closed. If they're reopenable, retention cycles may cause havoc with memory.

  7. hal 2011-04-15

    Please note that my comments in this ticket related to android, whereas I think most post refer to iOS. Please bear this in mind when reading my posts.

    From what I understand, tabGroups behave differently natively on the two platforms (ie android doesn't not have a native way of removing a tab), so it is not surprising that there isn't consistent behavior at the Titanium level.

  8. Stephen Tramer 2011-04-15

    Still valid! Tested 1.6.0RC1 in KS->Base UI->Tab Groups->Close.

  9. Vikramjeet Singh 2011-07-26

    Bug Scrub: Invalid. Test Case exists in KitchenSink Tested On: TiMOB sdk version: 1.7.2 Studio version: 1.0.2 OS Version: Mac OSX Lion Device tested On - iPhone 4.2.9

JSON Source