{"action":"opened","number":3019,"pull_request":{"url":"https://api.github.com/repos/erikras/redux-form/pulls/3019","id":124018465,"html_url":"https://github.com/erikras/redux-form/pull/3019","diff_url":"https://github.com/erikras/redux-form/pull/3019.diff","patch_url":"https://github.com/erikras/redux-form/pull/3019.patch","issue_url":"https://api.github.com/repos/erikras/redux-form/issues/3019","number":3019,"state":"open","locked":false,"title":"add support for props with nested immutables","user":{"login":"mattkrick","id":5514175,"avatar_url":"https://avatars3.githubusercontent.com/u/5514175?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkrick","html_url":"https://github.com/mattkrick","followers_url":"https://api.github.com/users/mattkrick/followers","following_url":"https://api.github.com/users/mattkrick/following{/other_user}","gists_url":"https://api.github.com/users/mattkrick/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkrick/subscriptions","organizations_url":"https://api.github.com/users/mattkrick/orgs","repos_url":"https://api.github.com/users/mattkrick/repos","events_url":"https://api.github.com/users/mattkrick/events{/privacy}","received_events_url":"https://api.github.com/users/mattkrick/received_events","type":"User","site_admin":false},"body":"Background:\r\nSometimes, a prop might be a POJO that contains a nested immutable structure. Draft-js' `editorState` is a great example. Within sCU, the plain `deepEqual` function is used on it & breaks. \r\n \r\nWhy this is needed:\r\n- Per #2798 the only way to make this work with draft-js is to serialize the editorState.\r\n- The beauty of immutables is that we don't have to do a deep equals, comparing references is enough\r\n- folks may use different immutable libraries so there is no safe way to ducktype an immutable\r\n- folks may have large POJOs that they want to exclude from being deep equaled in sCU. This is a cheap, unobtrusive way to add performance. \r\n\r\nExample:\r\n`reduxForm({form: 'linkChanger', immutables: ['editorState']})`\r\n\r\ncan bump the docs if you like it","created_at":"2017-06-05T17:09:46Z","updated_at":"2017-06-05T17:09:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/erikras/redux-form/pulls/3019/commits","review_comments_url":"https://api.github.com/repos/erikras/redux-form/pulls/3019/comments","review_comment_url":"https://api.github.com/repos/erikras/redux-form/pulls/comments{/number}","comments_url":"https://api.github.com/repos/erikras/redux-form/issues/3019/comments","statuses_url":"https://api.github.com/repos/erikras/redux-form/statuses/d869c7e27f02826c2b4a5f5fca8f4f3b95488f33","head":{"label":"mattkrick:master","ref":"master","sha":"d869c7e27f02826c2b4a5f5fca8f4f3b95488f33","user":{"login":"mattkrick","id":5514175,"avatar_url":"https://avatars3.githubusercontent.com/u/5514175?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkrick","html_url":"https://github.com/mattkrick","followers_url":"https://api.github.com/users/mattkrick/followers","following_url":"https://api.github.com/users/mattkrick/following{/other_user}","gists_url":"https://api.github.com/users/mattkrick/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkrick/subscriptions","organizations_url":"https://api.github.com/users/mattkrick/orgs","repos_url":"https://api.github.com/users/mattkrick/repos","events_url":"https://api.github.com/users/mattkrick/events{/privacy}","received_events_url":"https://api.github.com/users/mattkrick/received_events","type":"User","site_admin":false},"repo":{"id":74037243,"name":"redux-form","full_name":"mattkrick/redux-form","owner":{"login":"mattkrick","id":5514175,"avatar_url":"https://avatars3.githubusercontent.com/u/5514175?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkrick","html_url":"https://github.com/mattkrick","followers_url":"https://api.github.com/users/mattkrick/followers","following_url":"https://api.github.com/users/mattkrick/following{/other_user}","gists_url":"https://api.github.com/users/mattkrick/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkrick/subscriptions","organizations_url":"https://api.github.com/users/mattkrick/orgs","repos_url":"https://api.github.com/users/mattkrick/repos","events_url":"https://api.github.com/users/mattkrick/events{/privacy}","received_events_url":"https://api.github.com/users/mattkrick/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mattkrick/redux-form","description":"A Higher Order Component using react-redux to keep form state in a Redux store","fork":true,"url":"https://api.github.com/repos/mattkrick/redux-form","forks_url":"https://api.github.com/repos/mattkrick/redux-form/forks","keys_url":"https://api.github.com/repos/mattkrick/redux-form/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mattkrick/redux-form/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mattkrick/redux-form/teams","hooks_url":"https://api.github.com/repos/mattkrick/redux-form/hooks","issue_events_url":"https://api.github.com/repos/mattkrick/redux-form/issues/events{/number}","events_url":"https://api.github.com/repos/mattkrick/redux-form/events","assignees_url":"https://api.github.com/repos/mattkrick/redux-form/assignees{/user}","branches_url":"https://api.github.com/repos/mattkrick/redux-form/branches{/branch}","tags_url":"https://api.github.com/repos/mattkrick/redux-form/tags","blobs_url":"https://api.github.com/repos/mattkrick/redux-form/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mattkrick/redux-form/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mattkrick/redux-form/git/refs{/sha}","trees_url":"https://api.github.com/repos/mattkrick/redux-form/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mattkrick/redux-form/statuses/{sha}","languages_url":"https://api.github.com/repos/mattkrick/redux-form/languages","stargazers_url":"https://api.github.com/repos/mattkrick/redux-form/stargazers","contributors_url":"https://api.github.com/repos/mattkrick/redux-form/contributors","subscribers_url":"https://api.github.com/repos/mattkrick/redux-form/subscribers","subscription_url":"https://api.github.com/repos/mattkrick/redux-form/subscription","commits_url":"https://api.github.com/repos/mattkrick/redux-form/commits{/sha}","git_commits_url":"https://api.github.com/repos/mattkrick/redux-form/git/commits{/sha}","comments_url":"https://api.github.com/repos/mattkrick/redux-form/comments{/number}","issue_comment_url":"https://api.github.com/repos/mattkrick/redux-form/issues/comments{/number}","contents_url":"https://api.github.com/repos/mattkrick/redux-form/contents/{+path}","compare_url":"https://api.github.com/repos/mattkrick/redux-form/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mattkrick/redux-form/merges","archive_url":"https://api.github.com/repos/mattkrick/redux-form/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mattkrick/redux-form/downloads","issues_url":"https://api.github.com/repos/mattkrick/redux-form/issues{/number}","pulls_url":"https://api.github.com/repos/mattkrick/redux-form/pulls{/number}","milestones_url":"https://api.github.com/repos/mattkrick/redux-form/milestones{/number}","notifications_url":"https://api.github.com/repos/mattkrick/redux-form/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mattkrick/redux-form/labels{/name}","releases_url":"https://api.github.com/repos/mattkrick/redux-form/releases{/id}","deployments_url":"https://api.github.com/repos/mattkrick/redux-form/deployments","created_at":"2016-11-17T14:55:37Z","updated_at":"2016-11-17T14:55:39Z","pushed_at":"2017-06-05T16:57:34Z","git_url":"git://github.com/mattkrick/redux-form.git","ssh_url":"git@github.com:mattkrick/redux-form.git","clone_url":"https://github.com/mattkrick/redux-form.git","svn_url":"https://github.com/mattkrick/redux-form","homepage":"http://redux-form.com","size":114107,"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,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"erikras:master","ref":"master","sha":"ac3357066391c935927de5cc5680ed2906214805","user":{"login":"erikras","id":4396759,"avatar_url":"https://avatars1.githubusercontent.com/u/4396759?v=3","gravatar_id":"","url":"https://api.github.com/users/erikras","html_url":"https://github.com/erikras","followers_url":"https://api.github.com/users/erikras/followers","following_url":"https://api.github.com/users/erikras/following{/other_user}","gists_url":"https://api.github.com/users/erikras/gists{/gist_id}","starred_url":"https://api.github.com/users/erikras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikras/subscriptions","organizations_url":"https://api.github.com/users/erikras/orgs","repos_url":"https://api.github.com/users/erikras/repos","events_url":"https://api.github.com/users/erikras/events{/privacy}","received_events_url":"https://api.github.com/users/erikras/received_events","type":"User","site_admin":false},"repo":{"id":40013435,"name":"redux-form","full_name":"erikras/redux-form","owner":{"login":"erikras","id":4396759,"avatar_url":"https://avatars1.githubusercontent.com/u/4396759?v=3","gravatar_id":"","url":"https://api.github.com/users/erikras","html_url":"https://github.com/erikras","followers_url":"https://api.github.com/users/erikras/followers","following_url":"https://api.github.com/users/erikras/following{/other_user}","gists_url":"https://api.github.com/users/erikras/gists{/gist_id}","starred_url":"https://api.github.com/users/erikras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikras/subscriptions","organizations_url":"https://api.github.com/users/erikras/orgs","repos_url":"https://api.github.com/users/erikras/repos","events_url":"https://api.github.com/users/erikras/events{/privacy}","received_events_url":"https://api.github.com/users/erikras/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/erikras/redux-form","description":"A Higher Order Component using react-redux to keep form state in a Redux store","fork":false,"url":"https://api.github.com/repos/erikras/redux-form","forks_url":"https://api.github.com/repos/erikras/redux-form/forks","keys_url":"https://api.github.com/repos/erikras/redux-form/keys{/key_id}","collaborators_url":"https://api.github.com/repos/erikras/redux-form/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/erikras/redux-form/teams","hooks_url":"https://api.github.com/repos/erikras/redux-form/hooks","issue_events_url":"https://api.github.com/repos/erikras/redux-form/issues/events{/number}","events_url":"https://api.github.com/repos/erikras/redux-form/events","assignees_url":"https://api.github.com/repos/erikras/redux-form/assignees{/user}","branches_url":"https://api.github.com/repos/erikras/redux-form/branches{/branch}","tags_url":"https://api.github.com/repos/erikras/redux-form/tags","blobs_url":"https://api.github.com/repos/erikras/redux-form/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/erikras/redux-form/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/erikras/redux-form/git/refs{/sha}","trees_url":"https://api.github.com/repos/erikras/redux-form/git/trees{/sha}","statuses_url":"https://api.github.com/repos/erikras/redux-form/statuses/{sha}","languages_url":"https://api.github.com/repos/erikras/redux-form/languages","stargazers_url":"https://api.github.com/repos/erikras/redux-form/stargazers","contributors_url":"https://api.github.com/repos/erikras/redux-form/contributors","subscribers_url":"https://api.github.com/repos/erikras/redux-form/subscribers","subscription_url":"https://api.github.com/repos/erikras/redux-form/subscription","commits_url":"https://api.github.com/repos/erikras/redux-form/commits{/sha}","git_commits_url":"https://api.github.com/repos/erikras/redux-form/git/commits{/sha}","comments_url":"https://api.github.com/repos/erikras/redux-form/comments{/number}","issue_comment_url":"https://api.github.com/repos/erikras/redux-form/issues/comments{/number}","contents_url":"https://api.github.com/repos/erikras/redux-form/contents/{+path}","compare_url":"https://api.github.com/repos/erikras/redux-form/compare/{base}...{head}","merges_url":"https://api.github.com/repos/erikras/redux-form/merges","archive_url":"https://api.github.com/repos/erikras/redux-form/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/erikras/redux-form/downloads","issues_url":"https://api.github.com/repos/erikras/redux-form/issues{/number}","pulls_url":"https://api.github.com/repos/erikras/redux-form/pulls{/number}","milestones_url":"https://api.github.com/repos/erikras/redux-form/milestones{/number}","notifications_url":"https://api.github.com/repos/erikras/redux-form/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/erikras/redux-form/labels{/name}","releases_url":"https://api.github.com/repos/erikras/redux-form/releases{/id}","deployments_url":"https://api.github.com/repos/erikras/redux-form/deployments","created_at":"2015-07-31T16:07:03Z","updated_at":"2017-06-05T17:02:23Z","pushed_at":"2017-06-04T19:04:30Z","git_url":"git://github.com/erikras/redux-form.git","ssh_url":"git@github.com:erikras/redux-form.git","clone_url":"https://github.com/erikras/redux-form.git","svn_url":"https://github.com/erikras/redux-form","homepage":"http://redux-form.com","size":142455,"stargazers_count":6473,"watchers_count":6473,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":800,"mirror_url":null,"open_issues_count":520,"forks":800,"open_issues":520,"watchers":6473,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/erikras/redux-form/pulls/3019"},"html":{"href":"https://github.com/erikras/redux-form/pull/3019"},"issue":{"href":"https://api.github.com/repos/erikras/redux-form/issues/3019"},"comments":{"href":"https://api.github.com/repos/erikras/redux-form/issues/3019/comments"},"review_comments":{"href":"https://api.github.com/repos/erikras/redux-form/pulls/3019/comments"},"review_comment":{"href":"https://api.github.com/repos/erikras/redux-form/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/erikras/redux-form/pulls/3019/commits"},"statuses":{"href":"https://api.github.com/repos/erikras/redux-form/statuses/d869c7e27f02826c2b4a5f5fca8f4f3b95488f33"}},"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":2,"deletions":0,"changed_files":1}}
{"actor":{"display_login":"mattkrick"}}