{"action":"created","issue":{"url":"https://api.github.com/repos/emberjs/ember.js/issues/10903","labels_url":"https://api.github.com/repos/emberjs/ember.js/issues/10903/labels{/name}","comments_url":"https://api.github.com/repos/emberjs/ember.js/issues/10903/comments","events_url":"https://api.github.com/repos/emberjs/ember.js/issues/10903/events","html_url":"https://github.com/emberjs/ember.js/pull/10903","id":69341760,"number":10903,"title":"Completely remove the concept of isVirtual","user":{"login":"mixonic","id":8752,"avatar_url":"https://avatars.githubusercontent.com/u/8752?v=3","gravatar_id":"","url":"https://api.github.com/users/mixonic","html_url":"https://github.com/mixonic","followers_url":"https://api.github.com/users/mixonic/followers","following_url":"https://api.github.com/users/mixonic/following{/other_user}","gists_url":"https://api.github.com/users/mixonic/gists{/gist_id}","starred_url":"https://api.github.com/users/mixonic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mixonic/subscriptions","organizations_url":"https://api.github.com/users/mixonic/orgs","repos_url":"https://api.github.com/users/mixonic/repos","events_url":"https://api.github.com/users/mixonic/events{/privacy}","received_events_url":"https://api.github.com/users/mixonic/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-18T19:45:52Z","updated_at":"2015-04-18T21:25:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/emberjs/ember.js/pulls/10903","html_url":"https://github.com/emberjs/ember.js/pull/10903","diff_url":"https://github.com/emberjs/ember.js/pull/10903.diff","patch_url":"https://github.com/emberjs/ember.js/pull/10903.patch"},"body":"MetamorphView (and the Metamorph mixin) are the final bastion of virtual views. This commit removes much of their use.\r\n\r\nMetamorphView had two behaviors: First, it was tagless. Second, it was not included in the view hierarchy. The first concept (taglessness) is still valid in Ember post-Glimmer. For this, we use `tagName: ''`.\r\n\r\nThe second concept (virtual views) is not longer present. So views which previously used MetamorphView will not longer be able to escape the view hierarchy. In most cases, the intent was likely to be tagless and being virtual was simply a side effect.\r\n\r\nOutletView and EachView will now be present in childViews and will be parentViews.\r\n\r\n`{{render` used to always create a view. Now, it will only create a view if one is set by the user. By default it is only a componentNode and has no view at all.\r\n\r\nThe final spot MetamorphViews are used it for the default itemView and emptyView on EachView. This should be easy to address in a manner similar to {{render: If the user does not specify a view, none should be required.\r\n\r\nAfter this, MetamorphView will no longer be used by internals."},"comment":{"url":"https://api.github.com/repos/emberjs/ember.js/issues/comments/94202220","html_url":"https://github.com/emberjs/ember.js/pull/10903#issuecomment-94202220","issue_url":"https://api.github.com/repos/emberjs/ember.js/issues/10903","id":94202220,"user":{"login":"rwjblue","id":12637,"avatar_url":"https://avatars.githubusercontent.com/u/12637?v=3","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},"created_at":"2015-04-18T21:25:29Z","updated_at":"2015-04-18T21:25:29Z","body":"@stefanpenner - This PR is against the Glimmer branch (not sure if you saw that), and the idea is that there is essentially no such thing as a virtual view any more.  \r\n\r\nSee the commit description in https://github.com/emberjs/ember.js/commit/3aea201274e8d539c7c509896983960ba65d2a7e for more details, but here is a snippet:\r\n\r\n> there are no more virtual views and only concrete views"}}