{"action":"opened","number":12574,"pull_request":{"url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574","id":93307592,"html_url":"https://github.com/ManageIQ/manageiq/pull/12574","diff_url":"https://github.com/ManageIQ/manageiq/pull/12574.diff","patch_url":"https://github.com/ManageIQ/manageiq/pull/12574.patch","issue_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/12574","number":12574,"state":"open","locked":false,"title":"Custom supports methods shall not crash UI","user":{"login":"isimluk","id":6666052,"avatar_url":"https://avatars.githubusercontent.com/u/6666052?v=3","gravatar_id":"","url":"https://api.github.com/users/isimluk","html_url":"https://github.com/isimluk","followers_url":"https://api.github.com/users/isimluk/followers","following_url":"https://api.github.com/users/isimluk/following{/other_user}","gists_url":"https://api.github.com/users/isimluk/gists{/gist_id}","starred_url":"https://api.github.com/users/isimluk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isimluk/subscriptions","organizations_url":"https://api.github.com/users/isimluk/orgs","repos_url":"https://api.github.com/users/isimluk/repos","events_url":"https://api.github.com/users/isimluk/events{/privacy}","received_events_url":"https://api.github.com/users/isimluk/received_events","type":"User","site_admin":false},"body":"`SupportsFeatureMixin` is used in many places in the application. For dynamic features CustomFeatureMixin allows blocks like the following.\r\n```\r\n    supports :x do\r\n        provider.api_version.abilities.include? :x\r\n    end\r\n```\r\nThe problem occurs when an exception happens in the given block. As it does in https://bugzilla.redhat.com/show_bug.cgi?id=1394021\r\n\r\nThe supports methods are used in the UI and they are not expected to raise exceptions. The above mentioned bug crashes the vm details page.\r\n\r\nGiven our direction wrt code decentralization and pluggable features, I am afraid, our chances to keep custom supports blocks sane are deteriorating. That's why I advise for rescue.\r\n\r\n@miq-bot add_label bug, ui, euwe/yes, blocker\r\n","created_at":"2016-11-11T10:07:58Z","updated_at":"2016-11-11T10:07:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e41cd4818caa1af6d69ae76b5f78a72ee06224d3","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574/commits","review_comments_url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574/comments","review_comment_url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/12574/comments","statuses_url":"https://api.github.com/repos/ManageIQ/manageiq/statuses/0ac3b1517ddb801b9e8361ff3826da2082495ded","head":{"label":"isimluk:rhbz#1394021","ref":"rhbz#1394021","sha":"0ac3b1517ddb801b9e8361ff3826da2082495ded","user":{"login":"isimluk","id":6666052,"avatar_url":"https://avatars.githubusercontent.com/u/6666052?v=3","gravatar_id":"","url":"https://api.github.com/users/isimluk","html_url":"https://github.com/isimluk","followers_url":"https://api.github.com/users/isimluk/followers","following_url":"https://api.github.com/users/isimluk/following{/other_user}","gists_url":"https://api.github.com/users/isimluk/gists{/gist_id}","starred_url":"https://api.github.com/users/isimluk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isimluk/subscriptions","organizations_url":"https://api.github.com/users/isimluk/orgs","repos_url":"https://api.github.com/users/isimluk/repos","events_url":"https://api.github.com/users/isimluk/events{/privacy}","received_events_url":"https://api.github.com/users/isimluk/received_events","type":"User","site_admin":false},"repo":{"id":52110040,"name":"manageiq","full_name":"isimluk/manageiq","owner":{"login":"isimluk","id":6666052,"avatar_url":"https://avatars.githubusercontent.com/u/6666052?v=3","gravatar_id":"","url":"https://api.github.com/users/isimluk","html_url":"https://github.com/isimluk","followers_url":"https://api.github.com/users/isimluk/followers","following_url":"https://api.github.com/users/isimluk/following{/other_user}","gists_url":"https://api.github.com/users/isimluk/gists{/gist_id}","starred_url":"https://api.github.com/users/isimluk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isimluk/subscriptions","organizations_url":"https://api.github.com/users/isimluk/orgs","repos_url":"https://api.github.com/users/isimluk/repos","events_url":"https://api.github.com/users/isimluk/events{/privacy}","received_events_url":"https://api.github.com/users/isimluk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/isimluk/manageiq","description":"ManageIQ Cloud Management Platform","fork":true,"url":"https://api.github.com/repos/isimluk/manageiq","forks_url":"https://api.github.com/repos/isimluk/manageiq/forks","keys_url":"https://api.github.com/repos/isimluk/manageiq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/isimluk/manageiq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/isimluk/manageiq/teams","hooks_url":"https://api.github.com/repos/isimluk/manageiq/hooks","issue_events_url":"https://api.github.com/repos/isimluk/manageiq/issues/events{/number}","events_url":"https://api.github.com/repos/isimluk/manageiq/events","assignees_url":"https://api.github.com/repos/isimluk/manageiq/assignees{/user}","branches_url":"https://api.github.com/repos/isimluk/manageiq/branches{/branch}","tags_url":"https://api.github.com/repos/isimluk/manageiq/tags","blobs_url":"https://api.github.com/repos/isimluk/manageiq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/isimluk/manageiq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/isimluk/manageiq/git/refs{/sha}","trees_url":"https://api.github.com/repos/isimluk/manageiq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/isimluk/manageiq/statuses/{sha}","languages_url":"https://api.github.com/repos/isimluk/manageiq/languages","stargazers_url":"https://api.github.com/repos/isimluk/manageiq/stargazers","contributors_url":"https://api.github.com/repos/isimluk/manageiq/contributors","subscribers_url":"https://api.github.com/repos/isimluk/manageiq/subscribers","subscription_url":"https://api.github.com/repos/isimluk/manageiq/subscription","commits_url":"https://api.github.com/repos/isimluk/manageiq/commits{/sha}","git_commits_url":"https://api.github.com/repos/isimluk/manageiq/git/commits{/sha}","comments_url":"https://api.github.com/repos/isimluk/manageiq/comments{/number}","issue_comment_url":"https://api.github.com/repos/isimluk/manageiq/issues/comments{/number}","contents_url":"https://api.github.com/repos/isimluk/manageiq/contents/{+path}","compare_url":"https://api.github.com/repos/isimluk/manageiq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/isimluk/manageiq/merges","archive_url":"https://api.github.com/repos/isimluk/manageiq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/isimluk/manageiq/downloads","issues_url":"https://api.github.com/repos/isimluk/manageiq/issues{/number}","pulls_url":"https://api.github.com/repos/isimluk/manageiq/pulls{/number}","milestones_url":"https://api.github.com/repos/isimluk/manageiq/milestones{/number}","notifications_url":"https://api.github.com/repos/isimluk/manageiq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/isimluk/manageiq/labels{/name}","releases_url":"https://api.github.com/repos/isimluk/manageiq/releases{/id}","deployments_url":"https://api.github.com/repos/isimluk/manageiq/deployments","created_at":"2016-02-19T19:09:23Z","updated_at":"2016-02-19T19:09:40Z","pushed_at":"2016-11-11T10:05:16Z","git_url":"git://github.com/isimluk/manageiq.git","ssh_url":"git@github.com:isimluk/manageiq.git","clone_url":"https://github.com/isimluk/manageiq.git","svn_url":"https://github.com/isimluk/manageiq","homepage":"manageiq.org","size":167134,"stargazers_count":0,"watchers_count":0,"language":"Ruby","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":"ManageIQ:master","ref":"master","sha":"c5a7176b4c924e5d0ea727b06f1f9d00c0de52db","user":{"login":"ManageIQ","id":1125575,"avatar_url":"https://avatars.githubusercontent.com/u/1125575?v=3","gravatar_id":"","url":"https://api.github.com/users/ManageIQ","html_url":"https://github.com/ManageIQ","followers_url":"https://api.github.com/users/ManageIQ/followers","following_url":"https://api.github.com/users/ManageIQ/following{/other_user}","gists_url":"https://api.github.com/users/ManageIQ/gists{/gist_id}","starred_url":"https://api.github.com/users/ManageIQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ManageIQ/subscriptions","organizations_url":"https://api.github.com/users/ManageIQ/orgs","repos_url":"https://api.github.com/users/ManageIQ/repos","events_url":"https://api.github.com/users/ManageIQ/events{/privacy}","received_events_url":"https://api.github.com/users/ManageIQ/received_events","type":"Organization","site_admin":false},"repo":{"id":20789757,"name":"manageiq","full_name":"ManageIQ/manageiq","owner":{"login":"ManageIQ","id":1125575,"avatar_url":"https://avatars.githubusercontent.com/u/1125575?v=3","gravatar_id":"","url":"https://api.github.com/users/ManageIQ","html_url":"https://github.com/ManageIQ","followers_url":"https://api.github.com/users/ManageIQ/followers","following_url":"https://api.github.com/users/ManageIQ/following{/other_user}","gists_url":"https://api.github.com/users/ManageIQ/gists{/gist_id}","starred_url":"https://api.github.com/users/ManageIQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ManageIQ/subscriptions","organizations_url":"https://api.github.com/users/ManageIQ/orgs","repos_url":"https://api.github.com/users/ManageIQ/repos","events_url":"https://api.github.com/users/ManageIQ/events{/privacy}","received_events_url":"https://api.github.com/users/ManageIQ/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ManageIQ/manageiq","description":"ManageIQ Open-Source Management Platform","fork":false,"url":"https://api.github.com/repos/ManageIQ/manageiq","forks_url":"https://api.github.com/repos/ManageIQ/manageiq/forks","keys_url":"https://api.github.com/repos/ManageIQ/manageiq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ManageIQ/manageiq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ManageIQ/manageiq/teams","hooks_url":"https://api.github.com/repos/ManageIQ/manageiq/hooks","issue_events_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/events{/number}","events_url":"https://api.github.com/repos/ManageIQ/manageiq/events","assignees_url":"https://api.github.com/repos/ManageIQ/manageiq/assignees{/user}","branches_url":"https://api.github.com/repos/ManageIQ/manageiq/branches{/branch}","tags_url":"https://api.github.com/repos/ManageIQ/manageiq/tags","blobs_url":"https://api.github.com/repos/ManageIQ/manageiq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ManageIQ/manageiq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ManageIQ/manageiq/git/refs{/sha}","trees_url":"https://api.github.com/repos/ManageIQ/manageiq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ManageIQ/manageiq/statuses/{sha}","languages_url":"https://api.github.com/repos/ManageIQ/manageiq/languages","stargazers_url":"https://api.github.com/repos/ManageIQ/manageiq/stargazers","contributors_url":"https://api.github.com/repos/ManageIQ/manageiq/contributors","subscribers_url":"https://api.github.com/repos/ManageIQ/manageiq/subscribers","subscription_url":"https://api.github.com/repos/ManageIQ/manageiq/subscription","commits_url":"https://api.github.com/repos/ManageIQ/manageiq/commits{/sha}","git_commits_url":"https://api.github.com/repos/ManageIQ/manageiq/git/commits{/sha}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/comments{/number}","issue_comment_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/comments{/number}","contents_url":"https://api.github.com/repos/ManageIQ/manageiq/contents/{+path}","compare_url":"https://api.github.com/repos/ManageIQ/manageiq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ManageIQ/manageiq/merges","archive_url":"https://api.github.com/repos/ManageIQ/manageiq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ManageIQ/manageiq/downloads","issues_url":"https://api.github.com/repos/ManageIQ/manageiq/issues{/number}","pulls_url":"https://api.github.com/repos/ManageIQ/manageiq/pulls{/number}","milestones_url":"https://api.github.com/repos/ManageIQ/manageiq/milestones{/number}","notifications_url":"https://api.github.com/repos/ManageIQ/manageiq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/labels{/name}","releases_url":"https://api.github.com/repos/ManageIQ/manageiq/releases{/id}","deployments_url":"https://api.github.com/repos/ManageIQ/manageiq/deployments","created_at":"2014-06-13T02:31:26Z","updated_at":"2016-11-10T23:23:54Z","pushed_at":"2016-11-11T10:07:58Z","git_url":"git://github.com/ManageIQ/manageiq.git","ssh_url":"git@github.com:ManageIQ/manageiq.git","clone_url":"https://github.com/ManageIQ/manageiq.git","svn_url":"https://github.com/ManageIQ/manageiq","homepage":"manageiq.org","size":220554,"stargazers_count":349,"watchers_count":349,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":378,"mirror_url":null,"open_issues_count":891,"forks":378,"open_issues":891,"watchers":349,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574"},"html":{"href":"https://github.com/ManageIQ/manageiq/pull/12574"},"issue":{"href":"https://api.github.com/repos/ManageIQ/manageiq/issues/12574"},"comments":{"href":"https://api.github.com/repos/ManageIQ/manageiq/issues/12574/comments"},"review_comments":{"href":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574/comments"},"review_comment":{"href":"https://api.github.com/repos/ManageIQ/manageiq/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ManageIQ/manageiq/pulls/12574/commits"},"statuses":{"href":"https://api.github.com/repos/ManageIQ/manageiq/statuses/0ac3b1517ddb801b9e8361ff3826da2082495ded"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":6,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"isimluk"}}