New topic composer gets in the way when it auto-opens on the topic list

When you have a new topic draft in progress, it opens automatically when you go to the main topic list page. I’ve been annoyed about this in the past, but recently, it’s been getting in my way more and more. I realize the current design is intended to allow me to browse within a single tab while writing a topic, but I still often find it helpful to have multiple tabs open, personally.

For example, I always run into this issue is when I am writing up a weekly newsletter because it’s helpful to have multiple tabs open for the different topics I quote or reference while I’m writing the topic.

Here’s a few illustrations of the issues I face:

Figure 1

  1. Minimize new topic composer
  2. Go to another topic
  3. Go back to the topic list page
  4. New topic un-minimizes… and for some reason asks me whether I want to abandon my post

Why would you think I want to do that?

Figure 2

  1. Open new topic in another tab (no minimized composer is shown, great!)
  2. Go back to topic list
  3. New topic composer opens in yo’ face

Hey! I’m just trying to browse around the topics here, don’t need to see this composer right no, thank you very much.

Figure 3

Continuing from figure 2… OK, no big deal that the composer opens in my face, I guess, cuz I can just minimize it right? Then I can just continue browsing the site like I want to.

Well, now I’m back in the same situation as figure 1:

Figure 4

Alright, I’m kinda tired of minimizing this thing since it just keeps re-opening anyway…

  1. Continue writing a bunch of paragraphs for my topic in tab 1
  2. Go back to tab two to keep browsing
  3. Accidentally type a character in the composer of tab 2
  4. Wait… where are my paragraphs? Uh oh…
  5. Open a new tab and see that the composer has saved from tab 2 instead of tab 1
  6. Go back to tab 1 and see my paragraphs… phew… let’s not close this tab!

Recommendations

  1. When you browse to the topic list, only open the composer in the minimized state.
  2. When the composer is un-minimized, load the draft from the server.
  • This will make it less annoying if I’m just trying to browse.
  • I will be less likely to accidentally type into the wrong copy of the composer.
  • Changes made in one tab will update in the other when I un-minimize it.

There will still be a risk that I un-minimize the composer in two tabs and they get out of sync, but the risk will be much smaller.

But recommendation #1 alone would solve much of my problem if that’s an easier place to start making changes…

5 Likes

Maybe, we should certainly revisit draft access from user profile at some point but I don’t know if we have the resources to deal with it right now… as it is a heavy power user behavior (topic only drafts, multiple tabs) and thus rare.

2 Likes

OK, I hear you, but do note that Figure 1 demonstrates an issue that has nothing to do with multiple tabs, just navigation.

3 Likes

Opening topic drafts in a minimized state is a reasonably easy change if you want us to take it @codinghorror

The downside of a change like this is that it becomes slightly less obvious a topic has a draft.

2 Likes

I think it would add confusion rather than “fix” the underlying issue.

I think recent changes to make that part of the UI blue do help a lot to make it more obvious.

1 Like

Just brainstorming here, what if we did not open the draft and instead changed the text of New Topic to Open Draft if there was a draft in progress?

10 Likes

Now this is a change I can get behind… :peach:

1 Like

That’s certainly a good idea! :bulb:

Maybe we should use that opportunity to make it more obvious how to get to your draft: Leave the button gray when there is no draft, but make it a blue, primary button when it’s in the Open Draft state?

5 Likes

Did you still want to do this?

4 Likes

Hi, I hope this idea is useful to solve the complicated behaviour the composer has.

I think the composer should have tabs.

This way the composer could have the same state across all the (browser) tabs (solving the problem of Figure 4) and you could see all your drafts in one place and switch between them. This would simplify things a lot for the people that open many tabs in the browser or have many drafts.

Also, nothing would have to popup because you already would see all your drafts. (solving the problems of Figures 1,2 and 3)

(English is not my first language, excuse me if something is not well written.)

1 Like

Yeah I would love that, I think it would help a lot.

5 Likes

This really really bugs me when I am writing epic topics on meta, especially when I just need a tiny break and plan to get back to stuff.

I just committed this change, which was quite big.

https://github.com/discourse/discourse/commit/56cbfa2611bbc9dc0a34ba62936dd68a5a1d8eb5

Following it, we no longer pop open the topic draft, instead we show:

image

This means you can happily author a reply to a post while your topic draft is going. I find this flow significantly better, there are 2 minor edge cases that exist

  1. If you go to full page search it is not “draft aware” so it has a “New Topic” button, if you click that and start authoring you will nuke your topic draft (I feel this is pretty rare so am going to hold off on correcting it)

  2. if you close the composer and discard the draft we correctly switch to “+ New Topic” however if you are on the tags list page and then head back to /categories or /latest without refreshing the browser an annoying + Open Draft can show up. This is cause I did not figure out a clean way of poisoning the store. Anyway it is quite minor.

@mcwumbly thoughts? This is deployed on meta.

10 Likes

Thank you for doing this! I am looking forward to seeing this change in action when it’s available. As outlined, it sounds like a great approach.

I’m a bit concerned this is less rare than expected, but I can understand why you made the call about this being the right trade off for now.

2 Likes

It can be corrected, it is just a little annoying

1 Like

One thing I’ve wanted a few times is “yeah, I know I was writing a draft earlier, but I want to write something more important right now instead”. So completely dropping the draft on the server might not be what’s desired here.

1 Like

I think you are talking about a different use case here.

If you want to author 2 different topics and jump between topic drafts… this is going to be tricky and the best workaround for now is to send a PM to yourself.

If you want to work on replying while you have a topic draft in place, well, it works really nicely now. Once you minimize the composer and head to a topic page you can reply at will. When you return to the topic list you will see + Open Draft. The case I am talking about is not when you minimize composer, its when you click cancel which is explicitly saying “hey I give up the topic I wrote was garbage”.

5 Likes