{ "id": "174194", "key": "TIMOB-27427", "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": "20884", "name": "Release 8.2.1", "archived": false, "released": true, "releaseDate": "2019-10-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2019-10-11T14:03:24.000+0000", "created": "2019-09-30T07:31:58.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "engSchedule" ], "versions": [ { "id": "20827", "name": "Release 8.2.0", "archived": false, "released": true, "releaseDate": "2019-09-19" } ], "issuelinks": [ { "id": "58778", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "175603", "key": "TIMOB-28172", "fields": { "summary": "Ti.UI.Window Test Suite: Titanium.UI.Window Acceptance TIMOB-27427 iOS only", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "10100", "description": "This Issue Type is used to create Zephyr Test within Jira.", "name": "Test", "subtask": false } } } } ], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-10-05T08:37:00.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": "When using iOS 13, native modal windows like the one from {{Ti.Media.showCamera}} are not presented correctly, causing the underlaying view controller to not be dismissed correctly.\r\n\r\n{code:js}\r\nvar win = Ti.UI.createWindow();\r\nvar btn = Ti.UI.createButton({ title: 'Show camera' });\r\n\r\nbtn.addEventListener('click', () => {\r\n Ti.Media.requestCameraPermissions(event => {\r\n Ti.Media.showCamera({\r\n success: () => {},\r\n error: () => {},\r\n cancel: () => {},\r\n });\r\n });\r\n});\r\n\r\nwin.add(btn);\r\nwin.open();\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "iOS 13: Natively presented modal windows are not dismissed properly", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 1165, "state": "closed", "name": "2019 Sprint 20", "startDate": "2019-09-23T15:38:43.949Z", "endDate": "2019-10-06T15:38:00.000Z", "completeDate": "2019-10-07T18:33:11.953Z", "originBoardId": 114 }, { "id": 1168, "state": "closed", "name": "2019 Sprint 21", "startDate": "2019-10-07T18:35:57.052Z", "endDate": "2019-10-20T18:35:00.000Z", "completeDate": "2019-10-21T15:38:00.182Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "451692", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": " This should be handled it 8.2.1!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-09-30T07:32:47.000+0000", "updated": "2019-09-30T07:32:47.000+0000" }, { "id": "451693", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Better test case:\r\n{code:js}\r\nvar window = Ti.UI.createWindow({ backgroundColor: 'green' });\r\nvar nav = Ti.UI.createNavigationWindow({ window })\r\nvar btn = Ti.UI.createButton({ title: 'Show camera' });\r\n \r\nbtn.addEventListener('click', () => {\r\n Ti.Media.requestCameraPermissions(event => {\r\n\tif (!event.success) return;\r\n\t\r\n\tTi.Media.showCamera({\r\n success: () => {},\r\n error: () => {},\r\n cancel: () => {},\r\n });\r\n });\r\n});\r\n \r\nwindow.add(btn);\r\nnav.open({ modal: true });\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-09-30T07:55:34.000+0000", "updated": "2019-09-30T07:55:34.000+0000" }, { "id": "451719", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hknoechel]\r\n1. The first test case (mentioned in description) is working fine for me.\r\n2. In second test case, as you are trying to open navigation window modally, default presentation style in iOS 13 will be page sheet. It looks when dismissing the camera controller it takes away the controller behind it. So better is use \"forceModal\" property. You can use \"modalStyle\" also if you want full screen. See updated example-\r\n\r\n\r\n{code:java}\r\nvar window = Ti.UI.createWindow({ backgroundColor: 'green' });\r\nvar nav = Ti.UI.createNavigationWindow({ window })\r\nvar btn = Ti.UI.createButton({ title: 'Show camera' });\r\n \r\nbtn.addEventListener('click', () => {\r\n Ti.Media.requestCameraPermissions(event => {\r\n\tif (!event.success) return;\r\n\t\r\n\tTi.Media.showCamera({\r\n success: () => {},\r\n error: () => {},\r\n cancel: () => {},\r\n });\r\n });\r\n});\r\n \r\nwindow.add(btn);\r\n//nav.open({ modal: true, forceModal:true});\r\nnav.open({ modal: true, forceModal:true, modalStyle: Titanium.UI.iOS.MODAL_PRESENTATION_FULLSCREEN});\r\n{code}\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-09-30T19:35:30.000+0000", "updated": "2019-09-30T19:35:30.000+0000" }, { "id": "451720", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Sorry, but that's just the workaround to the breaking change. Please fix this properly in the SDK.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-09-30T19:40:51.000+0000", "updated": "2019-09-30T19:40:51.000+0000" }, { "id": "451724", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'll check how it behaves if we open Camera on modally presented view controller in native iOS app. ", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-09-30T21:16:28.000+0000", "updated": "2019-09-30T21:24:30.000+0000" }, { "id": "451787", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR(master) - https://github.com/appcelerator/titanium_mobile/pull/11256\r\nPR(8_2_X) - https://github.com/appcelerator/titanium_mobile/pull/11257\r\n\r\nApart from test case mentioned in this ticket need to test following test cases from TIMOB-27169\r\n\r\n1. \r\n\r\n{code:java}\r\nvar window1 = Ti.UI.createWindow({\r\n title: \"Modal Window\",\r\n backgroundColor: 'white'\r\n});\r\n \r\nvar win = Ti.UI.createNavigationWindow({\r\n window: window1\r\n});\r\n \r\nvar button1 = Ti.UI.createButton({\r\n title: 'Open Window'\r\n});\r\n \r\nwindow1.add(button1);\r\n \r\nwin.open();\r\n \r\nvar window2 = Ti.UI.createWindow({\r\n backgroundColor: 'blue'\r\n});\r\n \r\nvar button2 = Ti.UI.createButton({\r\n title: 'Close Window'\r\n});\r\n \r\nwindow2.add(button2);\r\n \r\nbutton1.addEventListener('click', function(e){\r\n window2.open({\r\n modal:true,\r\n forceModal: true,\r\n });\r\n});\r\n \r\nbutton2.addEventListener('click', function(e){\r\n window2.close();\r\n});\r\n{code}\r\n\r\n2. \r\n\r\n\r\n{code:java}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n \r\nvar btn = Ti.UI.createButton({\r\n title: 'Trigger'\r\n});\r\n \r\nvar winClose = Ti.UI.createButton({\r\n title: 'Close'\r\n});\r\n \r\nbtn.addEventListener('click', function() {\r\n var win2 = Ti.UI.createWindow({ backgroundColor: 'white' });\r\n \r\n win2.addEventListener('close', () => {\r\n Ti.API.warn('CLOSED')\r\n });\r\n \r\n var nav = Ti.UI.createNavigationWindow({\r\n window: win2\r\n });\r\n \r\n nav.add(winClose);\r\n \r\n nav.addEventListener('open', () => {\r\n Ti.API.warn('OPENED')\r\n });\r\n \r\n nav.open({ modal: true })\r\n \r\n winClose.addEventListener('click', () => {\r\n nav.close()\r\n });\r\n \r\n});\r\n \r\nwin.add(btn);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-02T22:31:40.000+0000", "updated": "2019-10-03T21:12:21.000+0000" }, { "id": "451832", "author": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR passed.\r\nPR on master branch merged.\r\nWaiting for build to pass on 8_2_X branch.", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-03T21:57:52.000+0000", "updated": "2019-10-03T21:57:52.000+0000" }, { "id": "451889", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This caused a regression where modal windows cannot be presented fullscreen anymore. See TIMOB-27453 for details.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-10-08T08:08:25.000+0000", "updated": "2019-10-08T08:08:25.000+0000" }, { "id": "451984", "author": { "name": "ssaddique", "key": "ssaddique", "displayName": "Sohail Saddique", "active": true, "timeZone": "Europe/London" }, "body": "Verified on latest build: 8.2.1.v20191010112656. Modal window dismissed correctly. Ticked closed.\r\n\r\nThis ticked causes a regression, however, as indicated above.", "updateAuthor": { "name": "ssaddique", "key": "ssaddique", "displayName": "Sohail Saddique", "active": true, "timeZone": "Europe/London" }, "created": "2019-10-11T14:01:34.000+0000", "updated": "2019-10-11T14:03:09.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }