{ "id": "164051", "key": "ALOY-1523", "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": "19280", "name": "Release 6.2.0", "archived": false, "released": true }, { "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-10T16:31:18.000+0000", "created": "2016-10-18T18:13:37.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [ { "id": "53234", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "162040", "key": "ALOY-1509", "fields": { "summary": "Generate spec-compliant require calls", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "53938", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "165255", "key": "TIMOB-24293", "fields": { "summary": "Alloy: iOS - Using require() without \"/\" prefix will try to load file relatively node_modules first, other unrelated logs and behavior changes", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "55211", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "168405", "key": "ALOY-1569", "fields": { "summary": "WPATH function to match updated require-handling in Titanium 6", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "updated": "2017-06-14T20:56:42.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": "We introduced an updated require-handling in Titanium 6 that matches the full NodeJS specs for handling all kind of files and data structures. Although we are save for older require-paths, we should update the Alloy-internal require-calls as well. Example log:\r\n{code}\r\nrequire called with un-prefixed module id: alloy/constants, should be a core or CommonJS module. Falling back to old Ti behavior and assuming it's an absolute path: /alloy/constants\r\n{code}\r\nIt will only be shown in the DEBUG log-level, but adjusting it internally would be the cleanest way here. Thx!", "attachment": [], "flagged": false, "summary": "Alloy uses old require-paths with new require-behavior", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "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": "399895", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "PR: https://github.com/appcelerator/alloy/pull/801\r\n\r\n*To Test*\r\n1. Select SDK 6.X, {{appc new -t titanium}}\r\n2. {{DEBUG=* appc run -l trace}}\r\n3. There should be no {{require called with un-prefixed module id}} in the output log\r\n4. The app should run with no error\r\n5. Update {{tiapp.xml}} to use sdk 5.X, the app should run with no error\r\n", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-10-26T22:01:45.000+0000", "updated": "2016-10-27T16:28:31.000+0000" }, { "id": "399921", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The PR looks fine (guess you did a regex/find-replace change here?). But as [~cwilliams] removed the debug log for 6.0.0 and it will break backwards compatiblity, we would need to bump Alloy for this as well. I did not think of that before, so we either bump Android to 2.0.0 in 6.0.0 (which is a) a bit too late now and b) not really worth for only this change; people would expect more in a 2.0.0) or we move this to a later Alloy / SDK version. \r\n\r\nI would suggest the latter for now, especially since there won't be any reports regarding those logs anymore and it does not break any current behavior. Thx!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-27T07:22:28.000+0000", "updated": "2016-10-27T07:22:28.000+0000" }, { "id": "399944", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "[~hansknoechel], maybe I have missed something, what's the test case you used that shows the changes break backward compatibility? I tested with *6.0.0.v20161013072802* and *5.5.0.GA*, the app launches fine. ", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-10-27T16:14:35.000+0000", "updated": "2016-10-27T16:14:35.000+0000" }, { "id": "399945", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~fmiao] See the comment from Chris in https://github.com/appcelerator/titanium_mobile/pull/8553.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-27T16:18:39.000+0000", "updated": "2016-10-27T16:18:39.000+0000" }, { "id": "399946", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "[~hansknoechel], the paths are prefixed with a {{/}}, they are resolved relative to the {{Resources}} directory. This works in SDK 6.0.0 prior. \r\n\r\nIt should also work in 6.X. https://github.com/appcelerator/titanium_mobile/blob/master/android/runtime/common/src/js/module.js#L262. \r\n\r\nThat said, I do agree that this PR is not a deal breaker.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-10-27T16:41:07.000+0000", "updated": "2016-10-27T16:45:38.000+0000" }, { "id": "401645", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Putting out of review for now, since Alloy 2.0.0 has not been branched if I see it correctly.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-21T20:14:37.000+0000", "updated": "2016-11-21T20:14:37.000+0000" }, { "id": "401658", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "This is not a breaking change, why should it go into Alloy 2.0.0?", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-11-22T02:38:48.000+0000", "updated": "2016-11-22T02:38:48.000+0000" }, { "id": "401659", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Is was marked for 2.0.0 :-) Happy to accept it earlier then. Probably I even set the version earlier. So would you suggest to put in in the next Alloy version / 6.1.0? You're the Alloy boss :-)", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-22T02:40:11.000+0000", "updated": "2016-11-22T02:40:11.000+0000" }, { "id": "401661", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "[~hansknoechel], I was curious, because you marked it for 2.0.0. ;) \r\nI assume it does break something that I overlooked.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-11-22T02:45:15.000+0000", "updated": "2016-11-22T02:45:47.000+0000" }, { "id": "416804", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Passed FR with:\r\n\r\nNPM Version: 3.10.10\r\nNode Version: 6.10.1\r\nMac OS: 10.12.3\r\nAppc CLI: 6.2.0\r\nAppc CLI NPM: 4.2.9-3\r\niOS Device: 10\r\nSDK 6.0.3.GA and 5.5.1\r\n\r\nTested with the above environment. \"require called with un-prefixed module id\" was not seen as it should not have. App works normally in Sim and on Device using SDK 6.0.3 and SDK 5.5.1.", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-05T00:02:58.000+0000", "updated": "2017-04-05T00:02:58.000+0000" }, { "id": "417109", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "Update fix version.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2017-04-10T16:31:18.000+0000", "updated": "2017-04-10T16:31:18.000+0000" }, { "id": "421915", "author": { "name": "darknos", "key": "darknos", "displayName": "Sergey Nosenko", "active": true, "timeZone": "Europe/Helsinki" }, "body": "WPATH generation is still wrong. :( for example Alloy 1.10.2\r\n{code:javascript}\r\nfunction WPATH(s) {\r\n\tvar index = s.lastIndexOf('/');\r\n\tvar path = index === -1 ? 'ip.form.manager/' + s : s.substring(0, index) + '/ip.form.manager/' + s.substring(index + 1);\r\n\r\n\treturn false && path.indexOf('/') !== 0 ? '/' + path : path;\r\n}\r\n{code}", "updateAuthor": { "name": "darknos", "key": "darknos", "displayName": "Sergey Nosenko", "active": true, "timeZone": "Europe/Helsinki" }, "created": "2017-06-14T03:34:22.000+0000", "updated": "2017-06-14T03:34:22.000+0000" }, { "id": "422003", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "[~darknos], created ALOY-1569 to track the issue, thanks for catching this! ", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2017-06-14T20:48:08.000+0000", "updated": "2017-06-14T20:48:08.000+0000" } ], "maxResults": 15, "total": 15, "startAt": 0 } } }