{
"id": "155003",
"key": "TIMOB-20493",
"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": "17706",
"name": "Release 5.4.0",
"archived": false,
"released": true,
"releaseDate": "2016-08-11"
}
],
"resolution": {
"id": "1",
"description": "A fix for this issue is checked into the tree and tested.",
"name": "Fixed"
},
"resolutiondate": "2016-04-04T13:40:11.000+0000",
"created": "2016-02-18T09:00:23.000+0000",
"priority": {
"name": "Critical",
"id": "1"
},
"labels": [
"ScrollableView",
"ios",
"mainthread",
"sdk-5.1.2"
],
"versions": [],
"issuelinks": [],
"assignee": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"updated": "2016-08-04T17:34:07.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": "Using SDK 5.1.2 there is a problem on the ScrollableView element. Only the first two views can fire up events.\r\nAll the other views cannot fire events, so no _click_ event are captured, no _postlayout_, ..\r\nThe problem is relevant only for *iOS + SDK 5.1.2*.\r\n\r\nI switched back to SDK 5.1.1 and everything works fine :) .",
"attachment": [],
"flagged": false,
"summary": "iOS: ScrollableView fire events only for the first two views",
"creator": {
"name": "parnanzio",
"key": "parnanzio",
"displayName": "PaRnanZio Gun",
"active": true,
"timeZone": "Europe/Rome"
},
"subtasks": [],
"reporter": {
"name": "parnanzio",
"key": "parnanzio",
"displayName": "PaRnanZio Gun",
"active": true,
"timeZone": "Europe/Rome"
},
"environment": "Mac OSX 10.11.3 (El Capitan)\r\nAppcelerator Studio 4.4.0\r\nTitanium SDK 5.1.2\r\nPlatform iOS",
"closedSprints": [
{
"id": 614,
"state": "closed",
"name": "2016 Sprint 07 SDK",
"startDate": "2016-03-26T00:38:56.432Z",
"endDate": "2016-04-09T00:38:00.000Z",
"completeDate": "2016-04-11T04:41:08.231Z",
"originBoardId": 114
}
],
"comment": {
"comments": [
{
"id": "377221",
"author": {
"name": "jnaher",
"key": "jnaher",
"displayName": "Jebun Naher",
"active": false,
"timeZone": "Asia/Dhaka"
},
"body": "Hello,\r\n\r\nWe tested the issue you reported. Events working as expected for each scrollableView element.\r\n\r\n*Test Environment:*\r\nAppcelerator Studio, build: 4.5.0.201602170831\r\nTi.SDK: 5.1.2GA\r\nSimulator: iOS 9.1\r\n\r\nTest Code:\r\n{code}\r\nvar win = Ti.UI.createWindow();\r\nvar view1 = Ti.UI.createView({ backgroundColor:'red' });\r\nvar view2 = Ti.UI.createView({ backgroundColor:'green' });\r\nvar view3 = Ti.UI.createView({ backgroundColor:'blue' });\r\nvar view4 = Ti.UI.createView({ backgroundColor:'black' });\r\nvar view5 = Ti.UI.createView({ backgroundColor:'yellow' });\r\nvar view6 = Ti.UI.createView({ backgroundColor:'gray' });\r\nvar scrollableView = Ti.UI.createScrollableView({\r\n views:[view1,view2,view3,view4,view5,view6],\r\n showPagingControl:true\r\n});\r\nscrollableView.addEventListener('dblclick', function() {\r\n Ti.API.info('click event heard');\r\n}); \r\n/*\r\nscrollableView.addEventListener('postlayout', function() {\r\n Ti.API.info('postlayout event heard');\r\n});\r\n*/\r\nwin.add(scrollableView);\r\nwin.open();\r\n{code}\r\n\r\nOutput:\r\n{code}\r\n[INFO] : click event heard\r\n[INFO] : click event heard\r\n[INFO] : click event heard\r\n[INFO] : click event heard\r\n[INFO] : click event heard\r\n[INFO] : click event heard\r\n{code}\r\n\r\nThanks.",
"updateAuthor": {
"name": "jnaher",
"key": "jnaher",
"displayName": "Jebun Naher",
"active": false,
"timeZone": "Asia/Dhaka"
},
"created": "2016-02-18T12:04:29.000+0000",
"updated": "2016-02-18T12:04:29.000+0000"
},
{
"id": "377222",
"author": {
"name": "parnanzio",
"key": "parnanzio",
"displayName": "PaRnanZio Gun",
"active": true,
"timeZone": "Europe/Rome"
},
"body": "The problem is not on the event on the ScrollableView, but on the inner views (view1, view2, ..)",
"updateAuthor": {
"name": "parnanzio",
"key": "parnanzio",
"displayName": "PaRnanZio Gun",
"active": true,
"timeZone": "Europe/Rome"
},
"created": "2016-02-18T12:10:22.000+0000",
"updated": "2016-02-18T12:10:22.000+0000"
},
{
"id": "377536",
"author": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"body": "Getting the same error with 5.2.0.RC",
"updateAuthor": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"created": "2016-02-22T18:00:54.000+0000",
"updated": "2016-02-22T18:00:54.000+0000"
},
{
"id": "377549",
"author": {
"name": "sdarda",
"key": "sdarda",
"displayName": "Sharif AbuDarda",
"active": false,
"timeZone": "Asia/Dhaka"
},
"body": "Hello, I have tested the issue in SDK 5.2.0.v20160114021251. The issue is not reproducible. Event fired in views as expected.\r\n{code}\r\nvar win = Ti.UI.createWindow();\r\n\r\n\r\nvar view1 = Ti.UI.createView({\r\n backgroundColor : '#123'\r\n});\r\n\r\nview1.addEventListener('click', function(e) {\r\n\r\n Titanium.API.info(\"You clicked the view1\");\r\n\r\n}); \r\n\r\nvar view2 = Ti.UI.createView({\r\n backgroundColor : '#246'\r\n});\r\n\r\nview2.addEventListener('click', function(e) {\r\n\r\n Titanium.API.info(\"You clicked the view2\");\r\n\r\n});\r\n\r\nvar view3 = Ti.UI.createView({\r\n backgroundColor : '#48b'\r\n});\r\n\r\nview3.addEventListener('click', function(e) {\r\n\r\n Titanium.API.info(\"You clicked the view3\");\r\n\r\n});\r\n\r\nvar view4 = Ti.UI.createView({\r\n backgroundColor : 'green'\r\n});\r\n\r\nview4.addEventListener('click', function(e) {\r\n\r\n Titanium.API.info(\"You clicked the view4\");\r\n\r\n});\r\n\r\nvar view5 = Ti.UI.createView({\r\n backgroundColor : '#231'\r\n});\r\n\r\nview5.addEventListener('click', function(e) {\r\n\r\n Titanium.API.info(\"You clicked the view5\");\r\n\r\n});\r\n\r\nvar scrollableView = Ti.UI.createScrollableView({\r\n\r\n views : [view1, view2, view3, view4, view5],\r\n\r\n showPagingControl : true\r\n\r\n});\r\n\r\nwin.add(scrollableView);\r\n\r\nwin.open(); \r\n{code}\r\nh5. Environment\r\nAppcelerator Command-Line Interface, version 5.1.0\r\nTitanium SDK Version: 5.2.0.v20160114021251\r\nPlatform: iOS\r\nSimulator: iphone 6S Plus/ iOS 9.1\r\n\r\n{code}\r\n[INFO] : You clicked the view1\r\n[INFO] : You clicked the view1\r\n[INFO] : You clicked the view2\r\n[INFO] : You clicked the view3\r\n[INFO] : You clicked the view4\r\n[INFO] : You clicked the view5\r\n[INFO] : You clicked the view4\r\n[INFO] : You clicked the view3\r\n[INFO] : You clicked the view2\r\n[INFO] : You clicked the view1\r\n{code}\r\nNot a valid bug. Closing this ticket. Thanks.\r\n",
"updateAuthor": {
"name": "sdarda",
"key": "sdarda",
"displayName": "Sharif AbuDarda",
"active": false,
"timeZone": "Asia/Dhaka"
},
"created": "2016-02-22T20:14:04.000+0000",
"updated": "2016-02-22T20:14:04.000+0000"
},
{
"id": "377557",
"author": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"body": "This is a valid bug!\r\nHere's a sample alloy project that i've made.\r\n\r\nSteps to reproduce:\r\n* Click the \"jump\" right nav button.\r\n* Click on the \"CLICK\" button -> it will print \"simple\" into the console.\r\n* Swipe left and click on any of the TableViewRows -> their title will be printed in the console\r\n* click on the \"create\" button in the bottom of the screen -> new views will be created with tables and some rows\r\n* click on any TableViewRow -> their title is not printed on 5.2.0.v20160220080449 \r\n* tested on 5.0.3 -> it works good.\r\n\r\nindex.xml\r\n\r\n{code:xml}\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\r\n\r\n{code}\r\n\r\nindex.js\r\n\r\n{code:javascript}\r\nfunction createViews(e) {\r\n\tvar views = [];\r\n\t\r\n\tfor(var i = 0; i < 3; i++) {\r\n\t\tvar newView = Ti.UI.createView();\r\n\t\tvar table = Ti.UI.createTableView();\r\n\t\t\r\n\t\ttable.addEventListener('click', function(e) {\r\n\t\t\tTi.API.error('click' + e.row.title);\r\n\t\t});\r\n\t\t\r\n\t\tnewView.add(table);\r\n\t\t\r\n\t\tfor(var j = 0; j < 3; j++) {\r\n\t\t\tvar row = Ti.UI.createTableViewRow({\r\n\t\t\t\ttitle: 'title' + j\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\ttable.appendRow(row);\r\n\t\t}\r\n\t\t\r\n\t\tviews.push(newView);\r\n\t}\r\n\t\r\n\t$.svContent.views = views;\r\n}\r\n\r\nfunction logSimple() {\r\n\tTi.API.error('simple');\r\n}\r\n\r\nfunction jumpTo2() {\r\n\t$.svContent.currentPage = 1;\r\n}\r\n\r\n$.index.open();\r\n\r\n$.tbAlerts.addEventListener('click', function(e) {\r\n\tTi.API.log(e.row.title);\r\n});\r\n$.tbAlerts2.addEventListener('click', function(e) {\r\n\tTi.API.log(e.row.title);\r\n});\r\n$.tbAlerts3.addEventListener('click', function(e) {\r\n\tTi.API.log(e.row.title);\r\n});\r\n{code}",
"updateAuthor": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"created": "2016-02-22T21:57:50.000+0000",
"updated": "2016-02-22T21:57:50.000+0000"
},
{
"id": "377561",
"author": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"body": "P.S remember to include the Ti.Map module in the project.",
"updateAuthor": {
"name": "rdperottoni",
"key": "rdperottoni",
"displayName": "Rodolfo Perottoni",
"active": true,
"timeZone": "Australia/Brisbane"
},
"created": "2016-02-22T22:21:27.000+0000",
"updated": "2016-02-22T22:21:27.000+0000"
},
{
"id": "378444",
"author": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"body": "[~sdarda] -The latest 5_2_X is 5.2.1.v20160228190750 from last week- The fix should be in that one as well. Did you ensure to disable {{}} and {{}}. Will investigate.\r\n\r\nEDIT: Looking at the [API diff|https://github.com/appcelerator/titanium_mobile/compare/5_1_1...5_1_X], -please try to test with the [2.4.1|https://github.com/appcelerator-modules/ti.map/releases/tag/iOS-2.4.1] version of ti.map which was packed with 5.1.1 (5.1.2 has 2.5.2)-must by unrelated. The only other changes between related to the scrollable view is [this line|https://github.com/appcelerator/titanium_mobile/compare/5_1_1...5_1_X#diff-d8ea5e713d52a6a8c79177c04a817739R75] again, so just changing the #ifdef would reopen the other issue again. Need to find a better way.",
"updateAuthor": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"created": "2016-03-02T08:18:38.000+0000",
"updated": "2016-03-02T08:37:45.000+0000"
},
{
"id": "378753",
"author": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"body": "This is not a regression. Pushing to a later version for fix. The reason this worked on 5.1.1.GA is because the property is enabled by DEFAULT (a bug then). \r\nSo if you wish to make this work in 5,2,0, please set the property to true in tiapp.xml",
"updateAuthor": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"created": "2016-03-04T09:26:09.000+0000",
"updated": "2016-03-06T15:51:39.000+0000"
},
{
"id": "379031",
"author": {
"name": "jeff_kanazi",
"key": "jeff_kanazi",
"displayName": "Jeff Kanazi",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "Thanks for the workaround. \r\n\r\nPlease take a look at this issue too when considering the fix: [http://stackoverflow.com/questions/35736172/titanium-sdk-5-1-2-and-now-5-2-0-would-both-not-fire-events-in-some-cases-in-an] With set to false the ScrollableView is not really really usable. \r\n\r\n",
"updateAuthor": {
"name": "jeff_kanazi",
"key": "jeff_kanazi",
"displayName": "Jeff Kanazi",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2016-03-07T18:29:29.000+0000",
"updated": "2016-03-07T18:29:29.000+0000"
},
{
"id": "379088",
"author": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"body": "Thanks [~jeff_kanazi] will definitely look at that too.",
"updateAuthor": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"created": "2016-03-08T00:07:59.000+0000",
"updated": "2016-03-08T00:07:59.000+0000"
},
{
"id": "380078",
"author": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"body": "Just to be sure, the {{}} flag is causing the issue, not the {{}}?",
"updateAuthor": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"created": "2016-03-18T11:50:23.000+0000",
"updated": "2016-03-18T11:50:23.000+0000"
},
{
"id": "381144",
"author": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"body": "PR here: https://github.com/appcelerator/titanium_mobile/pull/7896\r\n\r\nThis should work by default, without setting anything in tiapp.xml.\r\ni.e.: run-on-main-thread disabled, auto-layout disabled.\r\n\r\nThere is a known issue with run-on-main-thread enabled, auto layout enabled, whereby the map doesn't show, but that's a separate issue.",
"updateAuthor": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"created": "2016-03-31T06:35:56.000+0000",
"updated": "2016-03-31T06:35:56.000+0000"
},
{
"id": "381618",
"author": {
"name": "jeff_kanazi",
"key": "jeff_kanazi",
"displayName": "Jeff Kanazi",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "\r\nI have just tried the same code with SDK 5.2.1 and the original issue has not been fixed. This appears to be IOS only issue. I have tried compiling the app for Android with the same SDK and the events are firing as expected on all ScrollableView pages. \r\n\r\nAnother interesting thing is that it would appear the issue is always on the last ScrollableView page, however, by reducing the number of pages in the ScrollableView I can get it to a point where events would fire on all of them. Strangely for one of the views things work with up to 4 pages while on the other view 3 pages is the maximum. The difference between the two ScrollableViews is that the first one has onely one button per page, while the other scrollableview has multiple objects that could trigger events on every page. \r\n\r\nIf there is anything I can do to help you track this down, please let me know. I do not know if looking at the actual app would help but if so you can take a loop at the \"Wordy Bee\" app at the AppStore. That would be a working version using SDK 5.1.1. The main screen is a scrollableview and the help at the bottom of settings is another. \r\n\r\n",
"updateAuthor": {
"name": "jeff_kanazi",
"key": "jeff_kanazi",
"displayName": "Jeff Kanazi",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2016-04-04T20:38:05.000+0000",
"updated": "2016-04-04T20:38:05.000+0000"
},
{
"id": "381622",
"author": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"body": "Hey Jeff! The changes have just been merged for 5.4.0 today (which is the master branch available [here|builds.appcelerator.com]). Please try one of those builds, thank you!",
"updateAuthor": {
"name": "hknoechel",
"key": "hansknoechel",
"displayName": "Hans Knöchel",
"active": true,
"timeZone": "Europe/Berlin"
},
"created": "2016-04-04T20:44:37.000+0000",
"updated": "2016-04-04T20:44:37.000+0000"
},
{
"id": "382036",
"author": {
"name": "mobihunterz",
"key": "mobihunterz",
"displayName": "Paresh Thakor",
"active": true,
"timeZone": "America/Los_Angeles"
},
"body": "Hi,\r\n\r\nI am facing the same kind of issue here. My project is in Classic style and put a button in scrollable view. The button in scrollable view is not working now. I have checked this in 5.4.0 weekly build, 5.2.2.GA, 5.2.1.GA, 5.2.0.GA and 5.1.1.GA but the button's click event is not fired, though I registered the click event listener. In 5.0.2.GA this button is working perfectly.\r\n\r\nAlthough, when I take this button out of scrollable view, the same works fine.\r\n\r\nRegards,\r\nParesh Thakor.",
"updateAuthor": {
"name": "mobihunterz",
"key": "mobihunterz",
"displayName": "Paresh Thakor",
"active": true,
"timeZone": "America/Los_Angeles"
},
"created": "2016-04-07T07:22:28.000+0000",
"updated": "2016-04-07T07:22:28.000+0000"
},
{
"id": "382038",
"author": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"body": "Hi [~mobihunterz] Have you tried the latest build from 2 days ago? Please let us know!",
"updateAuthor": {
"name": "cng",
"key": "cng",
"displayName": "Chee Kiat Ng",
"active": false,
"timeZone": "America/Los_Angeles"
},
"created": "2016-04-07T07:28:10.000+0000",
"updated": "2016-04-07T07:28:10.000+0000"
},
{
"id": "392448",
"author": {
"name": "ewieber",
"key": "ewieber",
"displayName": "Eric Wieber",
"active": false,
"timeZone": "America/Los_Angeles"
},
"body": "Verified fixed, using:\r\n\r\nMacOS 10.11.5 (15F31a)\r\nStudio 4.7.0.201607250649\r\nTi SDK 5.4.0.v20160802165655\r\nAppc NPM 4.2.7\r\nAppc CLI 5.4.0-37\r\nAlloy 1.9.1\r\nXcode 7.3.1 (7D1014)\r\n\r\nTested using the test cases provided in the comments and by setting both {{}} and {{}} to false and true. Events were seen firing and log messages from click events appeared correctly.",
"updateAuthor": {
"name": "ewieber",
"key": "ewieber",
"displayName": "Eric Wieber",
"active": false,
"timeZone": "America/Los_Angeles"
},
"created": "2016-08-04T17:34:07.000+0000",
"updated": "2016-08-04T17:34:07.000+0000"
}
],
"maxResults": 22,
"total": 22,
"startAt": 0
}
}
}