{ "id": "121642", "key": "ALOY-863", "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": "15403", "description": "Alloy 1.3.0", "name": "Alloy 1.3.0", "archived": false, "released": true, "releaseDate": "2013-12-20" }, { "id": "15753", "description": "2013 Sprint 22", "name": "2013 Sprint 22", "archived": true, "released": true, "releaseDate": "2013-11-01" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-10-26T03:09:49.000+0000", "created": "2013-10-25T21:05:50.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-12-10T00:38:14.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": "12329", "name": "Runtime", "description": "Generic bucket for uncategorized runtime issues" } ], "description": "h2. problem\r\n\r\nTo facilitate dynamic styling to this point, Alloy was required to shim the non-existent \"apiName\" property on Titanium proxies in order to automatically apply appropriate styles. In TiSDK 3.2.0+ this property has been implemented natively. It works fine in Android and iOS, but unfortunately in Mobileweb it has been explicitly implemented (not just documented) as a readonly property, I'm assuming via:\r\n\r\n{code:javascript}\r\nObject.defineProperty(proxy, \"apiName\", {writable:false});\r\n{code}\r\n\r\nThis unfortunately causes an unavoidable runtime error in any Alloy app that would make use of dynamic styling, and perhaps even some that don't. \r\n\r\nh2. error\r\n\r\nSee attached screenshot\r\n\r\nh2. test case\r\n\r\nRun the following test app for alloy for mobileweb and you will get this error:\r\n\r\nhttps://github.com/appcelerator/alloy/tree/master/test/apps/advanced/require_children", "attachment": [ { "id": "43465", "filename": "Screen Shot 2013-10-25 at 5.04.19 PM.png", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-25T21:09:26.000+0000", "size": 24159, "mimeType": "image/png" } ], "flagged": false, "summary": "Mobileweb 3.2.0 breaks Alloy apps with \"'apiName' is read only\"", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "TiSDK 3.2.0.v20131024102550\r\nAlloy 1.3.0\r\nChrome 30.0.1599.101", "comment": { "comments": [ { "id": "276891", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/alloy/pull/260\r\ntest app: https://github.com/appcelerator/alloy/tree/master/test/apps/advanced/require_children\r\n\r\nRun the test app for Mobileweb using TiSDK 3.2.0+ and ensure that it runs as expected with no runtime errors. Be sure to ignored the undefined values returned from the button clicks as this is a result of TIMOB-13816.", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-26T03:09:49.000+0000", "updated": "2013-10-26T03:09:49.000+0000" }, { "id": "283350", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fixed.\n\nTiSDK 3.2.0.v20131209000852\nCLI 3.2.0-beta\nAlloy 1.3.0-beta\nTitanium Studio 3.2.0.201312081251\n\nClosing.", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-10T00:38:07.000+0000", "updated": "2013-12-10T00:38:07.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }