{"action":"created","issue":{"url":"https://api.github.com/repos/WordPress/gutenberg/issues/7199","repository_url":"https://api.github.com/repos/WordPress/gutenberg","labels_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7199/labels{/name}","comments_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7199/comments","events_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7199/events","html_url":"https://github.com/WordPress/gutenberg/pull/7199","id":330184954,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzMjUzNTI4","number":7199,"title":"Replace the renderBlockMenu prop with a Slot","user":{"login":"youknowriad","id":272444,"node_id":"MDQ6VXNlcjI3MjQ0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/272444?v=4","gravatar_id":"","url":"https://api.github.com/users/youknowriad","html_url":"https://github.com/youknowriad","followers_url":"https://api.github.com/users/youknowriad/followers","following_url":"https://api.github.com/users/youknowriad/following{/other_user}","gists_url":"https://api.github.com/users/youknowriad/gists{/gist_id}","starred_url":"https://api.github.com/users/youknowriad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/youknowriad/subscriptions","organizations_url":"https://api.github.com/users/youknowriad/orgs","repos_url":"https://api.github.com/users/youknowriad/repos","events_url":"https://api.github.com/users/youknowriad/events{/privacy}","received_events_url":"https://api.github.com/users/youknowriad/received_events","type":"User","site_admin":false},"labels":[{"id":570263070,"node_id":"MDU6TGFiZWw1NzAyNjMwNzA=","url":"https://api.github.com/repos/WordPress/gutenberg/labels/Blocks","name":"Blocks","color":"fbca04","default":false},{"id":631490822,"node_id":"MDU6TGFiZWw2MzE0OTA4MjI=","url":"https://api.github.com/repos/WordPress/gutenberg/labels/Extensibility","name":"Extensibility","color":"655104","default":false}],"state":"open","locked":false,"assignee":{"login":"youknowriad","id":272444,"node_id":"MDQ6VXNlcjI3MjQ0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/272444?v=4","gravatar_id":"","url":"https://api.github.com/users/youknowriad","html_url":"https://github.com/youknowriad","followers_url":"https://api.github.com/users/youknowriad/followers","following_url":"https://api.github.com/users/youknowriad/following{/other_user}","gists_url":"https://api.github.com/users/youknowriad/gists{/gist_id}","starred_url":"https://api.github.com/users/youknowriad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/youknowriad/subscriptions","organizations_url":"https://api.github.com/users/youknowriad/orgs","repos_url":"https://api.github.com/users/youknowriad/repos","events_url":"https://api.github.com/users/youknowriad/events{/privacy}","received_events_url":"https://api.github.com/users/youknowriad/received_events","type":"User","site_admin":false},"assignees":[{"login":"youknowriad","id":272444,"node_id":"MDQ6VXNlcjI3MjQ0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/272444?v=4","gravatar_id":"","url":"https://api.github.com/users/youknowriad","html_url":"https://github.com/youknowriad","followers_url":"https://api.github.com/users/youknowriad/followers","following_url":"https://api.github.com/users/youknowriad/following{/other_user}","gists_url":"https://api.github.com/users/youknowriad/gists{/gist_id}","starred_url":"https://api.github.com/users/youknowriad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/youknowriad/subscriptions","organizations_url":"https://api.github.com/users/youknowriad/orgs","repos_url":"https://api.github.com/users/youknowriad/repos","events_url":"https://api.github.com/users/youknowriad/events{/privacy}","received_events_url":"https://api.github.com/users/youknowriad/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/WordPress/gutenberg/milestones/55","html_url":"https://github.com/WordPress/gutenberg/milestone/55","labels_url":"https://api.github.com/repos/WordPress/gutenberg/milestones/55/labels","id":3384298,"node_id":"MDk6TWlsZXN0b25lMzM4NDI5OA==","number":55,"title":"3.1","description":"","creator":{"login":"youknowriad","id":272444,"node_id":"MDQ6VXNlcjI3MjQ0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/272444?v=4","gravatar_id":"","url":"https://api.github.com/users/youknowriad","html_url":"https://github.com/youknowriad","followers_url":"https://api.github.com/users/youknowriad/followers","following_url":"https://api.github.com/users/youknowriad/following{/other_user}","gists_url":"https://api.github.com/users/youknowriad/gists{/gist_id}","starred_url":"https://api.github.com/users/youknowriad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/youknowriad/subscriptions","organizations_url":"https://api.github.com/users/youknowriad/orgs","repos_url":"https://api.github.com/users/youknowriad/repos","events_url":"https://api.github.com/users/youknowriad/events{/privacy}","received_events_url":"https://api.github.com/users/youknowriad/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":24,"state":"open","created_at":"2018-05-29T14:45:12Z","updated_at":"2018-06-11T12:31:25Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-06-07T09:15:33Z","updated_at":"2018-06-11T14:14:27Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/WordPress/gutenberg/pulls/7199","html_url":"https://github.com/WordPress/gutenberg/pull/7199","diff_url":"https://github.com/WordPress/gutenberg/pull/7199.diff","patch_url":"https://github.com/WordPress/gutenberg/pull/7199.patch"},"body":"Related #7192 \r\n\r\nThis PR replaces the `renderBlockMenu` Prop with Slot/Fill.\r\n\r\n**Testing instructions**\r\n\r\n - Open the block menu and toggle the inspector (Show Block Settings)\r\n - It should work.\r\n "},"comment":{"url":"https://api.github.com/repos/WordPress/gutenberg/issues/comments/396258372","html_url":"https://github.com/WordPress/gutenberg/pull/7199#issuecomment-396258372","issue_url":"https://api.github.com/repos/WordPress/gutenberg/issues/7199","id":396258372,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NjI1ODM3Mg==","user":{"login":"aduth","id":1779930,"node_id":"MDQ6VXNlcjE3Nzk5MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/1779930?v=4","gravatar_id":"","url":"https://api.github.com/users/aduth","html_url":"https://github.com/aduth","followers_url":"https://api.github.com/users/aduth/followers","following_url":"https://api.github.com/users/aduth/following{/other_user}","gists_url":"https://api.github.com/users/aduth/gists{/gist_id}","starred_url":"https://api.github.com/users/aduth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduth/subscriptions","organizations_url":"https://api.github.com/users/aduth/orgs","repos_url":"https://api.github.com/users/aduth/repos","events_url":"https://api.github.com/users/aduth/events{/privacy}","received_events_url":"https://api.github.com/users/aduth/received_events","type":"User","site_admin":false},"created_at":"2018-06-11T14:14:27Z","updated_at":"2018-06-11T14:14:27Z","author_association":"MEMBER","body":">I don't know what is the exact use case in here, but I don't feel very good about having two slots only to have a way to pick whether we should prepend or append menu items. I'm wondering if we shouldn't rethink the way all slot operate. There are a few things we can explore. First of all, we could convert all menu items into fills to have better controls over them and:\r\n>\r\n>- Introduce priority prop for fills.\r\n>- Add a filter for a slot which would allow reordering or modifications of fills.\r\n>\r\n>...or maybe use a filter instead of Slot/Fill in the first place.\r\n\r\nWhile it's tempting to give developers full control over these items so far as the flexibility it provides, to me it seems like this isn't something a developer should want to be concerned with, and in its impact on opening the potential for inconsistent user experience (or even abuse), not something that has a net benefit for anyone involved.\r\n\r\nUltimately, what is a developer trying to do, and in what ways does order matter? For plugin developers, it seems like the mere presence in the list of options should be sufficient (though I'm open to hearing use-cases to the contrary). The complication for us here is that \"Show Block Settings\" is part of a core (post editor) behavior, and we do agree its sensible to be shown in a specific order (i.e. first in the list). \r\n\r\nSo how do we distinguish between:\r\n\r\n- Core behavior menu options vs. plugin extensions\r\n   - Does this distinction need to be presented in the UI for the user? (e.g. a line separator, like with \"Transform into:\")\r\n   - I tend to dislike special treatment of core, but this seems one area where its sensible to the user to perceive where a line is drawn.\r\n- What are the core behaviors that ought to be implemented as extensions\r\n   - All of them?\r\n- Does order matter?\r\n   - Would it be bad if \"Show Block Settings\" was not the first option? (Maybe yes)\r\n\r\nAmong plugin extensions proper, I personally don't think it's in the interest of anyone to introduce a concept of ordering. A single slot should be sufficient. To the user, its order in the list should be consistent (deterministic), but aside from that, I'd not care what metric is used for ordering.\r\n\r\nFor core behaviors, maybe it should be a separate slot from that of plugins, which prompts other questions:\r\n\r\n- How do avoid plugin authors from accessing it? Awkward and obvious naming akin to `dangerouslySetInnerHTML` / `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` ? Somehow prevent it from being exposed at all?\r\n- How do assure \"Show Block Settings\" as the first menu item? It's odd to me that this is both an extension, but one which the editor is expected to respect as a primary item. I could imagine even a third slot for a single \"critical\" fill, if we'd agree that other options don't have as much importance to their specific ordering. If we do want a fixed order, then maybe your suggestion of a priority on a fill could be a valid option to explore. But toward general usage, it introduces the same concerns about what ordering a plugin ought to be concerned with (of course I think my plugin menu option should show first, so I'm going to set `priority={ -Infinity }`)."}}
{"actor":{"display_login":"aduth"}}