{"action":"created","comment":{"url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/comments/153769165","pull_request_review_id":79824162,"id":153769165,"diff_hunk":"@@ -9,6 +9,10 @@\n \t\tfont-weight: bold !important;\n \t}\n \n+\t& .section:not(.section-collapsed) {\n+\t\tinline-size: fit-content;","path":"packages/rocketchat-authorization/client/stylesheets/permissions.css","position":5,"original_position":5,"commit_id":"f007231eef24a58e92c7eb5b4cc28a9eab5fc0dc","original_commit_id":"f007231eef24a58e92c7eb5b4cc28a9eab5fc0dc","user":{"login":"mrsimpson","id":17176678,"avatar_url":"https://avatars3.githubusercontent.com/u/17176678?v=4","gravatar_id":"","url":"https://api.github.com/users/mrsimpson","html_url":"https://github.com/mrsimpson","followers_url":"https://api.github.com/users/mrsimpson/followers","following_url":"https://api.github.com/users/mrsimpson/following{/other_user}","gists_url":"https://api.github.com/users/mrsimpson/gists{/gist_id}","starred_url":"https://api.github.com/users/mrsimpson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrsimpson/subscriptions","organizations_url":"https://api.github.com/users/mrsimpson/orgs","repos_url":"https://api.github.com/users/mrsimpson/repos","events_url":"https://api.github.com/users/mrsimpson/events{/privacy}","received_events_url":"https://api.github.com/users/mrsimpson/received_events","type":"User","site_admin":false},"body":"This is the hack: I didn't get the section headline to take the full available width otherwise.\r\nThere's surely a better (all-browser-compatible) solution to that.","created_at":"2017-11-29T12:07:25Z","updated_at":"2017-11-29T12:20:34Z","html_url":"https://github.com/RocketChat/Rocket.Chat/pull/8942#discussion_r153769165","pull_request_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/comments/153769165"},"html":{"href":"https://github.com/RocketChat/Rocket.Chat/pull/8942#discussion_r153769165"},"pull_request":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942"}}},"pull_request":{"url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942","id":154592951,"html_url":"https://github.com/RocketChat/Rocket.Chat/pull/8942","diff_url":"https://github.com/RocketChat/Rocket.Chat/pull/8942.diff","patch_url":"https://github.com/RocketChat/Rocket.Chat/pull/8942.patch","issue_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/8942","number":8942,"state":"open","locked":false,"title":"[NEW] #8771 - fine granular settings permissions (WIP)","user":{"login":"mrsimpson","id":17176678,"avatar_url":"https://avatars3.githubusercontent.com/u/17176678?v=4","gravatar_id":"","url":"https://api.github.com/users/mrsimpson","html_url":"https://github.com/mrsimpson","followers_url":"https://api.github.com/users/mrsimpson/followers","following_url":"https://api.github.com/users/mrsimpson/following{/other_user}","gists_url":"https://api.github.com/users/mrsimpson/gists{/gist_id}","starred_url":"https://api.github.com/users/mrsimpson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrsimpson/subscriptions","organizations_url":"https://api.github.com/users/mrsimpson/orgs","repos_url":"https://api.github.com/users/mrsimpson/repos","events_url":"https://api.github.com/users/mrsimpson/events{/privacy}","received_events_url":"https://api.github.com/users/mrsimpson/received_events","type":"User","site_admin":false},"body":"Closes #8771\r\n\r\n@RocketChat/core This PR adds the ability to allow a role to change only dedicated settings.\r\nThis is necessary in order to e. g. allow a user to change the colors of his Rocket.Chat without compromising critical settings such as LDAP-connectivity.\r\n\r\nThough the actual purpose is already fulfilled, this PR has to be considered WIP due to the limitations mentioned below.\r\n\r\n**@Developers (particularly frontend-developers): I need assistance to fix the \"final\" (mostly UI) bugs**\r\n\r\n## Limitations (reason for WIP)\r\nThe PR is currently not 100% ready, I need some help to get that done.\r\n- [x] The permissions for the settings are being created on startup. This means that packages which are loaded later than rocketchat:authorization and add own settings only get the ability to create permissions for them after the next restart of the server. A hook implementation on addSettings is necessary. _Remark: adding the permission within the `Settings`-Model is not possible due to the auth-package depending on `rocketchat:lib` where the settings are located_.\r\n- [x] The effect of the new setting-permissions (the admin flex-bar-content) is only effective after the user logging out and in again. This seems to be an effect of the `CachedSettings`. This is only a display problem though, changing a setting based on obsolete permissinos will be prevented.\r\n- [x] When adding a setting-permission to a role, this permission also appears in the list of general permissions. This is only a display issue as well\r\n- [ ] In general, the permissions-UI is not beautiful. This is due to the huge width of the permissions table. Any herlp on that is appreciated.\r\n- [ ] There's a CSS-hack which does not work in all browsers to make the header take the full width. There has to be another option, but I'm not a CSS-native.\r\n\r\n## What works\r\n- [x] Permissions for each and every setting is created automatically\r\n- [x] The permissions-UI is extended to visualize and manage all setting-permissions just like normal permissions.\r\n- [x] The settings-UI in the admin-overview displays the selected settings for the role\r\n- [x] setting-based permissions are respected/validated when changing a setting\r\n\r\n## Impressions\r\n\r\nConfiguring the permissions\r\n\r\n<img width=\"1403\" alt=\"setting-permissions\" src=\"https://user-images.githubusercontent.com/17176678/33220595-c911963a-d149-11e7-8507-b6c71d6d0ddb.png\">\r\n\r\nThere is one explicit permission which makes the whole set applicable.\r\nWhether this is a good idea, I am not convinced myself. The permission could be determined.\r\n\r\n<img width=\"712\" alt=\"selected-settings\" src=\"https://user-images.githubusercontent.com/17176678/33220594-c8f81cd2-d149-11e7-8e37-1f12032e1749.png\">\r\n\r\nEffect\r\n\r\n<img width=\"884\" alt=\"effect reduced settings\" src=\"https://user-images.githubusercontent.com/17176678/33220846-cb52dab0-d14b-11e7-9435-72771eedfc35.png\">\r\n","created_at":"2017-11-24T18:01:46Z","updated_at":"2017-11-29T12:20:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d4d2473f17c360263cb71a67afa423eb8481f4e3","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942/commits","review_comments_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942/comments","review_comment_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/8942/comments","statuses_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/statuses/f007231eef24a58e92c7eb5b4cc28a9eab5fc0dc","head":{"label":"assistify:core/#8771-fine-granular-settings-permissions","ref":"core/#8771-fine-granular-settings-permissions","sha":"f007231eef24a58e92c7eb5b4cc28a9eab5fc0dc","user":{"login":"assistify","id":31436100,"avatar_url":"https://avatars0.githubusercontent.com/u/31436100?v=4","gravatar_id":"","url":"https://api.github.com/users/assistify","html_url":"https://github.com/assistify","followers_url":"https://api.github.com/users/assistify/followers","following_url":"https://api.github.com/users/assistify/following{/other_user}","gists_url":"https://api.github.com/users/assistify/gists{/gist_id}","starred_url":"https://api.github.com/users/assistify/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/assistify/subscriptions","organizations_url":"https://api.github.com/users/assistify/orgs","repos_url":"https://api.github.com/users/assistify/repos","events_url":"https://api.github.com/users/assistify/events{/privacy}","received_events_url":"https://api.github.com/users/assistify/received_events","type":"Organization","site_admin":false},"repo":{"id":101793438,"name":"Rocket.Chat","full_name":"assistify/Rocket.Chat","owner":{"login":"assistify","id":31436100,"avatar_url":"https://avatars0.githubusercontent.com/u/31436100?v=4","gravatar_id":"","url":"https://api.github.com/users/assistify","html_url":"https://github.com/assistify","followers_url":"https://api.github.com/users/assistify/followers","following_url":"https://api.github.com/users/assistify/following{/other_user}","gists_url":"https://api.github.com/users/assistify/gists{/gist_id}","starred_url":"https://api.github.com/users/assistify/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/assistify/subscriptions","organizations_url":"https://api.github.com/users/assistify/orgs","repos_url":"https://api.github.com/users/assistify/repos","events_url":"https://api.github.com/users/assistify/events{/privacy}","received_events_url":"https://api.github.com/users/assistify/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/assistify/Rocket.Chat","description":"Have your own Slack like online chat, built with Meteor.","fork":true,"url":"https://api.github.com/repos/assistify/Rocket.Chat","forks_url":"https://api.github.com/repos/assistify/Rocket.Chat/forks","keys_url":"https://api.github.com/repos/assistify/Rocket.Chat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/assistify/Rocket.Chat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/assistify/Rocket.Chat/teams","hooks_url":"https://api.github.com/repos/assistify/Rocket.Chat/hooks","issue_events_url":"https://api.github.com/repos/assistify/Rocket.Chat/issues/events{/number}","events_url":"https://api.github.com/repos/assistify/Rocket.Chat/events","assignees_url":"https://api.github.com/repos/assistify/Rocket.Chat/assignees{/user}","branches_url":"https://api.github.com/repos/assistify/Rocket.Chat/branches{/branch}","tags_url":"https://api.github.com/repos/assistify/Rocket.Chat/tags","blobs_url":"https://api.github.com/repos/assistify/Rocket.Chat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/assistify/Rocket.Chat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/assistify/Rocket.Chat/git/refs{/sha}","trees_url":"https://api.github.com/repos/assistify/Rocket.Chat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/assistify/Rocket.Chat/statuses/{sha}","languages_url":"https://api.github.com/repos/assistify/Rocket.Chat/languages","stargazers_url":"https://api.github.com/repos/assistify/Rocket.Chat/stargazers","contributors_url":"https://api.github.com/repos/assistify/Rocket.Chat/contributors","subscribers_url":"https://api.github.com/repos/assistify/Rocket.Chat/subscribers","subscription_url":"https://api.github.com/repos/assistify/Rocket.Chat/subscription","commits_url":"https://api.github.com/repos/assistify/Rocket.Chat/commits{/sha}","git_commits_url":"https://api.github.com/repos/assistify/Rocket.Chat/git/commits{/sha}","comments_url":"https://api.github.com/repos/assistify/Rocket.Chat/comments{/number}","issue_comment_url":"https://api.github.com/repos/assistify/Rocket.Chat/issues/comments{/number}","contents_url":"https://api.github.com/repos/assistify/Rocket.Chat/contents/{+path}","compare_url":"https://api.github.com/repos/assistify/Rocket.Chat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/assistify/Rocket.Chat/merges","archive_url":"https://api.github.com/repos/assistify/Rocket.Chat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/assistify/Rocket.Chat/downloads","issues_url":"https://api.github.com/repos/assistify/Rocket.Chat/issues{/number}","pulls_url":"https://api.github.com/repos/assistify/Rocket.Chat/pulls{/number}","milestones_url":"https://api.github.com/repos/assistify/Rocket.Chat/milestones{/number}","notifications_url":"https://api.github.com/repos/assistify/Rocket.Chat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/assistify/Rocket.Chat/labels{/name}","releases_url":"https://api.github.com/repos/assistify/Rocket.Chat/releases{/id}","deployments_url":"https://api.github.com/repos/assistify/Rocket.Chat/deployments","created_at":"2017-08-29T18:29:26Z","updated_at":"2017-11-15T12:59:21Z","pushed_at":"2017-11-29T11:49:50Z","git_url":"git://github.com/assistify/Rocket.Chat.git","ssh_url":"git@github.com:assistify/Rocket.Chat.git","clone_url":"https://github.com/assistify/Rocket.Chat.git","svn_url":"https://github.com/assistify/Rocket.Chat","homepage":"https://rocket.chat/","size":55556,"stargazers_count":7,"watchers_count":7,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":90,"license":null,"forks":2,"open_issues":90,"watchers":7,"default_branch":"develop"}},"base":{"label":"RocketChat:develop","ref":"develop","sha":"62ef697ed4259baa6cc71c55dfadbfb33832c4b5","user":{"login":"RocketChat","id":12508788,"avatar_url":"https://avatars1.githubusercontent.com/u/12508788?v=4","gravatar_id":"","url":"https://api.github.com/users/RocketChat","html_url":"https://github.com/RocketChat","followers_url":"https://api.github.com/users/RocketChat/followers","following_url":"https://api.github.com/users/RocketChat/following{/other_user}","gists_url":"https://api.github.com/users/RocketChat/gists{/gist_id}","starred_url":"https://api.github.com/users/RocketChat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RocketChat/subscriptions","organizations_url":"https://api.github.com/users/RocketChat/orgs","repos_url":"https://api.github.com/users/RocketChat/repos","events_url":"https://api.github.com/users/RocketChat/events{/privacy}","received_events_url":"https://api.github.com/users/RocketChat/received_events","type":"Organization","site_admin":false},"repo":{"id":35866694,"name":"Rocket.Chat","full_name":"RocketChat/Rocket.Chat","owner":{"login":"RocketChat","id":12508788,"avatar_url":"https://avatars1.githubusercontent.com/u/12508788?v=4","gravatar_id":"","url":"https://api.github.com/users/RocketChat","html_url":"https://github.com/RocketChat","followers_url":"https://api.github.com/users/RocketChat/followers","following_url":"https://api.github.com/users/RocketChat/following{/other_user}","gists_url":"https://api.github.com/users/RocketChat/gists{/gist_id}","starred_url":"https://api.github.com/users/RocketChat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RocketChat/subscriptions","organizations_url":"https://api.github.com/users/RocketChat/orgs","repos_url":"https://api.github.com/users/RocketChat/repos","events_url":"https://api.github.com/users/RocketChat/events{/privacy}","received_events_url":"https://api.github.com/users/RocketChat/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RocketChat/Rocket.Chat","description":"Have your own Slack like online chat, built with Meteor.","fork":false,"url":"https://api.github.com/repos/RocketChat/Rocket.Chat","forks_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/forks","keys_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/teams","hooks_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/hooks","issue_events_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/events{/number}","events_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/events","assignees_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/assignees{/user}","branches_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/branches{/branch}","tags_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/tags","blobs_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/git/refs{/sha}","trees_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/statuses/{sha}","languages_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/languages","stargazers_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/stargazers","contributors_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/contributors","subscribers_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/subscribers","subscription_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/subscription","commits_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/commits{/sha}","git_commits_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/git/commits{/sha}","comments_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/comments{/number}","issue_comment_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/comments{/number}","contents_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/contents/{+path}","compare_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/merges","archive_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/downloads","issues_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues{/number}","pulls_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls{/number}","milestones_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/milestones{/number}","notifications_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/labels{/name}","releases_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/releases{/id}","deployments_url":"https://api.github.com/repos/RocketChat/Rocket.Chat/deployments","created_at":"2015-05-19T07:36:09Z","updated_at":"2017-11-29T10:27:22Z","pushed_at":"2017-11-29T12:14:11Z","git_url":"git://github.com/RocketChat/Rocket.Chat.git","ssh_url":"git@github.com:RocketChat/Rocket.Chat.git","clone_url":"https://github.com/RocketChat/Rocket.Chat.git","svn_url":"https://github.com/RocketChat/Rocket.Chat","homepage":"https://rocket.chat/","size":55895,"stargazers_count":15118,"watchers_count":15118,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3210,"mirror_url":null,"archived":false,"open_issues_count":2255,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":3210,"open_issues":2255,"watchers":15118,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942"},"html":{"href":"https://github.com/RocketChat/Rocket.Chat/pull/8942"},"issue":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/8942"},"comments":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/issues/8942/comments"},"review_comments":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942/comments"},"review_comment":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/pulls/8942/commits"},"statuses":{"href":"https://api.github.com/repos/RocketChat/Rocket.Chat/statuses/f007231eef24a58e92c7eb5b4cc28a9eab5fc0dc"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mrsimpson"}}