{"action":"opened","issue":{"url":"https://api.github.com/repos/WikiWatershed/model-my-watershed/issues/668","labels_url":"https://api.github.com/repos/WikiWatershed/model-my-watershed/issues/668/labels{/name}","comments_url":"https://api.github.com/repos/WikiWatershed/model-my-watershed/issues/668/comments","events_url":"https://api.github.com/repos/WikiWatershed/model-my-watershed/issues/668/events","html_url":"https://github.com/WikiWatershed/model-my-watershed/issues/668","id":99310312,"number":668,"title":"Better loading of existing projects in Embed Mode","user":{"login":"rajadain","id":1430060,"avatar_url":"https://avatars.githubusercontent.com/u/1430060?v=3","gravatar_id":"","url":"https://api.github.com/users/rajadain","html_url":"https://github.com/rajadain","followers_url":"https://api.github.com/users/rajadain/followers","following_url":"https://api.github.com/users/rajadain/following{/other_user}","gists_url":"https://api.github.com/users/rajadain/gists{/gist_id}","starred_url":"https://api.github.com/users/rajadain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rajadain/subscriptions","organizations_url":"https://api.github.com/users/rajadain/orgs","repos_url":"https://api.github.com/users/rajadain/repos","events_url":"https://api.github.com/users/rajadain/events{/privacy}","received_events_url":"https://api.github.com/users/rajadain/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/WikiWatershed/model-my-watershed/labels/ITSI%20Portal","name":"ITSI Portal","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-05T22:12:33Z","updated_at":"2015-08-05T22:12:33Z","closed_at":null,"body":"After #613, we have the following use-cases:\r\n\r\n 1. User opens the app from inside an activity, and begins a new project. The user can start interacting immediately.\r\n 2. User opens the app from inside an activity, expecting to resume work on an existing project. While the app is waiting for a `loadInteractive` call from the parent, we automatically create a new project (since the app is loaded in Embed Mode), and if the user starts interacting before the project is loaded, then they will lose their work in a jarring way when the project finally does load.\r\n\r\nWe cannot change the behavior via URL because that cannot be changed once set, and must support both use cases.\r\n\r\nImplement a loading screen that only shows when running in Embed Mode, that stays up for around 1 - 2 seconds which gives the app time to load and listen for the `loadInteractive` call. The user should not be able to interact with the app at all while this screen is up. If the app receives a `loadInteractive` call the load screen should go away, or it should go away by itself after the set timeout. The screen should only display when on the `/` route, not on `/analyze` or `/project` or anything else."}}