{ "id": "170391", "key": "TIMOB-25539", "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": "20115", "name": "Release 7.3.0", "archived": false, "released": true, "releaseDate": "2018-08-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-05-09T21:29:40.000+0000", "created": "2017-11-20T11:49:12.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "scrollableView" ], "versions": [ { "id": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "issuelinks": [ { "id": "56167", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "170411", "key": "AC-5398", "fields": { "summary": "Android: Application crashes on Titanium SDK 6.3.0.GA", "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" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "56168", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "170405", "key": "AC-5396", "fields": { "summary": "Android : App crashes with SDK 6.3.0.GA", "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" } }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-06-12T18:12:52.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": "*Summary:*\r\nApplying a border to a ScrollableView will cause a crash in Titanium 6.1.0 and newer versions. Works fine in older Titanium versions.\r\n\r\n*Steps to Reproduce:*\r\n# Build the below code using Titanium 6.1.0 or higher.\r\n# Run on an Android device.\r\n\r\n{code:javascript}\r\nvar window = Ti.UI.createWindow();\r\nvar scrollableView = Ti.UI.createScrollableView(\r\n{\r\n\tviews:\r\n\t[\r\n\t\tTi.UI.createView({ backgroundColor: \"green\" }),\r\n\t\tTi.UI.createView({ backgroundColor: \"yellow\" }),\r\n\t],\r\n\tshowPagingControl: true,\r\n\tborderColor: \"blue\",\r\n\tborderWidth: \"1dp\",\r\n});\r\nwindow.add(scrollableView);\r\nwindow.open();\r\n{code}\r\n\r\n*Result:*\r\nCrashes on startup with the following logged stack-trace...\r\n\r\n{code}\r\n[ERROR] : TiApplication: (main) [235,235] Sending event: exception on thread: main msg:java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to org.appcelerator.titanium.view.TiCompositeLayout$LayoutParams; Titanium 6.3.0,2017/10/31 18:13,undefined\r\n[ERROR] : TiApplication: java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to org.appcelerator.titanium.view.TiCompositeLayout$LayoutParams\r\n[ERROR] : TiApplication: \tat ti.modules.titanium.ui.widget.TiUIScrollableView$1.onMeasure(TiUIScrollableView.java:99)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : TiApplication: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : TiApplication: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : TiApplication: \tat android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : TiApplication: \tat android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)\r\n[ERROR] : TiApplication: \tat android.widget.LinearLayout.measureVertical(LinearLayout.java:722)\r\n[ERROR] : TiApplication: \tat android.widget.LinearLayout.onMeasure(LinearLayout.java:613)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : TiApplication: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.widget.LinearLayout.measureVertical(LinearLayout.java:875)\r\n[ERROR] : TiApplication: \tat android.widget.LinearLayout.onMeasure(LinearLayout.java:613)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : TiApplication: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : TiApplication: \tat com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2728)\r\n[ERROR] : TiApplication: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : TiApplication: \tat android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2077)\r\n[ERROR] : TiApplication: \tat android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1201)\r\n[ERROR] : TiApplication: \tat android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1412)\r\n[ERROR] : TiApplication: \tat android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1089)\r\n[ERROR] : TiApplication: \tat android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6027)\r\n[ERROR] : TiApplication: \tat android.view.Choreographer$CallbackRecord.run(Choreographer.java:804)\r\n[ERROR] : TiApplication: \tat android.view.Choreographer.doCallbacks(Choreographer.java:617)\r\n[ERROR] : TiApplication: \tat android.view.Choreographer.doFrame(Choreographer.java:587)\r\n[ERROR] : TiApplication: \tat android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:790)\r\n[ERROR] : TiApplication: \tat android.os.Handler.handleCallback(Handler.java:739)\r\n[ERROR] : TiApplication: \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\n[ERROR] : TiApplication: \tat android.os.Looper.loop(Looper.java:135)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:5401)\r\n[ERROR] : TiApplication: \tat java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : TiApplication: \tat java.lang.reflect.Method.invoke(Method.java:372)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714)\r\n[ERROR] : AndroidRuntime: FATAL EXCEPTION: main\r\n[ERROR] : AndroidRuntime: Process: com.vmware.customer360, PID: 18218\r\n[ERROR] : AndroidRuntime: java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to org.appcelerator.titanium.view.TiCompositeLayout$LayoutParams\r\n[ERROR] : AndroidRuntime: \tat ti.modules.titanium.ui.widget.TiUIScrollableView$1.onMeasure(TiUIScrollableView.java:99)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : AndroidRuntime: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.constrainChild(TiCompositeLayout.java:654)\r\n[ERROR] : AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.onMeasure(TiCompositeLayout.java:486)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : AndroidRuntime: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : AndroidRuntime: \tat android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : AndroidRuntime: \tat android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)\r\n[ERROR] : AndroidRuntime: \tat android.widget.LinearLayout.measureVertical(LinearLayout.java:722)\r\n[ERROR] : AndroidRuntime: \tat android.widget.LinearLayout.onMeasure(LinearLayout.java:613)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : AndroidRuntime: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.widget.LinearLayout.measureVertical(LinearLayout.java:875)\r\n[ERROR] : AndroidRuntime: \tat android.widget.LinearLayout.onMeasure(LinearLayout.java:613)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5690)\r\n[ERROR] : AndroidRuntime: \tat android.widget.FrameLayout.onMeasure(FrameLayout.java:436)\r\n[ERROR] : AndroidRuntime: \tat com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2728)\r\n[ERROR] : AndroidRuntime: \tat android.view.View.measure(View.java:17604)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2077)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1201)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1412)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1089)\r\n[ERROR] : AndroidRuntime: \tat android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6027)\r\n[ERROR] : AndroidRuntime: \tat android.view.Choreographer$CallbackRecord.run(Choreographer.java:804)\r\n[ERROR] : AndroidRuntime: \tat android.view.Choreographer.doCallbacks(Choreographer.java:617)\r\n[ERROR] : AndroidRuntime: \tat android.view.Choreographer.doFrame(Choreographer.java:587)\r\n[ERROR] : AndroidRuntime: \tat android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:790)\r\n[ERROR] : AndroidRuntime: \tat android.os.Handler.handleCallback(Handler.java:739)\r\n[ERROR] : AndroidRuntime: \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\n[ERROR] : AndroidRuntime: \tat android.os.Looper.loop(Looper.java:135)\r\n[ERROR] : AndroidRuntime: \tat android.app.ActivityThread.main(ActivityThread.java:5401)\r\n[ERROR] : AndroidRuntime: \tat java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : AndroidRuntime: \tat java.lang.reflect.Method.invoke(Method.java:372)\r\n[ERROR] : AndroidRuntime: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:919)\r\n[ERROR] : AndroidRuntime: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:714)\r\n{code}\r\n\r\n*Expected Result:*\r\nShould not crash. Border should be displayed around ScrollableView container like how it worked before Titanium 6.1.0.\r\n\r\n*Work-Around:*\r\nDo not apply a border to the ScrollableView (ie: don't set properties \"borderWidth\" and \"borderSize\"). If a border is needed, then wrap the ScrollableView with another view and apply a border the wrapper view.\r\n\r\n*Cause:*\r\nThe fix for [TIMOB-25539] caused the crash because the ScrollableView's LayoutParams are no longer an instance of \"TiCompositeLayout.LayoutParams\" when a border view is applied. The TiCompositeLayout params are instead copied to the parent border view and the ScrollableView uses a simple ViewGroup layout params instead.\r\n\r\n*Recommended Solution:*\r\nWe should change onMeasure() code to handle Ti.UI.SIZE (aka: WRAP_CONTENT) to measure child view(s) using Android's standard view APIs so that it's handled in a more generic fashion. This way it can handle any child view layout. Should be coded similar to this PR...\r\nhttps://github.com/appcelerator/titanium_mobile/pull/9421\r\n", "attachment": [], "flagged": false, "summary": "Android: ScrollableView with border crashes as of 6.1.0", "creator": { "name": "bpawar", "key": "bpawar", "displayName": "Bhushankumar pawar", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "bpawar", "key": "bpawar", "displayName": "Bhushankumar pawar", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Node.js\r\n ✓ node installed (v6.0.0)\r\n ✓ npm installed (v2.15.1)\r\n \r\nTitanium CLI\r\n ✓ cli bleeding edge (v5.0.14)\r\n \r\nTitanium CLI Dependencies\r\n ✓ adm-zip up-to-date (v0.4.7)\r\n ✓ async up-to-date (v2.1.2)\r\n ✓ colors up-to-date (v1.1.2)\r\n ✓ fields up-to-date (v0.1.24)\r\n ✓ fs-extra up-to-date (v2.1.2)\r\n ✓ humanize up-to-date (v0.0.9)\r\n ✓ longjohn up-to-date (v0.2.11)\r\n ✓ moment up-to-date (v2.16.0)\r\n ✓ node-appc up-to-date (v0.2.41)\r\n ✓ request up-to-date (v2.79.0)\r\n ✓ semver up-to-date (v5.3.0)\r\n ✓ sprintf up-to-date (v0.1.5)\r\n ✓ temp up-to-date (v0.8.3)\r\n ✓ winston up-to-date (v1.1.2)\r\n \r\nTitanium SDK\r\n ✓ latest sdk installed (v6.3.0.GA)\r\n ✓ selected sdk up-to-date (v6.3.0.GA)\r\n \r\nMac OS X Environment\r\n ✓ CLI Tools installed\r\n\r\n \r\niOS Environment\r\n ✓ Xcode installed (9.0)\r\n ✓ iOS SDK installed (11.0)\r\n ✓ WWDR cert installed\r\n ✓ developer cert installed (1 found)\r\n ✓ distribution cert installed (1 found)\r\n ! dev provisioning not found\r\n ✓ dist provisioning installed (3 found)\r\n \r\nAndroid Environment\r\n ✓ sdk installed (/Users/Mindstix/Downloads/AndroidSDK/home)\r\n ✓ tools installed (v24.4.1)\r\n ✓ platform tools installed (v26.0.2)\r\n ✓ build tools installed (v26.0.3)\r\n ✓ adb installed /Users/Mindstix/Downloads/AndroidSDK/home/platform-tools/adb\r\n ✕ android \"android\" executable not found; please reinstall Android SDK\r\n ✓ emulator installed /Users/Mindstix/Downloads/AndroidSDK/home/tools/emulator\r\n ✓ mksdcard installed /Users/Mindstix/Downloads/AndroidSDK/home/tools/mksdcard\r\n ✓ zipalign installed /Users/Mindstix/Downloads/AndroidSDK/home/build-tools/26.0.3/zipalign\r\n ✓ aapt installed /Users/Mindstix/Downloads/AndroidSDK/home/build-tools/26.0.3/aapt\r\n ✓ aidl installed /Users/Mindstix/Downloads/AndroidSDK/home/build-tools/26.0.3/aidl\r\n ✓ targets installed (19 found)\r\n ✓ avds installed (2 found)\r\n ! ndk Android NDK not found\r\n \r\nJava Development Kit\r\n ✓ jdk installed (v1.8.0)\r\n ✓ java installed /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java\r\n ✓ javac installed /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/javac\r\n ✓ keytool installed /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/keytool\r\n ✓ jarsigner installed /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/jarsigner\r\n \r\nIntel® Hardware Accelerated Execution Manager (HAXM)\r\n ✓ compatible \r\n ✓ installed \r\n \r\nNetwork\r\n ✓ online \r\n - no proxy server configured \r\n ✓ Network connection test \r\n ✓ Java-based connection test \r\n \r\nDirectory Permissions\r\n ✓ home directory \r\n ✓ titanium config directory \r\n ✓ titanium sdk install directory \r\n ✓ workspace directory \r\n ✓ temp directory ", "closedSprints": [ { "id": 1000, "state": "closed", "name": "2018 Sprint 04 SDK", "startDate": "2018-02-12T04:23:01.913Z", "endDate": "2018-02-26T04:23:00.000Z", "completeDate": "2018-02-26T19:36:01.769Z", "originBoardId": 114 }, { "id": 126, "state": "closed", "name": "2018 Sprint 05 SDK", "startDate": "2018-02-25T19:38:08.926Z", "endDate": "2018-03-11T18:38:00.000Z", "completeDate": "2018-03-11T22:06:01.520Z", "originBoardId": 100 } ], "comment": { "comments": [ { "id": "431034", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Looks like a crash related to the Ti.UI.ScrollableView, assigning to [~jquick].", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-11-20T13:34:04.000+0000", "updated": "2017-11-20T13:34:04.000+0000" }, { "id": "431162", "author": { "name": "bpawar", "key": "bpawar", "displayName": "Bhushankumar pawar", "active": true, "timeZone": "America/Los_Angeles" }, "body": "While debugging the the issue i found out that Above crash occurs when you apply any border related property to ScrollableView (eg. borderRadius, borderWidth, borderColor)\r\n\r\nsee following code.\r\n\r\nvar scrollView = Ti.UI.createScrollableView({height : \"90%\", width : \"90%\", borderColor : \"1dp\", backgroundColor : \"#f5f5f5\"});\r\n$.mainWin.add(scrollView);", "updateAuthor": { "name": "bpawar", "key": "bpawar", "displayName": "Bhushankumar pawar", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-22T14:13:22.000+0000", "updated": "2017-11-22T14:14:06.000+0000" }, { "id": "432533", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/9696", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-12-23T04:16:07.000+0000", "updated": "2017-12-23T04:16:07.000+0000" }, { "id": "437397", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed. Waiting for merger to be enabled.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-05T01:10:57.000+0000", "updated": "2018-05-05T01:10:57.000+0000" }, { "id": "437538", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR Merged.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-09T21:21:17.000+0000", "updated": "2018-05-09T21:21:17.000+0000" }, { "id": "438360", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket. Fix can be seen in SDK Version: 7.3.0.v20180607210411\r\n\r\nTest and other information can be found at: \r\nhttps://github.com/appcelerator/titanium_mobile/pull/9696", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-06-12T18:12:41.000+0000", "updated": "2018-06-12T18:12:41.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }