{"action":"created","comment":{"url":"https://api.github.com/repos/emberjs/ember.js/pulls/comments/71769221","id":71769221,"diff_hunk":"@@ -40,6 +40,142 @@ moduleFor('@htmlbars Components test: closure components', class extends Renderi\n     this.assertText('Hodi Hodari');\n   }\n \n+  ['@test keeps nested rest positional parameters if rendered with no positional parameters']() {","path":"packages/ember-glimmer/tests/integration/components/closure-components-test.js","position":4,"original_position":4,"commit_id":"0dea6dac7dddba9cd9ce4d463deac017f797d1e6","original_commit_id":"0dea6dac7dddba9cd9ce4d463deac017f797d1e6","user":{"login":"Serabe","id":36221,"avatar_url":"https://avatars.githubusercontent.com/u/36221?v=3","gravatar_id":"","url":"https://api.github.com/users/Serabe","html_url":"https://github.com/Serabe","followers_url":"https://api.github.com/users/Serabe/followers","following_url":"https://api.github.com/users/Serabe/following{/other_user}","gists_url":"https://api.github.com/users/Serabe/gists{/gist_id}","starred_url":"https://api.github.com/users/Serabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Serabe/subscriptions","organizations_url":"https://api.github.com/users/Serabe/orgs","repos_url":"https://api.github.com/users/Serabe/repos","events_url":"https://api.github.com/users/Serabe/events{/privacy}","received_events_url":"https://api.github.com/users/Serabe/received_events","type":"User","site_admin":false},"body":"To all of them or just this one?","created_at":"2016-07-21T19:16:53Z","updated_at":"2016-07-21T19:16:53Z","html_url":"https://github.com/emberjs/ember.js/pull/13764#discussion_r71769221","pull_request_url":"https://api.github.com/repos/emberjs/ember.js/pulls/13764","_links":{"self":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/comments/71769221"},"html":{"href":"https://github.com/emberjs/ember.js/pull/13764#discussion_r71769221"},"pull_request":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/13764"}}},"pull_request":{"url":"https://api.github.com/repos/emberjs/ember.js/pulls/13764","id":75391620,"html_url":"https://github.com/emberjs/ember.js/pull/13764","diff_url":"https://github.com/emberjs/ember.js/pull/13764.diff","patch_url":"https://github.com/emberjs/ember.js/pull/13764.patch","issue_url":"https://api.github.com/repos/emberjs/ember.js/issues/13764","number":13764,"state":"open","locked":false,"title":"[BUGFIX beta] Keep rest positional parameters when nesting contextual components if needed.","user":{"login":"Serabe","id":36221,"avatar_url":"https://avatars.githubusercontent.com/u/36221?v=3","gravatar_id":"","url":"https://api.github.com/users/Serabe","html_url":"https://github.com/Serabe","followers_url":"https://api.github.com/users/Serabe/followers","following_url":"https://api.github.com/users/Serabe/following{/other_user}","gists_url":"https://api.github.com/users/Serabe/gists{/gist_id}","starred_url":"https://api.github.com/users/Serabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Serabe/subscriptions","organizations_url":"https://api.github.com/users/Serabe/orgs","repos_url":"https://api.github.com/users/Serabe/repos","events_url":"https://api.github.com/users/Serabe/events{/privacy}","received_events_url":"https://api.github.com/users/Serabe/received_events","type":"User","site_admin":false},"body":"Steps to reproduce the bug before this patch:\r\n\r\n1. Create a component with rest positional param (like `link-to`).\r\n2. Create contextual component (`(component \"link-to\" \"index\")`).\r\n3. Render it (`{{component (component \"link-to\" \"index\")}}`).\r\n4. Realize the component did not receive `\"index\"` at all.\r\n\r\n## What was causing it?\r\n\r\nBecause of how positional parameters work (both in components and contextual\r\ncomponents), it is needed to treat them at each level and then merge them.\r\nSadly, this was causing to overwrite the rest positional parameters because\r\nwhen no parameters are passed, the attribute get an empty array nonetheless.\r\n\r\nIn the example above, assuming `LinkToComponent.positionalParams === 'params'`:\r\n\r\n1. Contextual component in `2` gets its positional parameters processed and\r\n   receives the following named parameters `{ params: ['index'] }`.\r\n2. When rendering, the `{{component}}` processes its own parameters getting\r\n   `{ params: [] }`. Then it merges in a `new EmptyObject()` these attributes\r\n   on top of the ones in the contextual component. (See what I did there?\r\n   I used the JS keyword `new` as an adjective! He he. Don't judge me, it is\r\n   pretty late in here)\r\n\r\n## Solving the issue\r\n\r\nThis PR changes the implementation of `mergeInNewHash` to keep the original\r\npositional parameters if the new ones are empty and the positional parameter is\r\nof type rest.\r\n\r\nFixes #13742","created_at":"2016-06-27T22:37:16Z","updated_at":"2016-07-21T19:16:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"954c1aa120dc78bb08bef55703cdf1fd98d031a2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/emberjs/ember.js/pulls/13764/commits","review_comments_url":"https://api.github.com/repos/emberjs/ember.js/pulls/13764/comments","review_comment_url":"https://api.github.com/repos/emberjs/ember.js/pulls/comments{/number}","comments_url":"https://api.github.com/repos/emberjs/ember.js/issues/13764/comments","statuses_url":"https://api.github.com/repos/emberjs/ember.js/statuses/0dea6dac7dddba9cd9ce4d463deac017f797d1e6","head":{"label":"Serabe:fix/13742","ref":"fix/13742","sha":"0dea6dac7dddba9cd9ce4d463deac017f797d1e6","user":{"login":"Serabe","id":36221,"avatar_url":"https://avatars.githubusercontent.com/u/36221?v=3","gravatar_id":"","url":"https://api.github.com/users/Serabe","html_url":"https://github.com/Serabe","followers_url":"https://api.github.com/users/Serabe/followers","following_url":"https://api.github.com/users/Serabe/following{/other_user}","gists_url":"https://api.github.com/users/Serabe/gists{/gist_id}","starred_url":"https://api.github.com/users/Serabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Serabe/subscriptions","organizations_url":"https://api.github.com/users/Serabe/orgs","repos_url":"https://api.github.com/users/Serabe/repos","events_url":"https://api.github.com/users/Serabe/events{/privacy}","received_events_url":"https://api.github.com/users/Serabe/received_events","type":"User","site_admin":false},"repo":{"id":41854037,"name":"ember.js","full_name":"Serabe/ember.js","owner":{"login":"Serabe","id":36221,"avatar_url":"https://avatars.githubusercontent.com/u/36221?v=3","gravatar_id":"","url":"https://api.github.com/users/Serabe","html_url":"https://github.com/Serabe","followers_url":"https://api.github.com/users/Serabe/followers","following_url":"https://api.github.com/users/Serabe/following{/other_user}","gists_url":"https://api.github.com/users/Serabe/gists{/gist_id}","starred_url":"https://api.github.com/users/Serabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Serabe/subscriptions","organizations_url":"https://api.github.com/users/Serabe/orgs","repos_url":"https://api.github.com/users/Serabe/repos","events_url":"https://api.github.com/users/Serabe/events{/privacy}","received_events_url":"https://api.github.com/users/Serabe/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Serabe/ember.js","description":"Ember.js - A JavaScript framework for creating ambitious web applications","fork":true,"url":"https://api.github.com/repos/Serabe/ember.js","forks_url":"https://api.github.com/repos/Serabe/ember.js/forks","keys_url":"https://api.github.com/repos/Serabe/ember.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Serabe/ember.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Serabe/ember.js/teams","hooks_url":"https://api.github.com/repos/Serabe/ember.js/hooks","issue_events_url":"https://api.github.com/repos/Serabe/ember.js/issues/events{/number}","events_url":"https://api.github.com/repos/Serabe/ember.js/events","assignees_url":"https://api.github.com/repos/Serabe/ember.js/assignees{/user}","branches_url":"https://api.github.com/repos/Serabe/ember.js/branches{/branch}","tags_url":"https://api.github.com/repos/Serabe/ember.js/tags","blobs_url":"https://api.github.com/repos/Serabe/ember.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Serabe/ember.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Serabe/ember.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/Serabe/ember.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Serabe/ember.js/statuses/{sha}","languages_url":"https://api.github.com/repos/Serabe/ember.js/languages","stargazers_url":"https://api.github.com/repos/Serabe/ember.js/stargazers","contributors_url":"https://api.github.com/repos/Serabe/ember.js/contributors","subscribers_url":"https://api.github.com/repos/Serabe/ember.js/subscribers","subscription_url":"https://api.github.com/repos/Serabe/ember.js/subscription","commits_url":"https://api.github.com/repos/Serabe/ember.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/Serabe/ember.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/Serabe/ember.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/Serabe/ember.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/Serabe/ember.js/contents/{+path}","compare_url":"https://api.github.com/repos/Serabe/ember.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Serabe/ember.js/merges","archive_url":"https://api.github.com/repos/Serabe/ember.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Serabe/ember.js/downloads","issues_url":"https://api.github.com/repos/Serabe/ember.js/issues{/number}","pulls_url":"https://api.github.com/repos/Serabe/ember.js/pulls{/number}","milestones_url":"https://api.github.com/repos/Serabe/ember.js/milestones{/number}","notifications_url":"https://api.github.com/repos/Serabe/ember.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Serabe/ember.js/labels{/name}","releases_url":"https://api.github.com/repos/Serabe/ember.js/releases{/id}","deployments_url":"https://api.github.com/repos/Serabe/ember.js/deployments","created_at":"2015-09-03T10:28:32Z","updated_at":"2016-03-04T05:21:21Z","pushed_at":"2016-07-21T19:04:11Z","git_url":"git://github.com/Serabe/ember.js.git","ssh_url":"git@github.com:Serabe/ember.js.git","clone_url":"https://github.com/Serabe/ember.js.git","svn_url":"https://github.com/Serabe/ember.js","homepage":"http://www.emberjs.com","size":33765,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"emberjs:master","ref":"master","sha":"670a88ec92925c09e3c06f621e694aae73e4422c","user":{"login":"emberjs","id":1253363,"avatar_url":"https://avatars.githubusercontent.com/u/1253363?v=3","gravatar_id":"","url":"https://api.github.com/users/emberjs","html_url":"https://github.com/emberjs","followers_url":"https://api.github.com/users/emberjs/followers","following_url":"https://api.github.com/users/emberjs/following{/other_user}","gists_url":"https://api.github.com/users/emberjs/gists{/gist_id}","starred_url":"https://api.github.com/users/emberjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emberjs/subscriptions","organizations_url":"https://api.github.com/users/emberjs/orgs","repos_url":"https://api.github.com/users/emberjs/repos","events_url":"https://api.github.com/users/emberjs/events{/privacy}","received_events_url":"https://api.github.com/users/emberjs/received_events","type":"Organization","site_admin":false},"repo":{"id":1801829,"name":"ember.js","full_name":"emberjs/ember.js","owner":{"login":"emberjs","id":1253363,"avatar_url":"https://avatars.githubusercontent.com/u/1253363?v=3","gravatar_id":"","url":"https://api.github.com/users/emberjs","html_url":"https://github.com/emberjs","followers_url":"https://api.github.com/users/emberjs/followers","following_url":"https://api.github.com/users/emberjs/following{/other_user}","gists_url":"https://api.github.com/users/emberjs/gists{/gist_id}","starred_url":"https://api.github.com/users/emberjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emberjs/subscriptions","organizations_url":"https://api.github.com/users/emberjs/orgs","repos_url":"https://api.github.com/users/emberjs/repos","events_url":"https://api.github.com/users/emberjs/events{/privacy}","received_events_url":"https://api.github.com/users/emberjs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/emberjs/ember.js","description":"Ember.js - A JavaScript framework for creating ambitious web applications","fork":false,"url":"https://api.github.com/repos/emberjs/ember.js","forks_url":"https://api.github.com/repos/emberjs/ember.js/forks","keys_url":"https://api.github.com/repos/emberjs/ember.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/emberjs/ember.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/emberjs/ember.js/teams","hooks_url":"https://api.github.com/repos/emberjs/ember.js/hooks","issue_events_url":"https://api.github.com/repos/emberjs/ember.js/issues/events{/number}","events_url":"https://api.github.com/repos/emberjs/ember.js/events","assignees_url":"https://api.github.com/repos/emberjs/ember.js/assignees{/user}","branches_url":"https://api.github.com/repos/emberjs/ember.js/branches{/branch}","tags_url":"https://api.github.com/repos/emberjs/ember.js/tags","blobs_url":"https://api.github.com/repos/emberjs/ember.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/emberjs/ember.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/emberjs/ember.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/emberjs/ember.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/emberjs/ember.js/statuses/{sha}","languages_url":"https://api.github.com/repos/emberjs/ember.js/languages","stargazers_url":"https://api.github.com/repos/emberjs/ember.js/stargazers","contributors_url":"https://api.github.com/repos/emberjs/ember.js/contributors","subscribers_url":"https://api.github.com/repos/emberjs/ember.js/subscribers","subscription_url":"https://api.github.com/repos/emberjs/ember.js/subscription","commits_url":"https://api.github.com/repos/emberjs/ember.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/emberjs/ember.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/emberjs/ember.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/emberjs/ember.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/emberjs/ember.js/contents/{+path}","compare_url":"https://api.github.com/repos/emberjs/ember.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/emberjs/ember.js/merges","archive_url":"https://api.github.com/repos/emberjs/ember.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/emberjs/ember.js/downloads","issues_url":"https://api.github.com/repos/emberjs/ember.js/issues{/number}","pulls_url":"https://api.github.com/repos/emberjs/ember.js/pulls{/number}","milestones_url":"https://api.github.com/repos/emberjs/ember.js/milestones{/number}","notifications_url":"https://api.github.com/repos/emberjs/ember.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/emberjs/ember.js/labels{/name}","releases_url":"https://api.github.com/repos/emberjs/ember.js/releases{/id}","deployments_url":"https://api.github.com/repos/emberjs/ember.js/deployments","created_at":"2011-05-25T23:39:40Z","updated_at":"2016-07-21T16:57:37Z","pushed_at":"2016-07-21T19:04:26Z","git_url":"git://github.com/emberjs/ember.js.git","ssh_url":"git@github.com:emberjs/ember.js.git","clone_url":"https://github.com/emberjs/ember.js.git","svn_url":"https://github.com/emberjs/ember.js","homepage":"http://www.emberjs.com","size":74317,"stargazers_count":16512,"watchers_count":16512,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3524,"mirror_url":null,"open_issues_count":259,"forks":3524,"open_issues":259,"watchers":16512,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/13764"},"html":{"href":"https://github.com/emberjs/ember.js/pull/13764"},"issue":{"href":"https://api.github.com/repos/emberjs/ember.js/issues/13764"},"comments":{"href":"https://api.github.com/repos/emberjs/ember.js/issues/13764/comments"},"review_comments":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/13764/comments"},"review_comment":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/emberjs/ember.js/pulls/13764/commits"},"statuses":{"href":"https://api.github.com/repos/emberjs/ember.js/statuses/0dea6dac7dddba9cd9ce4d463deac017f797d1e6"}}}}
{"actor":{"display_login":"Serabe"}}