{ "id": "175898", "key": "TIMOB-28283", "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": "21052", "description": "", "name": "Release 9.3.0", "archived": false, "released": true, "releaseDate": "2020-12-14" } ], "resolution": null, "resolutiondate": null, "created": "2020-12-10T15:19:59.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "encryption", "hyperloop", "regression", "remote" ], "versions": [ { "id": "20033", "name": "Release 9.0.0", "archived": false, "released": true, "releaseDate": "2020-03-18" } ], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-12-11T18:01:02.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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h5.Description\r\n\r\nWhen using Hyperloop with appc-sourcecode-encryption-policy enabled, Hyperloop requires fail to load.\r\n\r\nh5.Steps to reproduce\r\n\r\n1. Add {{remote}} to a hyperloop-examples project that is registered with the platform\r\n2. Build to Android\r\n\r\nh5.Actual\r\n\r\nApp will error on a Hyperloop require like below\r\n\r\n{code}\r\n[ERROR] TiExceptionHandler: Error: Requested module not found: android.provider.Settings\r\n[ERROR] TiExceptionHandler: at Module.require (ti:/module.js:297:8)\r\n[ERROR] TiExceptionHandler: at Module.global.Module.require (:5051:34)\r\n{code}\r\n\r\nh5.Expected\r\n\r\nNo error should occur", "attachment": [], "flagged": false, "summary": "Android: Hyperloop based requires fail to load when using \"remote\" encryption policy", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": null, "comment": { "comments": [ { "id": "457867", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The real issue is that {{\\*.bootstrap.js}} scripts are not being executed on app startup when remote policy encryption is used.\r\n\r\nThis is an issue with our \"ti.playserivces\" module. It's bootstrap script isn't being loaded on startup and it is used to check/update Google Play Services on the device if needed before running the \"app.js\". This step is being skipped due to this remote policy issue.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-10T20:12:37.000+0000", "updated": "2020-12-10T20:12:37.000+0000" }, { "id": "457872", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I've isolated the issue. The problem is that our {{File.exists()}} method returns {{false}} for remote-policy encrypted files. This is preventing Titanium from loading our \"bootstrap.json\" file. The {{read()}} method works fine. It's just a file existence check issue.\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/common/Resources/ti.internal/bootstrap.loader.js#L33\r\n\r\nI can see the same issue when doing the below. The below will return {{false}} when checking if the \"app.js\" exists, which of course isn't true.\r\n{code:javascript}\r\nconst file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'app.js');\r\nconsole.log(\"### app.js exists:\" + file.exists());\r\n{code}\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-10T21:50:33.000+0000", "updated": "2020-12-10T21:50:33.000+0000" }, { "id": "457874", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/12336", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-11T04:16:13.000+0000", "updated": "2020-12-11T04:16:13.000+0000" }, { "id": "457880", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 10.0.0 target, back port PRs for 9_3_X and 9_2_X are in progress for 9.3.0 GA target and maintenance branch build target.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-12-11T17:34:50.000+0000", "updated": "2020-12-11T17:34:50.000+0000" }, { "id": "457881", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "backport PRs for 9.3.0 GA target and 9_2_X branches have been merged/landed.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-12-11T18:01:02.000+0000", "updated": "2020-12-11T18:01:02.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }