{ "id": "148271", "key": "ALOY-1276", "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": "16596", "name": "Alloy 1.6.0", "archived": false, "released": true, "releaseDate": "2015-05-21" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-06-02T03:08:23.000+0000", "created": "2015-05-27T21:25:00.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "defect" ], "versions": [], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2015-06-02T03:08:23.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": "12329", "name": "Runtime", "description": "Generic bucket for uncategorized runtime issues" } ], "description": "Since [this commit|https://github.com/appcelerator/alloy/commit/84c9470d9932a5ad762f8220db79802d91ec4c86], the {{deepExtend()}} method present in Alloy is broken, as deeply merged properties get overwritten three line below.\r\n\r\nThe method should not state:\r\n{code}\r\n target[name] = deepExtend(deep, clone, copy);\r\n}\r\n\r\ntarget[name] = copy;\r\n{code}\r\n\r\nbut:\r\n\r\n{code}\r\n target[name] = deepExtend(deep, clone, copy);\r\n} else {\r\n target[name] = copy;\r\n}\r\n{code}\r\n\r\nAs a consequence, this method is purely useless.", "attachment": [], "flagged": false, "summary": "Alloy's deepExtend is broken", "creator": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "subtasks": [], "reporter": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "environment": "Alloy 1.7.0-dev", "closedSprints": [ { "id": 415, "state": "closed", "name": "2015 Sprint 11 Tooling", "startDate": "2015-05-23T02:31:08.429Z", "endDate": "2015-06-06T02:31:00.000Z", "completeDate": "2015-06-08T15:25:54.837Z", "originBoardId": 121 } ], "comment": { "comments": [ { "id": "353711", "author": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "body": "A PR has been added: https://github.com/appcelerator/alloy/pull/692", "updateAuthor": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "created": "2015-05-27T22:08:50.000+0000", "updated": "2015-05-27T22:08:50.000+0000" }, { "id": "353757", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Though I'm the first to admit {{deepExtend}} is broken, we've had a lot of issues with this for different use cases. Titanium proxies, Date objects, 2D/3D matrixes, Fonts.. all those need to be double-checked.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-05-28T07:39:50.000+0000", "updated": "2015-05-28T07:39:50.000+0000" }, { "id": "353888", "author": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "body": "Please checkout the last change that I added this afternoon - I guess it could fix LOTS of bugs which deepExtend usage involved before.", "updateAuthor": { "name": "xavier", "key": "xavier", "displayName": "Xavier Lacot", "active": true, "timeZone": "Europe/Paris" }, "created": "2015-05-29T15:56:46.000+0000", "updated": "2015-05-29T15:56:46.000+0000" }, { "id": "354056", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "PR merged.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2015-06-02T03:08:23.000+0000", "updated": "2015-06-02T03:08:23.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }