{ "id": "171074", "key": "TIMOB-25766", "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": "20060", "description": "", "name": "Release 7.0.2", "archived": false, "released": true, "releaseDate": "2018-02-09" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-02-09T19:53:54.000+0000", "created": "2018-02-09T09:00:47.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "regression" ], "versions": [ { "id": "20060", "description": "", "name": "Release 7.0.2", "archived": false, "released": true, "releaseDate": "2018-02-09" } ], "issuelinks": [ { "id": "56304", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "inwardIssue": { "id": "170986", "key": "TIMOB-25727", "fields": { "summary": "iOS: base64decode issue observed with SDK 7.0.0 and above", "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": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-02-12T02:25:16.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": "Ti SDK: 7.0.2.v20180207091331\r\nDevice: Samsung Galaxy S8+\r\nAndroid: 7.0.0\r\n\r\nWorks fine with Ti SDK 7.0.1.GA\r\n\r\nTest Case: \r\n\r\n{code:JavaScript}\r\n Ti.Media.showCamera({\r\n success:function(event) {\r\n if(event.mediaType === Ti.Media.MEDIA_TYPE_PHOTO) {\r\n var image = event.media;\r\n\r\n Ti.API.info(Ti.Utils.base64encode(image).text);\r\n }\r\n },\r\n cancel:function() {\r\n },\r\n error:function(err) {\r\n Ti.API.error(err);\r\n },\r\n mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]\r\n });\r\n{code}\r\n\r\nExpect Output: A random encoded string\r\n\r\nActual output: Uncaught TypeError: Cannot read property 'text' of null", "attachment": [], "flagged": false, "summary": "Android: Ti.Utils.base64encode for cannot encode (Image) Ti.Blob anymore. Result = null", "creator": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "subtasks": [], "reporter": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "environment": null, "comment": { "comments": [ { "id": "434284", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Please try to fix this issue before releasing 7.0.2", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2018-02-09T09:03:07.000+0000", "updated": "2018-02-09T09:03:07.000+0000" }, { "id": "434290", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "[~fahad86] Thanks for the ticket, I'll move this across to TIMOB\r\n\r\nAble to reproduce this issue using\r\n\r\nSDK: 7.0.2.v20180207091331\r\nOne Plus 3 7.1.1\r\n\r\nThis does not occur using SDK 7.0.2.v20180207022213 so the cause appears to be TIMOB-25727\r\n\r\nFull code include permissions handling\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow();\r\nwin.open();\r\n\r\nfunction takePhoto() {\r\n Ti.Media.showCamera({\r\n mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],\r\n success: function(event) {\r\n console.log(event);\r\n if(event.mediaType === Ti.Media.MEDIA_TYPE_PHOTO) {\r\n var image = event.media;\r\n Ti.API.info(Ti.Utils.base64encode(image))\r\n Ti.API.info(Ti.Utils.base64encode(image).text);\r\n }\r\n },\r\n error: function(e) {\r\n },\r\n cancel: function(e) {\r\n }\r\n });\r\n}\r\n\r\n\r\nwin.addEventListener('click', () => {\r\n var hasCameraPermissions = Ti.Media.hasCameraPermissions();\r\n\r\n if (hasCameraPermissions) {\r\n takePhoto();\r\n }\r\n\r\n Ti.Media.requestCameraPermissions(function(e) {\r\n takePhoto();\r\n });\r\n});\r\n{code}\r\n\r\nh5.Steps to reproduce\r\n\r\n# Build to Android\r\n# Tap screen \r\n# Take photo\r\n\r\nh5.Actual\r\n\r\nCode throws error\r\n\r\n{code}\r\n[INFO] {\"y\":0,\"x\":0,\"width\":2610,\"height\":4640,\"media\":{\"height\":4640,\"type\":1,\"mimeType\":\"image/jpeg\",\"text\":null,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata/tia1518182936027.jpg\",\"width\":2610,\"length\":1720147,\"file\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata/tia1518182936027.jpg\",\"name\":\"tia1518182936027.jpg\",\"symbolicLink\":false,\"size\":1720147,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata\",\"name\":\"app_appdata\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[\"tia1518182119535.jpg\",\"tia1518182257927.jpg\",\"tia1518182339714.jpg\",\"tia1518182791965.jpg\",\"tia1518182936027.jpg\"],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test\",\"name\":\"com.appc.test\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[\"cache\",\"files\",\"databases\",\"shared_prefs\",\"no_backup\",\"app_appdata\",\"code_cache\"],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data/user/0\",\"name\":\"0\",\"symbolicLink\":false,\"size\":12288,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data/user\",\"name\":\"user\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data\",\"name\":\"data\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///\",\"name\":\"\",\"symbolicLink\":false,\"size\":1360,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":null,\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Blob\",\"bubbleParent\":true},\"mediaType\":\"public.image\",\"code\":0,\"cropRect\":{\"height\":4640,\"width\":2610,\"y\":0,\"x\":0},\"success\":true}\r\n[INFO] null\r\n[ERROR] TiExceptionHandler: (main) [4238,4238] ----- Titanium Javascript Runtime Error -----\r\n[ERROR] TiExceptionHandler: (main) [0,4238] - In /app.js:1,317\r\n[ERROR] TiExceptionHandler: (main) [0,4238] - Message: Uncaught TypeError: Cannot read property 'text' of null\r\n[ERROR] TiExceptionHandler: (main) [0,4238] - Source: var win=Ti.UI.createWindow();win.open();function takePhoto(){Ti.Media.showCamera({mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO],success:function(event){if(console.log(event),event.mediaType===Ti.Media.MEDIA_TYPE_PHOTO){var image=event.media;Ti.API.info(Ti.Utils.base64encode(image)),Ti.API.info(Ti.Utils.base64encode(image).text)}},error:function(e){},cancel:function(e){}})}win.addEventListener('click',()=>{var hasCameraPermissions=Ti.Media.hasCameraPermissions();hasCameraPermissions&&takePhoto(),Ti.Media.requestCameraPermissions(function(e){takePhoto()})});\r\n{code}\r\n\r\nh5.Expected\r\n\r\nLogging like the below\r\n{code}\r\n[INFO] {\"y\":0,\"x\":0,\"width\":2610,\"height\":4640,\"media\":{\"height\":4640,\"type\":1,\"mimeType\":\"image/jpeg\",\"text\":null,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata/tia1518182339714.jpg\",\"width\":2610,\"length\":1668017,\"file\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata/tia1518182339714.jpg\",\"name\":\"tia1518182339714.jpg\",\"symbolicLink\":false,\"size\":1668017,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test/app_appdata\",\"name\":\"app_appdata\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[\"tia1518182119535.jpg\",\"tia1518182257927.jpg\",\"tia1518182339714.jpg\"],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":true,\"executable\":false,\"nativePath\":\"file:///data/user/0/com.appc.test\",\"name\":\"com.appc.test\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[\"cache\",\"files\",\"databases\",\"shared_prefs\",\"no_backup\",\"app_appdata\",\"code_cache\"],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data/user/0\",\"name\":\"0\",\"symbolicLink\":false,\"size\":12288,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data/user\",\"name\":\"user\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///data\",\"name\":\"data\",\"symbolicLink\":false,\"size\":4096,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":{\"writable\":false,\"executable\":false,\"nativePath\":\"file:///\",\"name\":\"\",\"symbolicLink\":false,\"size\":1360,\"directoryListing\":[],\"hidden\":false,\"readonly\":false,\"parent\":null,\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Proxy\",\"bubbleParent\":true},\"apiName\":\"Ti.Blob\",\"bubbleParent\":true},\"mediaType\":\"public.image\",\"code\":0,\"cropRect\":{\"height\":4640,\"width\":2610,\"y\":0,\"x\":0},\"success\":true}\r\n[INFO] /9j/4QgHRXhpZgAATU0AKgAAAAgACgEPAAIAAAAIAAAAhgEQAAIAAAAOAAAAjgEaAAUAAAABAAAAnAEbAAUAAAABAAAApAEoAAMAAAABAAIAAAExAAIAAAAoAAAArAEyAAIAAAAUAAAA1AITAAMAAAABAAEAAIdpAAQAAAABAAAA6IglAAQAAAABAAAC5gAAAwBPbmVQbHVzAE9ORVBMVVMgQTMwMDMAAAAASAAAAAEAAABIAAAAAU9uZVBsdXMzLXVzZXIgNy4xLjEgTk1GMjZGIDExNCBkZXYta2V5cwAyMDE4OjAyOjA5IDEzOjE4OjU4AAAdgpoABQAAAAEAAAJKgp0ABQAAAAEAAAJSiCIAAwAAAAEAAAAAiCcAAwAAAAEZAAAAkAAABwAAAAQwMjIwkAMAAgAAABQAAAJakAQAAgAAABQAAAJukQEABwAAAAQBAgMAkgEACgAAAAEAAAKCkgIABQAAAAEAAAKKkgMACgAAAAEAAAKSkgcAAwAAAAEAAwAAkgkAAwAAAAEAEAAAkgoABQAAAAEAAAKaknwABwAAAA4AAAKikpAAAgAAAAcAAAKwkpEAAgAAAAcAAAK4kpIAAgAAAAcAAALAoAAABwAAAAQwMTAwoAEAAwAAAAEAAQAAoAIABAAAAAEAAAoyoAMABAAAAAEAABIgoAUABAAAAAEAAALHohcAAwAAAAEAAgAAowEABwAAAAEBAAAApAIAAwAAAAEAAAAApAMAAwAAAAEAAAAApAUAAwAAAAEAHAAApAYAAwAAAAEAAAAAAAAAAAAAAAEAAAARAAAAyAAAAGQyMDE4OjAyOjA5IDEzOjE4OjU4ADIwMTg6MDI6MDkgMTM6MTg6NTgAAAAP2gAAA+gAAADIAAAAZAAAAAAAAABkAAABqgAAAGRNTQAqAAAACAAAAAAAADk2MzU2NQAAOTYzNTY1AAA5NjM1NjUAAAIAAQACAAAABFI5OAAAAgAHAAAABDAxMDAAAAAAAAABAAUABQAAAAEAAAL4AAAAAAAAAMgAAABkAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAA04BGwAFAAAAAQAAA1YBKAADAAAAAQACAAACAQAEAAAAAQAAA14CAgAEAAAAAQAABKEAAAAAAAAASAAAAAEAAABIAAAAAf/Y/9sAhAAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQyAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEAAJADASIAAhEBAxEB/8QBogAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwOiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACikpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKSloAKKKKACiiigAooooASloooAKKKKACiiigAooooAKKKKACkpaKACiikoAWiiigAooooAKKSloAKKSloAKKKKACiiigAoopKAFooooAKKKKACiiigAopKWgAooooAKKKKACiiigAooooAKKKKACiiigApKWigAooooAKKKSgBaKKKACiiigAooooAKKKKACiiigAooooAKSlpKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilpKACilpKACiiigAooooAKKKKACiiigAoopaAEooooAKKKWgAooooASloooASiiigAooooAKKKKACiiigApaKKACiiigA7UUUUAFFFFABRRRQAlFFFABRRRQAUtJRQAUtFFABR2oooAKKKO1ABRRRQAUUUUDCiiigBO1FFFAgooooAKWkpaAEpaKKACiiigAooooAKKKKBi0UUUAFFFFAH//2f/k//9RdWFsY29tbSBDYW1lcmEgRGVidWcABQIAAgUAAgACAAAAUUNUVU4ABAAAAAkDAABRQ0FFQwBCEAAAEBETAO/0AADvdAEAAAAAAAAAAAC1ewEAEBETAACZDQAAEJYBDQIAAAEAAwAeAAgAAQCABzgEQCUAAPBA5hJiPqwTX+oAAPBA5hJg6gAA///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n{code}", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2018-02-09T13:29:57.000+0000", "updated": "2018-02-09T13:32:20.000+0000" }, { "id": "434297", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/9813\r\n7_0_X: https://github.com/appcelerator/titanium_mobile/pull/9812", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-02-09T16:32:58.000+0000", "updated": "2018-02-09T16:32:58.000+0000" }, { "id": "434304", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I see what was wrong. The issue was that the image blob's byte array was being transcoded from UTF-8 to UTF-16, which changed the binary before being base64 encoded. The old way of calling TiBlob.toBase64() would have preserved the original bytes.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-09T19:16:58.000+0000", "updated": "2018-02-09T19:16:58.000+0000" }, { "id": "434305", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed & verified the fix in SDK 7.0.2.v20180209105903.\r\n\r\nStudio Ver: 5.0.0.201712081732\r\nSDK Ver: 7.0.2.v20180209105903\r\nOS Ver: 10.13.2\r\nXcode Ver: Xcode 9.2\r\nAppc NPM: 4.2.12-3\r\nAppc CLI: 7.0.2-master.8\r\nDaemon Ver: 1.0.1\r\nTi CLI Ver: 5.0.14\r\nAlloy Ver: 1.11.0\r\nNode Ver: 8.9.1\r\nNPM Ver: 5.5.1\r\nJava Ver: 1.8.0_101\r\nDevices: ⇨ google Nexus 5 --- Android 6.0.1\r\n ⇨ google Nexus 6P --- Android 7.1.2", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-09T19:40:43.000+0000", "updated": "2018-02-09T19:40:43.000+0000" }, { "id": "434307", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Master FR done & merged.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-09T19:53:48.000+0000", "updated": "2018-02-09T19:53:48.000+0000" }, { "id": "434311", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with SDK 7.1.0.v20180209115809.\r\n\r\nClosing.\r\n\r\nStudio Ver: 5.0.0.201712081732\r\nOS Ver: 10.13.2\r\nXcode Ver: Xcode 9.2\r\nAppc NPM: 4.2.12-3\r\nAppc CLI: 7.0.2-master.8\r\nDaemon Ver: 1.0.1\r\nTi CLI Ver: 5.0.14\r\nAlloy Ver: 1.11.0\r\nNode Ver: 8.9.1\r\nNPM Ver: 5.5.1\r\nJava Ver: 1.8.0_101\r\nDevices: ⇨ google Nexus 5 --- Android 6.0.1\r\n ⇨ google Nexus 6P --- Android 7.1.2\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-09T21:53:42.000+0000", "updated": "2018-02-09T21:53:42.000+0000" }, { "id": "434345", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Thanks all for the quick fix.", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2018-02-12T02:25:16.000+0000", "updated": "2018-02-12T02:25:16.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }