{"action":"created","issue":{"url":"https://api.github.com/repos/rackt/react-router/issues/1408","labels_url":"https://api.github.com/repos/rackt/react-router/issues/1408/labels{/name}","comments_url":"https://api.github.com/repos/rackt/react-router/issues/1408/comments","events_url":"https://api.github.com/repos/rackt/react-router/issues/1408/events","html_url":"https://github.com/rackt/react-router/issues/1408","id":90816822,"number":1408,"title":"Migration Guide to v1.0.0 for Client and Server Rendering","user":{"login":"eriknyk","id":205721,"avatar_url":"https://avatars.githubusercontent.com/u/205721?v=3","gravatar_id":"","url":"https://api.github.com/users/eriknyk","html_url":"https://github.com/eriknyk","followers_url":"https://api.github.com/users/eriknyk/followers","following_url":"https://api.github.com/users/eriknyk/following{/other_user}","gists_url":"https://api.github.com/users/eriknyk/gists{/gist_id}","starred_url":"https://api.github.com/users/eriknyk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eriknyk/subscriptions","organizations_url":"https://api.github.com/users/eriknyk/orgs","repos_url":"https://api.github.com/users/eriknyk/repos","events_url":"https://api.github.com/users/eriknyk/events{/privacy}","received_events_url":"https://api.github.com/users/eriknyk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/rackt/react-router/milestones/7","html_url":"https://github.com/rackt/react-router/milestones/1.0.0","labels_url":"https://api.github.com/repos/rackt/react-router/milestones/7/labels","id":1187997,"number":7,"title":"1.0.0","description":null,"creator":{"login":"mjackson","id":92839,"avatar_url":"https://avatars.githubusercontent.com/u/92839?v=3","gravatar_id":"","url":"https://api.github.com/users/mjackson","html_url":"https://github.com/mjackson","followers_url":"https://api.github.com/users/mjackson/followers","following_url":"https://api.github.com/users/mjackson/following{/other_user}","gists_url":"https://api.github.com/users/mjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/mjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjackson/subscriptions","organizations_url":"https://api.github.com/users/mjackson/orgs","repos_url":"https://api.github.com/users/mjackson/repos","events_url":"https://api.github.com/users/mjackson/events{/privacy}","received_events_url":"https://api.github.com/users/mjackson/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":2,"state":"open","created_at":"2015-06-30T21:20:07Z","updated_at":"2015-07-01T08:14:11Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2015-06-25T00:48:47Z","updated_at":"2015-07-07T18:32:08Z","closed_at":null,"body":"please can you document a upgrade guide, for people that is using 0.13.3 and wants migrate to 1.0.0\r\nin my case I'm using client and server side, with Fluxible.\r\n\r\nRegards."},"comment":{"url":"https://api.github.com/repos/rackt/react-router/issues/comments/119294544","html_url":"https://github.com/rackt/react-router/issues/1408#issuecomment-119294544","issue_url":"https://api.github.com/repos/rackt/react-router/issues/1408","id":119294544,"user":{"login":"jorge-pascual","id":12398867,"avatar_url":"https://avatars.githubusercontent.com/u/12398867?v=3","gravatar_id":"","url":"https://api.github.com/users/jorge-pascual","html_url":"https://github.com/jorge-pascual","followers_url":"https://api.github.com/users/jorge-pascual/followers","following_url":"https://api.github.com/users/jorge-pascual/following{/other_user}","gists_url":"https://api.github.com/users/jorge-pascual/gists{/gist_id}","starred_url":"https://api.github.com/users/jorge-pascual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jorge-pascual/subscriptions","organizations_url":"https://api.github.com/users/jorge-pascual/orgs","repos_url":"https://api.github.com/users/jorge-pascual/repos","events_url":"https://api.github.com/users/jorge-pascual/events{/privacy}","received_events_url":"https://api.github.com/users/jorge-pascual/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T18:32:08Z","updated_at":"2015-07-07T18:32:08Z","body":"Great @eriknyk!!\r\n\r\nI'm not sure... but I think it makes sense that this code doesn't execute... I was thinking about that but I haven't had time to check it. \r\n\r\nMy thinking was...\r\n\r\nThe app gets the first state from the server so it doesn't need to execute any action (because it has been executed on the server). So the first branch of the code is executed (`firstRender = true`).\r\n\r\nAfter that, the router takes the app flow control. And we have two possible paths:\r\n\r\na) User changes the route (because a link or whatever).  The router would call `onEnter` and `onLeave` for each route involved in the change. No `action` or Fluxible flow at all. We could inject a Fluxible action into  `onEnter` or `onLeave` callbacks but in any case the second branch of the `if` statement won't be executed.\r\n\r\nb) User makes an interaction with a React component (a clic, for example). The React component would receive the interaction and it would execute the right action for it. This is a Fluxible flow but it doesn't pass along the last branch of the `if (firstRender)`.\r\n\r\nSo, in both cases the `firstRender = false` branch won't be executed. \r\n\r\nHowever, I would like to invest some time to check it out and be sure. Have you make a good bunch of test cases? :)"}}