{ "id": "143222", "key": "TIMOB-18420", "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": "2015-01-20T08:54:24.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "Alloy", "LiveView" ], "versions": [], "issuelinks": [], "assignee": { "name": "pinnamuri", "key": "pinnamuri", "displayName": "Praveen Innamuri", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2015-03-26T00:30:53.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": [ { "id": "10207", "name": "Tooling" } ], "description": "\r\nh1. Use case scenario\r\n\r\nThis would happen if you do a new build after adding a module, made a change to a {{strings.xml}} file or something else caused the app to be outdated, needing a fresh build.\r\n\r\nh1. Steps to reproduce\r\n\r\n1. Use a fairly big Alloy app, e.g.: {{git clone https://github.com/aaronksaunders/alloy_fugitive.git}}\r\n2. Build it (in Simulator) with LiveView: {{ti build -p ios --liveview}}\r\n3. Open a new terminal window\r\n4. Build it with or without LiveView: {{ti build -p ios --liveview}}\r\n5. Notice the existing app in Simulator reloading constantly.\r\n6. Notice the console showing the Alloy compile of our second build triggering a lot of reloads (see attachment).\r\n\r\nh1. Workaround\r\n\r\nKilling the active session in our first terminal window doesn't help. This doesn't kill the actual LiveView server. Killing the iOS Simulator or the app running in it does work, but it would be good to not require this extra step and prevent users to see all the flickering and console horror going on.", "attachment": [ { "id": "53724", "filename": "logs.txt", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-01-20T08:54:24.000+0000", "size": 11660, "mimeType": "text/plain" } ], "flagged": false, "summary": "LiveView: Manual Alloy compile causes running LiveView session to constantly reload", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "CLI 3.4.1\r\nSDK 3.5.0.GA\r\nAlloy 1.5.1\r\nLiveView 1.0.6", "comment": { "comments": [ { "id": "341471", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "I'm unclear how this is a valid bug. The first build sets watchers on all the files, while in a second terminal you're building the project again which means many files will be changing. Each change would signal the LiveView server to reload the app. This seems to be an invalid use-case.\r\n\r\nThe proper method when a full app rebuild is needed is to stop the app in the first terminal, thereby stopping the LiveView server. Then, rebuild the app, which would restart the LiveView server and re-set the watchers.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-01-30T19:43:18.000+0000", "updated": "2015-01-30T19:43:18.000+0000" }, { "id": "341568", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~skypanther] I understand *why* it happens, but in daily use it's something I run into too often, e.g. when I have an app with LiveView running in iOS Simulator and then I want to do a build to Genymotion or to an iOS device. This almost always crashes the app running in iOS Simulator because it can't handle all the files being changed.\r\n\r\nI agree it's not a bug, but there's room for improvement in the dev flow.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-02-01T10:49:31.000+0000", "updated": "2015-02-01T10:49:31.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }