{"action":"created","comment":{"url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/comments/170379373","pull_request_review_id":99066322,"id":170379373,"diff_hunk":"@@ -0,0 +1,25 @@\n+(function() {\n+  if (typeof FastBoot === 'undefined') {\n+    var current = document.getElementById('fastboot-body-start');\n+\n+    if (current && current.nextSibling.nodeValue === '%+b:0%') {\n+      Ember.ApplicationInstance.reopen({","path":"vendor/experimental-render-mode-rehydrate.js","position":6,"original_position":6,"commit_id":"37d1f2176fe5ab1ca96870c9c65012f8a98f1552","original_commit_id":"37d1f2176fe5ab1ca96870c9c65012f8a98f1552","user":{"login":"rwjblue","id":12637,"avatar_url":"https://avatars0.githubusercontent.com/u/12637?v=4","gravatar_id":"","url":"https://api.github.com/users/rwjblue","html_url":"https://github.com/rwjblue","followers_url":"https://api.github.com/users/rwjblue/followers","following_url":"https://api.github.com/users/rwjblue/following{/other_user}","gists_url":"https://api.github.com/users/rwjblue/gists{/gist_id}","starred_url":"https://api.github.com/users/rwjblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwjblue/subscriptions","organizations_url":"https://api.github.com/users/rwjblue/orgs","repos_url":"https://api.github.com/users/rwjblue/repos","events_url":"https://api.github.com/users/rwjblue/events{/privacy}","received_events_url":"https://api.github.com/users/rwjblue/received_events","type":"User","site_admin":false},"body":"Is this how we plan to do this long term? Do we have a plan to remove this reopen?","created_at":"2018-02-23T22:01:43Z","updated_at":"2018-02-23T22:08:48Z","html_url":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580#discussion_r170379373","pull_request_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/comments/170379373"},"html":{"href":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580#discussion_r170379373"},"pull_request":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580"}}},"pull_request":{"url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580","id":171111402,"html_url":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580","diff_url":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580.diff","patch_url":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580.patch","issue_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/580","number":580,"state":"open","locked":false,"title":"Utilize rehydration serialization from glimmer","user":{"login":"rondale-sc","id":75710,"avatar_url":"https://avatars0.githubusercontent.com/u/75710?v=4","gravatar_id":"","url":"https://api.github.com/users/rondale-sc","html_url":"https://github.com/rondale-sc","followers_url":"https://api.github.com/users/rondale-sc/followers","following_url":"https://api.github.com/users/rondale-sc/following{/other_user}","gists_url":"https://api.github.com/users/rondale-sc/gists{/gist_id}","starred_url":"https://api.github.com/users/rondale-sc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rondale-sc/subscriptions","organizations_url":"https://api.github.com/users/rondale-sc/orgs","repos_url":"https://api.github.com/users/rondale-sc/repos","events_url":"https://api.github.com/users/rondale-sc/events{/privacy}","received_events_url":"https://api.github.com/users/rondale-sc/received_events","type":"User","site_admin":false},"body":"This is part of an arching plan to introduce Glimmer's\r\nrehydration/serializtion modes to Ember proper.\r\n\r\nThere are 4 PR's that are all interwoven, of which, this is one.\r\n\r\n- [ ] Glimmer.js: glimmerjs/glimmer-vm#783 (comment)\r\n- [ ] Ember.js: emberjs/ember.js#16227\r\n- [ ] Fastboot: ember-fastboot/fastboot#185\r\n- [ ] EmberCLI Fastboot: ember-fastboot/ember-cli-fastboot#580\r\n\r\nIn order of need to land they are:\r\n\r\nGlimmer.js:\r\nglimmerjs/glimmer-vm#783 (comment)\r\n\r\nThis resolves a rather intimate API problem.  Glimmer-vm expects a very\r\nspecific comment node to exist to know whether or not the rehydration\r\nelement builder can do it's job properly.  If it is not found on the\r\nfirst node from `rootElement` it throws.\r\n\r\nIn fastboot however we are certain that there will already be existant\r\nelements in the way that will happen before rendered content.\r\n\r\nThis PR just iterates through the nodes until it finds the expected\r\ncomment node.  And only throws if it never finds one.\r\n\r\n---\r\n\r\nEmber.js:\r\nemberjs/ember.js#16227\r\n\r\nThis PR modifies the `visit` API to allow a private _renderMode to be\r\nset to either serialize or rehydrate.  In SSR environments the\r\nassumption (as it is here in this fastboot PR) is that we'll set the\r\nvisit API to serialize mode which ensures glimmer-vm's serialize element\r\nbuilder is used to build the API.\r\n\r\nThe serialize element builder ensures that we have the necessary fidelty\r\nto rehydrate correctly and is mandatory input for rehydration.\r\n\r\n---\r\n\r\nFastboot:\r\nember-fastboot/fastboot#185\r\n\r\nThis allows enviroment variable to set _renderMode to be used in Visit\r\nAPI.  Fastboot must send content to browser made with the serialization\r\nelement builder to ensure rehydration can be sucessful.\r\n\r\n---\r\n\r\nEmberCLI Fastboot:\r\nember-fastboot/ember-cli-fastboot#580\r\n\r\nFinally this does the fun part of disabling the current\r\nclear-double-render instance-initializer\r\n\r\nWe first check to ensure we are in a non-fastboot environment.  Then we\r\nensure that we can find the expected comment node from glimmer-vm's\r\nserialize element builder.  This ensures that this change will only\r\neffect peoeple who use ember-cli-fastboot with the serialized output\r\nfrom the currently experimental fastboot setup\r\n\r\nThen we ensure `ApplicationInstance#_bootSync` specifies the rehydrate\r\n_renderMode.\r\n\r\nThis is done in `_bootSync` this way because visit is currently not used\r\nto boot ember applications.  And we must instead set bootOptions this\r\nway instead.\r\n\r\nWe also remove the markings for `fastboot-body-start` and\r\n`fastboot-body-end` to ensure clear-double render instance-initializer\r\nis never called.","created_at":"2018-02-23T20:41:22Z","updated_at":"2018-02-23T22:08:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"33e06594c7dbf7ae63d8e76ec63cc8f6006f27f6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580/commits","review_comments_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580/comments","review_comment_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/580/comments","statuses_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/statuses/37d1f2176fe5ab1ca96870c9c65012f8a98f1552","head":{"label":"rondale-sc:utilize-rehydration-serialization-from-glimmer","ref":"utilize-rehydration-serialization-from-glimmer","sha":"37d1f2176fe5ab1ca96870c9c65012f8a98f1552","user":{"login":"rondale-sc","id":75710,"avatar_url":"https://avatars0.githubusercontent.com/u/75710?v=4","gravatar_id":"","url":"https://api.github.com/users/rondale-sc","html_url":"https://github.com/rondale-sc","followers_url":"https://api.github.com/users/rondale-sc/followers","following_url":"https://api.github.com/users/rondale-sc/following{/other_user}","gists_url":"https://api.github.com/users/rondale-sc/gists{/gist_id}","starred_url":"https://api.github.com/users/rondale-sc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rondale-sc/subscriptions","organizations_url":"https://api.github.com/users/rondale-sc/orgs","repos_url":"https://api.github.com/users/rondale-sc/repos","events_url":"https://api.github.com/users/rondale-sc/events{/privacy}","received_events_url":"https://api.github.com/users/rondale-sc/received_events","type":"User","site_admin":false},"repo":{"id":122666320,"name":"ember-cli-fastboot","full_name":"rondale-sc/ember-cli-fastboot","owner":{"login":"rondale-sc","id":75710,"avatar_url":"https://avatars0.githubusercontent.com/u/75710?v=4","gravatar_id":"","url":"https://api.github.com/users/rondale-sc","html_url":"https://github.com/rondale-sc","followers_url":"https://api.github.com/users/rondale-sc/followers","following_url":"https://api.github.com/users/rondale-sc/following{/other_user}","gists_url":"https://api.github.com/users/rondale-sc/gists{/gist_id}","starred_url":"https://api.github.com/users/rondale-sc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rondale-sc/subscriptions","organizations_url":"https://api.github.com/users/rondale-sc/orgs","repos_url":"https://api.github.com/users/rondale-sc/repos","events_url":"https://api.github.com/users/rondale-sc/events{/privacy}","received_events_url":"https://api.github.com/users/rondale-sc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rondale-sc/ember-cli-fastboot","description":"Server-side rendering for Ember.js apps","fork":true,"url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot","forks_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/forks","keys_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/teams","hooks_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/hooks","issue_events_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/issues/events{/number}","events_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/events","assignees_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/assignees{/user}","branches_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/branches{/branch}","tags_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/tags","blobs_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/git/refs{/sha}","trees_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/statuses/{sha}","languages_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/languages","stargazers_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/stargazers","contributors_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/contributors","subscribers_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/subscribers","subscription_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/subscription","commits_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/commits{/sha}","git_commits_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/git/commits{/sha}","comments_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/comments{/number}","issue_comment_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/issues/comments{/number}","contents_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/contents/{+path}","compare_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/merges","archive_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/downloads","issues_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/issues{/number}","pulls_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/pulls{/number}","milestones_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/milestones{/number}","notifications_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/labels{/name}","releases_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/releases{/id}","deployments_url":"https://api.github.com/repos/rondale-sc/ember-cli-fastboot/deployments","created_at":"2018-02-23T19:55:01Z","updated_at":"2018-02-23T19:55:04Z","pushed_at":"2018-02-23T20:53:02Z","git_url":"git://github.com/rondale-sc/ember-cli-fastboot.git","ssh_url":"git@github.com:rondale-sc/ember-cli-fastboot.git","clone_url":"https://github.com/rondale-sc/ember-cli-fastboot.git","svn_url":"https://github.com/rondale-sc/ember-cli-fastboot","homepage":"http://ember-fastboot.com/","size":894,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ember-fastboot:master","ref":"master","sha":"95fff79f87ec2165f8ea70375e9bf5ea2b33edf7","user":{"login":"ember-fastboot","id":14139940,"avatar_url":"https://avatars0.githubusercontent.com/u/14139940?v=4","gravatar_id":"","url":"https://api.github.com/users/ember-fastboot","html_url":"https://github.com/ember-fastboot","followers_url":"https://api.github.com/users/ember-fastboot/followers","following_url":"https://api.github.com/users/ember-fastboot/following{/other_user}","gists_url":"https://api.github.com/users/ember-fastboot/gists{/gist_id}","starred_url":"https://api.github.com/users/ember-fastboot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ember-fastboot/subscriptions","organizations_url":"https://api.github.com/users/ember-fastboot/orgs","repos_url":"https://api.github.com/users/ember-fastboot/repos","events_url":"https://api.github.com/users/ember-fastboot/events{/privacy}","received_events_url":"https://api.github.com/users/ember-fastboot/received_events","type":"Organization","site_admin":false},"repo":{"id":29309660,"name":"ember-cli-fastboot","full_name":"ember-fastboot/ember-cli-fastboot","owner":{"login":"ember-fastboot","id":14139940,"avatar_url":"https://avatars0.githubusercontent.com/u/14139940?v=4","gravatar_id":"","url":"https://api.github.com/users/ember-fastboot","html_url":"https://github.com/ember-fastboot","followers_url":"https://api.github.com/users/ember-fastboot/followers","following_url":"https://api.github.com/users/ember-fastboot/following{/other_user}","gists_url":"https://api.github.com/users/ember-fastboot/gists{/gist_id}","starred_url":"https://api.github.com/users/ember-fastboot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ember-fastboot/subscriptions","organizations_url":"https://api.github.com/users/ember-fastboot/orgs","repos_url":"https://api.github.com/users/ember-fastboot/repos","events_url":"https://api.github.com/users/ember-fastboot/events{/privacy}","received_events_url":"https://api.github.com/users/ember-fastboot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ember-fastboot/ember-cli-fastboot","description":"Server-side rendering for Ember.js apps","fork":false,"url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot","forks_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/forks","keys_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/teams","hooks_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/hooks","issue_events_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/events{/number}","events_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/events","assignees_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/assignees{/user}","branches_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/branches{/branch}","tags_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/tags","blobs_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/git/refs{/sha}","trees_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/statuses/{sha}","languages_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/languages","stargazers_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/stargazers","contributors_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/contributors","subscribers_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/subscribers","subscription_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/subscription","commits_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/commits{/sha}","git_commits_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/git/commits{/sha}","comments_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/comments{/number}","issue_comment_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/comments{/number}","contents_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/contents/{+path}","compare_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/merges","archive_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/downloads","issues_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues{/number}","pulls_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls{/number}","milestones_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/milestones{/number}","notifications_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/labels{/name}","releases_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/releases{/id}","deployments_url":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/deployments","created_at":"2015-01-15T17:44:10Z","updated_at":"2018-02-16T11:37:22Z","pushed_at":"2018-02-23T20:53:03Z","git_url":"git://github.com/ember-fastboot/ember-cli-fastboot.git","ssh_url":"git@github.com:ember-fastboot/ember-cli-fastboot.git","clone_url":"https://github.com/ember-fastboot/ember-cli-fastboot.git","svn_url":"https://github.com/ember-fastboot/ember-cli-fastboot","homepage":"http://ember-fastboot.com/","size":894,"stargazers_count":818,"watchers_count":818,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":113,"mirror_url":null,"archived":false,"open_issues_count":51,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":113,"open_issues":51,"watchers":818,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580"},"html":{"href":"https://github.com/ember-fastboot/ember-cli-fastboot/pull/580"},"issue":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/580"},"comments":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/issues/580/comments"},"review_comments":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580/comments"},"review_comment":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/pulls/580/commits"},"statuses":{"href":"https://api.github.com/repos/ember-fastboot/ember-cli-fastboot/statuses/37d1f2176fe5ab1ca96870c9c65012f8a98f1552"}},"author_association":"NONE"}}
{"actor":{"display_login":"rwjblue"}}