{ "id": "166413", "key": "ALOY-1545", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "19384", "name": "alloy 1.9.11", "archived": false, "released": true, "releaseDate": "2017-04-10" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-04-09T05:33:43.000+0000", "created": "2017-03-03T18:13:46.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "defect" ], "versions": [], "issuelinks": [], "assignee": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "updated": "2017-04-10T17:18:45.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": [], "description": "It only occurs when data binding.\r\n\r\n*Steps to reproduce:*\r\n# Create an app.\r\n# Create a widget that triggers an event against its own controller, say \"event\".\r\n# Create a Model.\r\n# Add a TableView to index.js\r\n# Add a Collection for the model to index.js\r\n# Configure the TableView for data binding.\r\n# Add a TableViewRow as a template for the databound TableView.\r\n# Add the widget to the template TableViewRow using the Alloy tag.\r\n# Add an onEvent handler to the widget tag.\r\n# Build the app.\r\n\r\n*Actual Result:*\r\nApp throws \"*{color:red}undefined is not a function{color}*\" error\r\n\r\nResources//alloy/controllers/.js shows:\r\n{code:JavaScript}onEvent ? test.getViewEx({\r\n recurse: true\r\n}).on(\"event\", ) : __defers[\"test.getViewEx({recurse:true})!event!\"] = true;{code}\r\n\r\n*Expected Result:*\r\nApp runs as expected.\r\n\r\nResources//alloy/controllers/.js shows:\r\n{code:JavaScript}onEvent ? test.on(\"event\", ) : __defers[\"test!event!\"] = true;{code}", "attachment": [ { "id": "61775", "filename": "errorDemo.zip", "author": { "name": "arkain", "key": "arkain", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-03T20:50:19.000+0000", "size": 9685212, "mimeType": "application/zip" } ], "flagged": false, "summary": "Broken Widget event translation. Custom events on Widgets are being applied to the Widget's root View instead of the Widget's Controller itself, causing an error.", "creator": { "name": "arkain", "key": "arkain", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "arkain", "key": "arkain", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "environment": "All", "closedSprints": [ { "id": 864, "state": "closed", "name": "2017 Sprint 07 Tooling", "startDate": "2017-03-26T22:02:46.538Z", "endDate": "2017-04-09T22:02:00.000Z", "completeDate": "2017-04-10T15:38:31.332Z", "originBoardId": 199 } ], "comment": { "comments": [ { "id": "408899", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, Attach a sample project for us to test. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2017-03-03T18:16:44.000+0000", "updated": "2017-03-03T18:16:44.000+0000" }, { "id": "408920", "author": { "name": "arkain", "key": "arkain", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "body": "A 10MB limit on file sizes makes it almost impossible to create a package small enough to meet the limit and still be immediately workable when unzipped, especially when you consider that the default /app/assets directory is almost 10MB by itself for an Alloy app. That limit needs to be raised to at least 15MB.", "updateAuthor": { "name": "arkain", "key": "arkain", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-03T20:52:42.000+0000", "updated": "2017-03-03T20:52:42.000+0000" }, { "id": "409302", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, Please attach in dropbox and provide the link. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2017-03-06T14:26:18.000+0000", "updated": "2017-03-06T14:26:18.000+0000" }, { "id": "409825", "author": { "name": "arkainrdk", "key": "arkainrdk", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "body": "I've already attached a file: errorDemo.zip. I was merely commenting that the upload limit set on this system is too small considering the size of an unmodified project directory.", "updateAuthor": { "name": "arkainrdk", "key": "arkainrdk", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-08T14:45:12.000+0000", "updated": "2017-03-08T14:45:12.000+0000" }, { "id": "409828", "author": { "name": "arkainrdk", "key": "arkainrdk", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "body": "There are other issues with the templatizing system as well.\r\n* attributes like \"class\" and \"onXxxx\" cannot be templatized.\r\nI understand why that would be true for \"class\" since that is used by the alloy processor at design-time when the template value is only available at runtime. However, this is not the case for event handlers. Since the template instantiating function just translates \" id='test' onEvent='' \" code like the description, there's no reason that the event handler translation wouldn't be able to accommodate templates.", "updateAuthor": { "name": "arkainrdk", "key": "arkainrdk", "displayName": "Ranando King", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-08T15:54:13.000+0000", "updated": "2017-03-08T15:54:13.000+0000" }, { "id": "412603", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "PR: https://github.com/appcelerator/alloy/pull/820\r\n\r\nFunctional testing should follow the reproduce steps listed in the description. The app should launch without error.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2017-03-15T19:05:10.000+0000", "updated": "2017-03-15T19:05:10.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }