{"action":"created","issue":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/10700","repository_url":"https://api.github.com/repos/joomla/joomla-cms","labels_url":"https://api.github.com/repos/joomla/joomla-cms/issues/10700/labels{/name}","comments_url":"https://api.github.com/repos/joomla/joomla-cms/issues/10700/comments","events_url":"https://api.github.com/repos/joomla/joomla-cms/issues/10700/events","html_url":"https://github.com/joomla/joomla-cms/issues/10700","id":157800351,"number":10700,"title":"com_ajax needs to be protected or dependencies refactored","user":{"login":"mbabker","id":368545,"avatar_url":"https://avatars.githubusercontent.com/u/368545?v=3","gravatar_id":"","url":"https://api.github.com/users/mbabker","html_url":"https://github.com/mbabker","followers_url":"https://api.github.com/users/mbabker/followers","following_url":"https://api.github.com/users/mbabker/following{/other_user}","gists_url":"https://api.github.com/users/mbabker/gists{/gist_id}","starred_url":"https://api.github.com/users/mbabker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbabker/subscriptions","organizations_url":"https://api.github.com/users/mbabker/orgs","repos_url":"https://api.github.com/users/mbabker/repos","events_url":"https://api.github.com/users/mbabker/events{/privacy}","received_events_url":"https://api.github.com/users/mbabker/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-06-01T00:38:20Z","updated_at":"2016-06-01T05:02:29Z","closed_at":"2016-06-01T05:02:28Z","body":"#### Steps to reproduce the issue\r\n\r\n`JHtmlBehavior::keepalive()` and the stats system plugin have dependencies to com_ajax to utilize them to perform their functions without any checks as to whether the component is even enabled.  It'd be equally bad if someone uninstalled it.  Code depending on this component should check for its existence as an optional extension and gracefully fail if it is disabled/uninstalled or implement a fallback solution.\r\n\r\n#### Expected result\r\n\r\nWhen com_ajax is disabled or uninstalled, code with dependencies to it should either gracefully fail with a clear warning or implement an alternative way to complete their actions.\r\n\r\n#### Actual result\r\n\r\nIf disabled, the stats plugin completely fails with no noticeable error to the user (the only indication of trouble is in the browser's dev console when you see the 404 for its com_ajax call).  Likewise, if disabled, `JHtmlBehavior::keepalive()` should not use com_ajax for its AJAX call.\r\n\r\n#### Additional comments\r\n\r\nAs a non-protected extension, com_ajax can be freely uninstalled and disabled.  Prior to 3.5, I had been disabling com_ajax on sites as it wasn't in use (as I do with all sites and core extensions that aren't in use on those sites).  By protecting the extension, it prevents uninstallation or disabling it in the UI."},"comment":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/comments/222893325","html_url":"https://github.com/joomla/joomla-cms/issues/10700#issuecomment-222893325","issue_url":"https://api.github.com/repos/joomla/joomla-cms/issues/10700","id":222893325,"user":{"login":"zero-24","id":2596554,"avatar_url":"https://avatars.githubusercontent.com/u/2596554?v=3","gravatar_id":"","url":"https://api.github.com/users/zero-24","html_url":"https://github.com/zero-24","followers_url":"https://api.github.com/users/zero-24/followers","following_url":"https://api.github.com/users/zero-24/following{/other_user}","gists_url":"https://api.github.com/users/zero-24/gists{/gist_id}","starred_url":"https://api.github.com/users/zero-24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zero-24/subscriptions","organizations_url":"https://api.github.com/users/zero-24/orgs","repos_url":"https://api.github.com/users/zero-24/repos","events_url":"https://api.github.com/users/zero-24/events{/privacy}","received_events_url":"https://api.github.com/users/zero-24/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T05:02:29Z","updated_at":"2016-06-01T05:02:29Z","body":"Closing as we have a PR<hr /><sub>This comment was created with the <a href=\"https://github.com/joomla/jissues\">J!Tracker Application</a> at <a href=\"https://issues.joomla.org/tracker/joomla-cms/10700\">issues.joomla.org/joomla-cms/10700</a>.</sub>"}}
{"actor":{"display_login":"zero-24"}}