Gutenberg: Embed URL block does not have "Change Block Type" option

Created on 30 Aug 2018  路  7Comments  路  Source: WordPress/gutenberg

Describe the bug
In Gutenberg 3.6.2, when using the Embed URL block, it is not consistent, lacking the "Change Block Type" option at the top left like other blocks have.

To Reproduce
Steps to reproduce the behavior:

  1. In Gutenberg, add an "Embed" block.
  2. Try to change the block type to something else.
  3. You can't (as far as I can tell).

Expected behavior
Every block should have a "Change Block Type" option at the top left, for consistency and usability. I'm unsure whether this is a bug specific to the embed block only, or whether there are other blocks with the same issue. The fact that this is possible leads me to believe it's a bigger issue than just the embed block, as a standardized UI seems to be lacking.

Screenshots
screen shot 2018-08-29 at 7 03 14 pm

Desktop (please complete the following information):

  • OS: OSX
  • Browser: Chrome

    • Version: 68.0.3440.84 (Official Build) (64-bit)

[Feature] Block Conversion [Status] Not Implemented [Type] Enhancement

All 7 comments

Not all blocks will have a transform option. For example, once an embed block has been added, it doesn't make sense to change it to something else.

I'm going to close this issue for now because I think it's intentional that not every block has a conversion option. Note that closing doesn't mean that the issue is done necessarily, it's just a first response in this case and we can re-open if it turns out I am wrong about the intended behavior!

@designsimply. I'm sorry but that's really not correct, and this issue should be re-opened.

Every block should be able to be changed to a different block. Why would we force the user to delete a block they accidentally added, or punish them for changing their mind?

As a user, I'm telling you what my true and real expectation is here. I was trying to write a blog, I hit enter, and then I pasted a URL. The block immediately turned into an embed block, but I wanted it to be a paragraph block. The fact that it automatically changed to an embed block is a separate bug.

This issue is about the fact that users should be free to change their minds about a block at any time, and the experience should be painless. If the option is there sometimes, it should be there all the time. Anything else is poor UX.

P.S. I'm trying really hard not to get frustrated about these immediate closeds. I've run into several bugs in the last few days that I decided not to post here because I had a feeling they would be immediately closed without any true consideration. As this pattern continues, I become less likely to take the time to post bugs here, which sucks.

Closing absolutely doesn't mean something will not get consideration. I would like to mention though that am working to close duplicates and consolidate issues where possible and I apologize if that has been causing any frustration!

Let me see what else I can find out and if I can't find a good explanation for this case we can re-open.

@designsimply I get that you have a tough job to do with triage. But immediately closing an issue typically creates a feeling of not-being-considered. My 2 cents are that leaving it open for at least 2 people to chime in might help to create a better, more positive atmosphere. If there's a duplicate, fine, but post it as a comment and _then_ close it. I'm just a volunteer who wants to see Gutenberg do well. But I digress. Back onto the topic at hand.

Okay! In this case, let's re-open and re-consider it. In other cases, we may still close issues that already have clear answers or decisions. I know I have seen discussion about block transforms before but I can't find it just now so I will re-open until I have more information.

While it would be great if we could transform all blocks interchangeably, that doesn't fit with the specific data structures/content/output/behaviour of blocks. Transforming text blocks is conceptually straightforward; a heading can change to a paragraph easily. An image can also change to a gallery, and it's possible that an embed could even change to some other kind of block鈥搕hough none are supported now.

But there is not a clear path to transform a block like a YouTube block, with a specific video URL and output, to something like a List block.

Closing issues quickly and decisively prevents issues around: perceived issue count, discoverability/search-ability of issues, finding duplicates, etc. We have to balance closing issues we either can't take on currently or don't agree with quickly so we can focus on shipping features the project has decided are priorities.

We're faster to close issues we know won't get our attention than we are pull requests鈥揑 don't want to bring out the old open source trope of "patches welcome!" 馃槈, but the reality is a patch that provided a good embed -> other block transform would not be closed as quickly as an issue like this one that states that "every block should have a transform".

This issue has been considered in the past and the project's decision is that not all blocks can convert seamlessly without data loss, and we don't allow transformations that result in data loss. As mentioned: our huge issue/PR count can make it hard to point to those decisions. For that I'm really sorry.

Sometimes we close issues without referencing all that we can because it's a lot of work compared to asking for some good faith 馃槃.


For reference, here's a recent PR that talks about valid transforms and what we considerable acceptable ones: #9326


If there are blocks you think embed should be able to transform to without data loss and with a useful output, please do open an issue (or better yet a pull request). But as a general request for all blocks to support arbitrary transforms, I'm closing this as a won't fix issue.

@tofumatt Thanks for the follow-up, my follow-up thoughts are below. Based on your response, I still believe this issue should be open.

To answer your question about the Embed block specifically, an Embed block can easily be changed into a Paragraph block without any data loss. I don't see a good reason that option shouldn't be available. Any URL can be placed in a paragraph block.

I understand the reasoning regarding block transformability. Thank you for explaining that. However, I wish I could say the UX felt good around that. To me, the fact that it's there sometimes, and sometimes not, is clunky and feels unfinished. Instead of it simply not-being-there, perhaps it should show the list of blocks and show an error message: No compatible blocks are available for transforming this block without losing data.

Screenshot example:
screen shot 2018-08-29 at 9 32 25 pm

Changing gears to the issue about immediate-issue-closes, I believe my point about creating a positive atmosphere by following standard Github etiquette still stands. It's fine if we don't agree btw, I'm just giving my personal feedback in hopes of being helpful.

In my view (which I understand is limited), closing issues just because there's lots of them, and it's a lot of work to stay organized, isn't really a good reason to create a feeling of ill-will from the core team, nor is it worth losing the organized trail-of-issues. I get that ya'll are probably burnt-out, I understand that feeling myself. I still don't think that's a good reason to close issues immediately, without links to duplicate issues, and without true, multi-person consideration first, as it creates frustration.

If the ticket is a duplicate, the typically-understood-as-respectful approach is to post a comment with the link to the duplicate issue, _then_ close it. It also makes it easier for other people to follow-the-trail when searching issues, giving closed issues more value to _everyone_. Note that I tried searching for duplicate tickets prior, but this repo isn't my full-time, or even part-time gig. And I don't envy the monumental task you all have in front of you.

If the person is being unreasonable, close it immediately, no question there.

But if the ticket is honest and helpful, I think the atmosphere of the community would be more positive if the ticket was left open until true, multi-person reasoning is provided as a response.

This just happens to be a huge project that affects millions and millions of people. A huge number of issues isn't out-of-the-ordinary or unexpected. I realize I'm not giving you any news there. Anyway, that's my 2 cents on how I believe the atmosphere overall could be improved. You all are smart people. You can take it or leave it as you see best fit. Feel free to disagree with me, you all will still have my respect, and I'll try not to take it personally if you close my issues immediately in the future.

Was this page helpful?
0 / 5 - 0 ratings