{ "id": "174444", "key": "TIMOB-27712", "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": [], "resolution": null, "resolutiondate": null, "created": "2019-11-18T23:08:15.000+0000", "priority": null, "labels": [ "engTriage", "improvement", "liveview", "quality" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2020-01-08T18:51:18.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "I believe it's time for Liveview to receive some love. It isn't uncommon to see people complaining on TiSlack about connection losses between mobile and liveview server, unclear errors, how to activate liveview, conflicting ports, and the list goes on.\r\nWith that in mind, I want to propose a few improvements to Liveview that I believe would save Titanium developers hundreds of hours:\r\n\r\n* The ability to start a Liveview Server without having to trigger an app build. Think opening an app's project folder and simply calling {{liveview start}}. This way, if you have an app that's been already built with the {{--liveview}} flag you just need to open it (without even having to connect a cable!) and resume your work. I'd love if Liveview was a persistent service that never closed unless I wanted it to. React Native's Metro Bundler does a really good job at this - it runs off of a standalone terminal window and remains alive until you *ctrl+c* or close it.\r\n* 100% Uncoupling between Liveview and everything else. Liveview should stay active regardless of *App State*, *Simulator State*, *Device State*, *Crashes*, and so on. Ideally development builds should contain all the required logic to check if a Liveview server is up and running in the local network *and* connect to it, otherwise properly display a red-screen error.\r\n* [iOS] As of SDK 8.X Liveview sometimes closes itself after an app crash, requiring a complete app build to be restarted. \r\n* [Android] As of SDK 8.X Liveview stops printing OS-level logs upon an app crash, and the only way to see them again is by opening a new terminal window and doing a {{adb logcat | grep \"TiAPI\"}}. \r\n* Look into making Liveview always-on for development builds, and instead allow a {{--disable-liveview}} flag to be passed as a build parameter. Truth is, 98% of the time you will need Liveview while you're working on a new functionality (_maybe that's a biased opinion, but only Axway has access to the actual number of people who currently write down --liveview on their build commands. I'll leave that to you_)\r\n\r\nI can elaborate more on the items above if needed, but I already think the list above is a huge wall of text. Let me know if any of the points are unclear.", "attachment": [], "flagged": false, "summary": "LiveView - Quality of life improvements", "creator": { "name": "rdperottoni", "key": "rdperottoni", "displayName": "Rodolfo Perottoni", "active": true, "timeZone": "Australia/Brisbane" }, "subtasks": [], "reporter": { "name": "rdperottoni", "key": "rdperottoni", "displayName": "Rodolfo Perottoni", "active": true, "timeZone": "Australia/Brisbane" }, "environment": null, "comment": { "comments": [ { "id": "453298", "author": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "[~rdperottoni] Thanks for reporting this issue. We have a plan to improve the liveview performance. And our engineering team is working on it.", "updateAuthor": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2019-12-24T04:06:38.000+0000", "updated": "2019-12-24T04:06:38.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }