{"action":"created","issue":{"url":"https://api.github.com/repos/uProxy/uproxy/issues/1056","labels_url":"https://api.github.com/repos/uProxy/uproxy/issues/1056/labels{/name}","comments_url":"https://api.github.com/repos/uProxy/uproxy/issues/1056/comments","events_url":"https://api.github.com/repos/uProxy/uproxy/issues/1056/events","html_url":"https://github.com/uProxy/uproxy/pull/1056","id":59868486,"number":1056,"title":"send ui view and mode bits to core","user":{"login":"salomegeo","id":7504487,"avatar_url":"https://avatars.githubusercontent.com/u/7504487?v=3","gravatar_id":"","url":"https://api.github.com/users/salomegeo","html_url":"https://github.com/salomegeo","followers_url":"https://api.github.com/users/salomegeo/followers","following_url":"https://api.github.com/users/salomegeo/following{/other_user}","gists_url":"https://api.github.com/users/salomegeo/gists{/gist_id}","starred_url":"https://api.github.com/users/salomegeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/salomegeo/subscriptions","organizations_url":"https://api.github.com/users/salomegeo/orgs","repos_url":"https://api.github.com/users/salomegeo/repos","events_url":"https://api.github.com/users/salomegeo/events{/privacy}","received_events_url":"https://api.github.com/users/salomegeo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-03-04T21:55:19Z","updated_at":"2015-03-05T16:41:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/uProxy/uproxy/pulls/1056","html_url":"https://github.com/uProxy/uproxy/pull/1056","diff_url":"https://github.com/uProxy/uproxy/pull/1056.diff","patch_url":"https://github.com/uProxy/uproxy/pull/1056.patch"},"body":"\n\n<!-- Reviewable:start -->\n[<img src=\"https://reviewable.io/review_button.png\" height=40 alt=\"Review on Reviewable\"/>](https://reviewable.io/reviews/uproxy/uproxy/1056)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/uProxy/uproxy/issues/comments/77399179","html_url":"https://github.com/uProxy/uproxy/pull/1056#issuecomment-77399179","issue_url":"https://api.github.com/repos/uProxy/uproxy/issues/1056","id":77399179,"user":{"login":"dborkan","id":6494307,"avatar_url":"https://avatars.githubusercontent.com/u/6494307?v=3","gravatar_id":"","url":"https://api.github.com/users/dborkan","html_url":"https://github.com/dborkan","followers_url":"https://api.github.com/users/dborkan/followers","following_url":"https://api.github.com/users/dborkan/following{/other_user}","gists_url":"https://api.github.com/users/dborkan/gists{/gist_id}","starred_url":"https://api.github.com/users/dborkan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dborkan/subscriptions","organizations_url":"https://api.github.com/users/dborkan/orgs","repos_url":"https://api.github.com/users/dborkan/repos","events_url":"https://api.github.com/users/dborkan/events{/privacy}","received_events_url":"https://api.github.com/users/dborkan/received_events","type":"User","site_admin":false},"created_at":"2015-03-05T16:41:24Z","updated_at":"2015-03-05T16:41:24Z","body":":+1: from me, but some things to consider as we move more UI stuff out of the background page:\r\n* in uProxy-for-cloud, it might be possible that one uProxy core (i.e. one instance of uProxy) is running, but the user has launched multiple UIs (browser tabs).  In this case we might need to revisit how we are storing one core.uiState.view per core - I imagine each tab might be able to be on different views at a time.\r\n* There is a bunch more UI state beyond just view and mode - pretty much everything in the ui and model and core_connector.  Some of this we might need to store in the core (ui copyAndPaste fields, splashState), other stuff we can probably just generate each time the UI launches (ui.mapInstanceIdToUser_), other stuff we might want to modify by changing the API between the core and ui (e.g. ui.instancesGivingAccessTo and ui.instanceGettingAccessFrom_ are only set when getting/sharing starts/stops, it might be better to have GET_INITIAL_STATE return these list of instances and have some other API to get them when they change).\r\n* Moving core_connector.promiseId_ is going to take some special work - if we end up resetting the promiseId_ everytime the ui opens and closes things will break."}}