{ "id": "163587", "key": "TIMOB-23971", "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": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" }, { "id": "18247", "name": "Hyperloop 2.0.0", "archived": false, "released": true, "releaseDate": "2016-10-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-10-07T11:54:37.000+0000", "created": "2016-10-01T18:03:12.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "hyperloop", "qe-6.0.0", "regression" ], "versions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" }, { "id": "18247", "name": "Hyperloop 2.0.0", "archived": false, "released": true, "releaseDate": "2016-10-18" } ], "issuelinks": [ { "id": "52873", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "162768", "key": "TIMOB-23808", "fields": { "summary": "Hyperloop: iOS - Example application not building with Xcode 8 because of Swift-Error", "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": "53060", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "163908", "key": "TIMOB-24021", "fields": { "summary": "Hyperloop: Android: require of native class android.content.Intent fails on SDK 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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "53008", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "163704", "key": "TIMOB-23983", "fields": { "summary": "iOS Debugger: Breakpoint not hit for Alloy applications", "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": "53042", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "163854", "key": "TIMOB-24011", "fields": { "summary": "iOS: require fails to resolve paths like 'hyperloop/uikit/uilabel'", "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": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2016-10-12T19:57:55.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": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Building the hyperloop-examples app with the current hyperloop 2.0.0 from master results in various errors regarding constructor functions in iOS.\r\n\r\nFor example:\r\n* Auto Layout: {{CallbackObject is not a constructor (evaluating 'new UILabel()') at autolayout.js (line 57)}}\r\n* Apple Touch ID: {{CallbackObject is not a constructor (evaluating 'new LAContext()') at touchid.js (line 64)}}\r\n* View Animation: {{CallbackObject is not a constructor (evaluating 'new UIView()') at animateview.js (line 66)}}\r\n\r\n\r\n*Steps to reproduce*\r\n- Build the Hyperloop Examples project with Hyperloop 2.0.0\r\n- Open one of the above Views\r\n\r\n*Expected behaviour*\r\nThe examples run without any error\r\n\r\n*Actual behaviour*\r\nException is thrown", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS not working in 2.0.0 (regression)", "creator": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "environment": "MacOS 10.11.6\r\nTi SDK 6.1.0.v20160930092242\r\nAppc CLI 6.0.0-55\r\nXcode 8.0 (8A218a)\r\nHyperloop 2.0.0 (build from master)", "closedSprints": [ { "id": 722, "state": "closed", "name": "2016 Sprint 20 SDK", "startDate": "2016-09-28T16:50:17.299Z", "endDate": "2016-10-12T16:50:00.000Z", "completeDate": "2016-10-10T06:17:01.016Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "397875", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "More errors (using the latest 2.0.0 build from Jan):\r\n{code}\r\n-[HyperloopModule jsobject]: unrecognized selected sent to instance xxxx at collectionviewdatasourcedelegate.js\r\n{code}\r\nThe same is occurring for every other Hyperloop-based class as well. It must be some commit that has not been pushed to master but 1_2_X. It tried to access [this propery|https://github.com/appcelerator/hyperloop.next/blob/master/iphone/titanium/HyperloopModule.m#L38] from [here|https://github.com/appcelerator/hyperloop.next/blob/master/iphone/titanium/HyperloopModule.m#L318].\r\n\r\n*EDIT*: HyperloopModule.m is in sync, see [master|https://github.com/appcelerator/hyperloop.next/commits/master/iphone/titanium/HyperloopModule.m] and [1_2_X|https://github.com/appcelerator/hyperloop.next/commits/1_2_X/iphone/titanium/HyperloopModule.m].\r\n\r\n*EDIT2*: The only notable change between the iOS-part of the repos (diff'd) is [this commit|https://github.com/appcelerator/hyperloop.next/commit/dec27e658567368eac21710fe6edc4de2d08869d].", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-03T11:46:16.000+0000", "updated": "2016-10-03T12:29:38.000+0000" }, { "id": "398262", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Diffing the two branches, it seems pretty clear to me that the bulk of the iOS changes have actually been to the metabase folder. If I were to guess at what might be related it'd be:\r\n- https://github.com/appcelerator/hyperloop.next/compare/master...1_2_X?expand=1#diff-046d6eb9ae3b93ed6ce43ec97615921fR372\r\n- https://github.com/appcelerator/hyperloop.next/compare/master...1_2_X?expand=1#diff-90680d080481b4bc4e5c23fcdf677533R116\r\n\r\n\r\nLooks like those links don't work well. They are metabase/ios/lib/generate/block.js#L116, and metabase/ios/lib/generate/util.js#L372", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-06T16:45:24.000+0000", "updated": "2016-10-06T20:30:49.000+0000" }, { "id": "398293", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Hmm, reverting those changes locally in the plugins of hyperloop-examples with the new module didn't work either. The generated hyperloop js files are identical for UIKit/uilabel.js with both versions of the module. Not sure what would be causing this...", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-06T20:55:13.000+0000", "updated": "2016-10-06T20:56:04.000+0000" }, { "id": "398307", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "So, if I use 1.2.8 against 5.5.0.GA, hyperloop-examples works. If I use it against a 6.1.0 build of the SDK, it fails. I think this may be an SDK issue, not hyperloop module. (Specifically, I tried 6.1.0.v20161003125638 and 6.0.0.v20160929031439 - both fail)", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-06T22:56:51.000+0000", "updated": "2016-10-06T22:59:29.000+0000" }, { "id": "398308", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Ok, so I think the only change that could possibly have affected this is the changes to require behavior in 6+. I'm going to test that theory out now locally.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-06T23:16:28.000+0000", "updated": "2016-10-06T23:16:28.000+0000" }, { "id": "398309", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "https://github.com/appcelerator/hyperloop.next/pull/83", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-10-06T23:20:50.000+0000", "updated": "2016-10-06T23:20:50.000+0000" }, { "id": "398330", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "Just for the record and as a conclusion of what Chris wrote in the PR: Since Hyperloop is a native module the new require logic tries to load the module instead of the actual hyperloop js files when doing a {{require('hyperloop/uikit/uilabel')}}. \r\n\r\nRelevant code:\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/iphone/Classes/KrollBridge.m#L1122\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/iphone/Classes/KrollBridge.m#L816\r\n\r\nThe first path part matches Hyperloop's module id so it will load the module. For now this is solved by adding a forward slash to the hyperloop requires so it will skip trying to load the hyperloop module and instead load the actual Hyperloop JS files.", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-07T12:24:19.000+0000", "updated": "2016-10-07T12:25:05.000+0000" }, { "id": "398408", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "[~jvennemann] Where is the fix for this? Downloaded the latest SDK (6.0.0.v20161007121506), removed my hyperloop module (2.0.0) and re downloaded the module from preprod. Ran the Hyperloop example from the master branch on an iOS10 & iOS9 device and still experience the reported errors.\r\n\r\nTested On:\r\niPhone 6 Plus 10.0.2 Device & Simulator\r\niPhone 5S 9.3.5 Device\r\nMac OSX El Capitan 10.11.6\r\nTi SDK: 6.0.0.v20161007121506\r\nAppc Studio: 4.8.0.201610060953\r\nAppc NPM: 4.2.8-7\r\nApp CLI: 6.0.0-57\r\nXcode 8.0 \r\nNode v4.4.7\r\n", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-10-07T21:07:41.000+0000", "updated": "2016-10-07T21:07:41.000+0000" }, { "id": "398512", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~htbryant], the latest beta is now on preprod which includes this fix.", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-10T18:06:55.000+0000", "updated": "2016-10-10T18:06:55.000+0000" }, { "id": "398676", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, using the 2.0.0-dev branch of the hyperloop example app and the latest 2.0.0 (Beta 3) Hyperloop module from preprod, the example app now launches and functions correctly without issue.\r\n\r\nTested On:\r\niPhone 6 Plus 10.0.2 Device & Simulator\r\niPhone 5S 9.3.5 Device\r\nHyperloop Module 2.0.0 \r\nMac OS Sierra (10.12)\r\nTi SDK: 6.0.0.v20161012041242\r\nAppc Studio: 4.8.0.201610060953\r\nAppc NPM: 4.2.8-7\r\nApp CLI: 6.0.0-57\r\nXcode 8.0 \r\nNode v4.4.7\r\n\r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-10-12T15:26:56.000+0000", "updated": "2016-10-12T15:26:56.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }