{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/5658","repository_url":"https://api.github.com/repos/Microsoft/vscode","labels_url":"https://api.github.com/repos/Microsoft/vscode/issues/5658/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/vscode/issues/5658/comments","events_url":"https://api.github.com/repos/Microsoft/vscode/issues/5658/events","html_url":"https://github.com/Microsoft/vscode/pull/5658","id":150390046,"number":5658,"title":"Introduce services in Electron main process","user":{"login":"joaomoreno","id":22350,"avatar_url":"https://avatars.githubusercontent.com/u/22350?v=3","gravatar_id":"","url":"https://api.github.com/users/joaomoreno","html_url":"https://github.com/joaomoreno","followers_url":"https://api.github.com/users/joaomoreno/followers","following_url":"https://api.github.com/users/joaomoreno/following{/other_user}","gists_url":"https://api.github.com/users/joaomoreno/gists{/gist_id}","starred_url":"https://api.github.com/users/joaomoreno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaomoreno/subscriptions","organizations_url":"https://api.github.com/users/joaomoreno/orgs","repos_url":"https://api.github.com/users/joaomoreno/repos","events_url":"https://api.github.com/users/joaomoreno/events{/privacy}","received_events_url":"https://api.github.com/users/joaomoreno/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"joaomoreno","id":22350,"avatar_url":"https://avatars.githubusercontent.com/u/22350?v=3","gravatar_id":"","url":"https://api.github.com/users/joaomoreno","html_url":"https://github.com/joaomoreno","followers_url":"https://api.github.com/users/joaomoreno/followers","following_url":"https://api.github.com/users/joaomoreno/following{/other_user}","gists_url":"https://api.github.com/users/joaomoreno/gists{/gist_id}","starred_url":"https://api.github.com/users/joaomoreno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaomoreno/subscriptions","organizations_url":"https://api.github.com/users/joaomoreno/orgs","repos_url":"https://api.github.com/users/joaomoreno/repos","events_url":"https://api.github.com/users/joaomoreno/events{/privacy}","received_events_url":"https://api.github.com/users/joaomoreno/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Microsoft/vscode/milestones/14","html_url":"https://github.com/Microsoft/vscode/milestones/April%202016","labels_url":"https://api.github.com/repos/Microsoft/vscode/milestones/14/labels","id":1634573,"number":14,"title":"April 2016","description":"","creator":{"login":"joaomoreno","id":22350,"avatar_url":"https://avatars.githubusercontent.com/u/22350?v=3","gravatar_id":"","url":"https://api.github.com/users/joaomoreno","html_url":"https://github.com/joaomoreno","followers_url":"https://api.github.com/users/joaomoreno/followers","following_url":"https://api.github.com/users/joaomoreno/following{/other_user}","gists_url":"https://api.github.com/users/joaomoreno/gists{/gist_id}","starred_url":"https://api.github.com/users/joaomoreno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaomoreno/subscriptions","organizations_url":"https://api.github.com/users/joaomoreno/orgs","repos_url":"https://api.github.com/users/joaomoreno/repos","events_url":"https://api.github.com/users/joaomoreno/events{/privacy}","received_events_url":"https://api.github.com/users/joaomoreno/received_events","type":"User","site_admin":false},"open_issues":91,"closed_issues":253,"state":"open","created_at":"2016-03-09T15:13:38Z","updated_at":"2016-04-25T07:31:27Z","due_on":"2016-04-30T07:00:00Z","closed_at":null},"comments":2,"created_at":"2016-04-22T14:51:15Z","updated_at":"2016-04-25T07:33:16Z","closed_at":"2016-04-25T07:31:27Z","pull_request":{"url":"https://api.github.com/repos/Microsoft/vscode/pulls/5658","html_url":"https://github.com/Microsoft/vscode/pull/5658","diff_url":"https://github.com/Microsoft/vscode/pull/5658.diff","patch_url":"https://github.com/Microsoft/vscode/pull/5658.patch"},"body":"cc @bpasero \r\n\r\nThe main idea here is to isolate what `env.ts` does exactly. It was a mix of aggregating options, parsing command line arguments, creating user directories, etc... We want it to simply be a collection of properties others can reach into. By making it into a service, we control what it exposes via the interface, which we should then clean. This PR only has the scope of introducing services in the main electron process side so we can proceed with the rest."},"comment":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/comments/214183661","html_url":"https://github.com/Microsoft/vscode/pull/5658#issuecomment-214183661","issue_url":"https://api.github.com/repos/Microsoft/vscode/issues/5658","id":214183661,"user":{"login":"bpasero","id":900690,"avatar_url":"https://avatars.githubusercontent.com/u/900690?v=3","gravatar_id":"","url":"https://api.github.com/users/bpasero","html_url":"https://github.com/bpasero","followers_url":"https://api.github.com/users/bpasero/followers","following_url":"https://api.github.com/users/bpasero/following{/other_user}","gists_url":"https://api.github.com/users/bpasero/gists{/gist_id}","starred_url":"https://api.github.com/users/bpasero/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpasero/subscriptions","organizations_url":"https://api.github.com/users/bpasero/orgs","repos_url":"https://api.github.com/users/bpasero/repos","events_url":"https://api.github.com/users/bpasero/events{/privacy}","received_events_url":"https://api.github.com/users/bpasero/received_events","type":"User","site_admin":false},"created_at":"2016-04-25T07:33:16Z","updated_at":"2016-04-25T07:33:16Z","body":"@joaomoreno I did a brief check of your changes, but since they are a lot I did not do a line by line review. Overall I like the services introduced and it makes sense to have the same service model we have on the renderer side also on the client.\r\n\r\nThe only immediate feedback I have is to keep the service names consistent:\r\n`ISettingsManager` => `ISettingsService`\r\n`IWindowsManager` => `IWindowService`\r\n`IUpdateManager` => `IUpdateService`\r\n`IEnvServie` => `IEnvironmentService`"}}