{"action":"created","issue":{"url":"https://api.github.com/repos/DALnet/bahamut/issues/97","repository_url":"https://api.github.com/repos/DALnet/bahamut","labels_url":"https://api.github.com/repos/DALnet/bahamut/issues/97/labels{/name}","comments_url":"https://api.github.com/repos/DALnet/bahamut/issues/97/comments","events_url":"https://api.github.com/repos/DALnet/bahamut/issues/97/events","html_url":"https://github.com/DALnet/bahamut/pull/97","id":390481023,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM4MjM3OTE0","number":97,"title":"Add half-ops support","user":{"login":"kobishmueli","id":3537952,"node_id":"MDQ6VXNlcjM1Mzc5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3537952?v=4","gravatar_id":"","url":"https://api.github.com/users/kobishmueli","html_url":"https://github.com/kobishmueli","followers_url":"https://api.github.com/users/kobishmueli/followers","following_url":"https://api.github.com/users/kobishmueli/following{/other_user}","gists_url":"https://api.github.com/users/kobishmueli/gists{/gist_id}","starred_url":"https://api.github.com/users/kobishmueli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kobishmueli/subscriptions","organizations_url":"https://api.github.com/users/kobishmueli/orgs","repos_url":"https://api.github.com/users/kobishmueli/repos","events_url":"https://api.github.com/users/kobishmueli/events{/privacy}","received_events_url":"https://api.github.com/users/kobishmueli/received_events","type":"User","site_admin":false},"labels":[{"id":1714604,"node_id":"MDU6TGFiZWwxNzE0NjA0","url":"https://api.github.com/repos/DALnet/bahamut/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"eaescob","id":593225,"node_id":"MDQ6VXNlcjU5MzIyNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/593225?v=4","gravatar_id":"","url":"https://api.github.com/users/eaescob","html_url":"https://github.com/eaescob","followers_url":"https://api.github.com/users/eaescob/followers","following_url":"https://api.github.com/users/eaescob/following{/other_user}","gists_url":"https://api.github.com/users/eaescob/gists{/gist_id}","starred_url":"https://api.github.com/users/eaescob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eaescob/subscriptions","organizations_url":"https://api.github.com/users/eaescob/orgs","repos_url":"https://api.github.com/users/eaescob/repos","events_url":"https://api.github.com/users/eaescob/events{/privacy}","received_events_url":"https://api.github.com/users/eaescob/received_events","type":"User","site_admin":false},"assignees":[{"login":"eaescob","id":593225,"node_id":"MDQ6VXNlcjU5MzIyNQ==","avatar_url":"https://avatars1.githubusercontent.com/u/593225?v=4","gravatar_id":"","url":"https://api.github.com/users/eaescob","html_url":"https://github.com/eaescob","followers_url":"https://api.github.com/users/eaescob/followers","following_url":"https://api.github.com/users/eaescob/following{/other_user}","gists_url":"https://api.github.com/users/eaescob/gists{/gist_id}","starred_url":"https://api.github.com/users/eaescob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eaescob/subscriptions","organizations_url":"https://api.github.com/users/eaescob/orgs","repos_url":"https://api.github.com/users/eaescob/repos","events_url":"https://api.github.com/users/eaescob/events{/privacy}","received_events_url":"https://api.github.com/users/eaescob/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-12-13T01:34:17Z","updated_at":"2018-12-27T21:53:35Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/DALnet/bahamut/pulls/97","html_url":"https://github.com/DALnet/bahamut/pull/97","diff_url":"https://github.com/DALnet/bahamut/pull/97.diff","patch_url":"https://github.com/DALnet/bahamut/pull/97.patch"},"body":"Half-ops will be able to (per #84):\r\n- Kick users who aren't opped (+o) or voiced (+v)\r\n- Change the channel topic even if +t is set (unless there is a topiclock but this will be enforced by services)\r\n\r\nThis feature can be enabled/disabled with the USE_HALFOPS define (enabled by default) but even when enabled, each channel can decide if they want to use this feature or not.\r\n\r\n-Kobi."},"comment":{"url":"https://api.github.com/repos/DALnet/bahamut/issues/comments/450237671","html_url":"https://github.com/DALnet/bahamut/pull/97#issuecomment-450237671","issue_url":"https://api.github.com/repos/DALnet/bahamut/issues/97","id":450237671,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MDIzNzY3MQ==","user":{"login":"kobishmueli","id":3537952,"node_id":"MDQ6VXNlcjM1Mzc5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3537952?v=4","gravatar_id":"","url":"https://api.github.com/users/kobishmueli","html_url":"https://github.com/kobishmueli","followers_url":"https://api.github.com/users/kobishmueli/followers","following_url":"https://api.github.com/users/kobishmueli/following{/other_user}","gists_url":"https://api.github.com/users/kobishmueli/gists{/gist_id}","starred_url":"https://api.github.com/users/kobishmueli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kobishmueli/subscriptions","organizations_url":"https://api.github.com/users/kobishmueli/orgs","repos_url":"https://api.github.com/users/kobishmueli/repos","events_url":"https://api.github.com/users/kobishmueli/events{/privacy}","received_events_url":"https://api.github.com/users/kobishmueli/received_events","type":"User","site_admin":false},"created_at":"2018-12-27T21:53:35Z","updated_at":"2018-12-27T21:53:35Z","author_association":"MEMBER","body":">           I'll merge. This will not be available until release anyways, so we can control it that way. What would the behavior be if CMODE +h is attempted on a client server that supports it that is connected to a hub that does not?\r\n\r\nSorry, just saw this... the following can happen in theory:\r\n1. Desync: users on other servers won't see the user is half-opped\r\n2. Desync: users on other servers will see a normal user kicking other users (half-ops will still be able to kick remote users because checks are done locally).\r\n3. Desync: users might be able to cause desync the banlist by doing things /mode #channel +hb nick nick!user@host\r\n4. Services' halfopguard won't work so any op will be able to half-op any user.\r\n\r\nWhen thinking about it more, we should probably just add another #define like we did with the CIDR bans. I'll add it later today.\r\n\r\n-Kobi."}}
{"actor":{"display_login":"kobishmueli"}}