{ "id": "172387", "key": "TIMOB-26431", "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": [], "resolution": { "id": "11", "description": "Is not a bug in our product", "name": "Not Our Bug" }, "resolutiondate": "2018-11-19T04:05:18.000+0000", "created": "2018-10-02T19:56:40.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-11-19T04:05:18.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "iOS app is crashing when using Titanium.UI.AUTOFILL_TYPE_PASSWORD as they getting this 2 issues: \r\n\r\n# 1. Since a password text field exists then various text fields within the app will show the password toolbar even though they have no autofill type. This becomes very confusing like when you are entering text into a field called stock number and the password toolbar shows. \r\n\r\n# 2. Even if I remove autoFill type password from the password field since it has a password mask set to true it will show the password toolbar. If I remove password mask it will not show the password toolbar but it will also not mask the text. \r\n\r\n*App Link with recorded video*\r\n# [Video of the issue happening|https://github.com/jwogan5/sampleApp/blob/master/My%20Movie%201.mp4]\r\n# [The app code for the issue|https://github.com/jwogan5/sampleApp/blob/master/hypertest.zip]\r\n\r\n*Steps to Reproduce:*\r\n\r\n# 1. Using autofillType:Titanium.UI.AUTOFILL_TYPE_PASSWORD, from the above video, you can get icloud keychain opens up for a password when it got clicked. The issue occurred by going to the next page even though those fields neither an autofill nor password fields but they also show the password toolbar when click on them. \r\n\r\n# 2. To show password toolbar in simulator, go to Settings > Accounts and Password > AutoFill Password turn on. You will get the issue.\r\n", "attachment": [ { "id": "65716", "filename": "TestPassword.zip", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-10-15T08:22:54.000+0000", "size": 57773, "mimeType": "application/zip" } ], "flagged": false, "summary": "iOS: Password Keyboard Toolbar showing on non password fields", "creator": { "name": "rislam", "key": "rislam", "displayName": "Riduanul Islam", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rislam", "key": "rislam", "displayName": "Riduanul Islam", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1093, "state": "closed", "name": "2018 Sprint 23", "startDate": "2018-11-04T23:35:52.006Z", "endDate": "2018-11-18T23:35:00.000Z", "completeDate": "2018-11-19T05:30:34.338Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "442386", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This problem is happening only when text field of next screen is just above the user-name text field. e.g if I set property 'top' of 'modelField' text field to '20' in below mentioned text case, the problem will not happen. I'll look in same. Thanks!\r\n\r\nTest Case -\r\n\r\n{code:java}\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar userNameField = Ti.UI.createTextField({\r\ntop: 100,\r\nwidth: 150,\r\nhintText:'User Name...',\r\nautofillType:Titanium.UI.AUTOFILL_TYPE_USERNAME,\r\nbackgroundColor:'red'\r\n});\r\n \r\nvar passwordField = Ti.UI.createTextField({\r\ntop: 200,\r\nwidth: 150,\r\nhintText:'Password...',\r\nautofillType:Titanium.UI.AUTOFILL_TYPE_PASSWORD,\r\nbackgroundColor:'red'\r\n});\r\n\r\nvar button = Ti.UI.createButton({\r\n top: 400,\r\n title: 'Open Next'\r\n});\r\n\r\nbutton.addEventListener('click', function(e){\r\n win2.open();\r\n});\r\n\r\nwin.add(userNameField);\r\nwin.add(passwordField);\r\nwin.add(button);\r\nwin.open();\r\n\r\n\r\nvar win2 = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar modelField = Ti.UI.createTextField({\r\ntop: 100,\r\nwidth: 150,\r\nhintText:'Model Name ..',\r\nbackgroundColor:'red',\r\nbubbleParent: false\r\n});\r\n \r\nvar enterField = Ti.UI.createTextField({\r\ntop: 200,\r\nwidth: 150,\r\nhintText:'Eneter 1',\r\nbackgroundColor:'red'\r\n});\r\n\r\nvar button2 = Ti.UI.createButton({\r\n top: 300,\r\n title: 'Go Back'\r\n});\r\n\r\nwin2.add(modelField);\r\nwin2.add(enterField);\r\nwin2.add(button2);\r\n\r\nbutton2.addEventListener('click', function(e){\r\n win2.close();\r\n});\r\n{code}\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-10-08T07:22:06.000+0000", "updated": "2018-10-08T07:22:06.000+0000" }, { "id": "442387", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "A work around to solve this issue is -\r\n While opening the new screen set contentType of current screen's username and password field to 'null'. While opening the previous screen again set contentType to previous one.\r\n\r\nSee the modified version of above test case with this work around - \r\n\r\n{code:java}\r\n\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar userNameField = Ti.UI.createTextField({\r\ntop: 100,\r\nwidth: 150,\r\nhintText:'User Name...',\r\nautofillType:Titanium.UI.AUTOFILL_TYPE_USERNAME,\r\nbackgroundColor:'red'\r\n});\r\n \r\nvar passwordField = Ti.UI.createTextField({\r\ntop: 200,\r\nwidth: 150,\r\nhintText:'Password...',\r\nautofillType:Titanium.UI.AUTOFILL_TYPE_PASSWORD,\r\nbackgroundColor:'red',\r\npasswordMask: true\r\n});\r\n\r\nvar button = Ti.UI.createButton({\r\n top: 400,\r\n title: 'Open Next'\r\n});\r\n\r\n\r\nbutton.addEventListener('click', function(e){\r\n userNameField.setAutofillType(null);\r\n passwordField.setAutofillType(null);\r\n passwordField.setPasswordMask(false);\r\n win2.open();\r\n});\r\n\r\nwin.add(userNameField);\r\nwin.add(passwordField);\r\nwin.add(button);\r\nwin.open();\r\n\r\n\r\nvar win2 = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar modelField = Ti.UI.createTextField({\r\ntop: 100,\r\nwidth: 150,\r\nhintText:'Model Name ..',\r\nbackgroundColor:'red',\r\nbubbleParent: false\r\n});\r\n \r\nvar enterField = Ti.UI.createTextField({\r\ntop: 200,\r\nwidth: 150,\r\nhintText:'Eneter 1',\r\nbackgroundColor:'red'\r\n});\r\n\r\nvar button2 = Ti.UI.createButton({\r\n top: 300,\r\n title: 'Go Back'\r\n});\r\n\r\nwin2.add(modelField);\r\nwin2.add(enterField);\r\nwin2.add(button2);\r\n\r\nbutton2.addEventListener('click', function(e){\r\nuserNameField.setAutofillType(Titanium.UI.AUTOFILL_TYPE_USERNAME);\r\npasswordField.setAutofillType(Titanium.UI.AUTOFILL_TYPE_PASSWORD);\r\npasswordField.setPasswordMask(true);\r\n win2.close();\r\n});\r\n{code}\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-10-08T07:51:16.000+0000", "updated": "2018-10-08T07:51:16.000+0000" }, { "id": "442602", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Thie problem is happening on native iOS app as well. I have attached native iOS app 'TestPassword.zip'.\r\nI'll file bug to apple.", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-10-15T08:24:43.000+0000", "updated": "2018-10-15T08:24:43.000+0000" }, { "id": "442640", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Filed a bug to apple https://openradar.appspot.com/radar?id=5053487494725632 .", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-10-16T06:40:26.000+0000", "updated": "2018-10-16T08:44:02.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }