{ "id": "61087", "key": "TIMOB-455", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11258", "description": "Holding Pen for Triaged Issues", "name": "Backlog", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-07-26T18:51:41.000+0000", "created": "2011-04-15T02:29:37.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "defect", "ios", "tabGroup", "tabgroup" ], "versions": [], "issuelinks": [], "assignee": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2011-07-26T18:51:41.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}

Base UI => Tab Group

{html}", "attachment": [], "flagged": false, "summary": "Tabs disappear after closing then re-opening tab group", "creator": { "name": "nwright", "key": "nwright", "displayName": "Nolan Wright", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "nwright", "key": "nwright", "displayName": "Nolan Wright", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "123320", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

\n

For the purposes of the test, it appears that the test should\nsave the tabs, close, and when opening, move the tabs back in,\nsince nondestructively closing a tabgroup should be a rare\ncase.

\n

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

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:38.000+0000", "updated": "2011-04-15T02:29:38.000+0000" }, { "id": "123321", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:39.000+0000", "updated": "2011-04-15T02:29:39.000+0000" }, { "id": "123322", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

valid, has testcase

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:39.000+0000", "updated": "2011-04-15T02:29:39.000+0000" }, { "id": "123323", "author": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

\n

Note these other tickets describe very similar issues, and could\npossibly be closed and summarised here instead:
\n\n#630 and \n#2015

\n

To summarise the current status from a user/dev perspective,\nwhen the tabgroup is closed, a blank, black, screen is displayed.\nThere is no way to return the UI to the user from this point\nonwards.

\n

To test different scenarios, just comment/uncomment and re-order\nthe commands in the click event of the button in this code.

\n

Note this certainly affects android. Does it also affect\niOS?

{html}", "updateAuthor": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:40.000+0000", "updated": "2011-04-15T02:29:40.000+0000" }, { "id": "123324", "author": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

\n

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

\n

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

\n

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

{html}", "updateAuthor": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:40.000+0000", "updated": "2011-04-15T02:29:40.000+0000" }, { "id": "123325", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:40.000+0000", "updated": "2011-04-15T02:29:40.000+0000" }, { "id": "123326", "author": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

\n

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

{html}", "updateAuthor": { "name": "hal", "key": "hal", "displayName": "hal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:40.000+0000", "updated": "2011-04-15T02:29:40.000+0000" }, { "id": "123327", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

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

{html}", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:29:41.000+0000", "updated": "2011-04-15T02:29:41.000+0000" }, { "id": "160700", "author": { "name": "vsingh", "key": "vsingh", "displayName": "Vikramjeet Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Bug Scrub: Invalid. Test Case exists in KitchenSink\n\nTested On:\nTiMOB sdk version: 1.7.2\nStudio version: 1.0.2\nOS Version: Mac OSX Lion\nDevice tested On - iPhone 4.2.9", "updateAuthor": { "name": "vsingh", "key": "vsingh", "displayName": "Vikramjeet Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-07-26T18:51:41.000+0000", "updated": "2011-07-26T18:51:41.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }