Help us test the rewritten Composer

In case anyone is having this issue, I’ve been waiting for this latest update to hit the admin upgrade panel as well. I’m on the tests-passed branch, and within my admin I’ve been seeing this for a few days:

Version v1.5.0.beta4 +58 1.5.0.beta4 You’re up to date!

yet this does not have the latest ipad fixes.

Try going to yourdiscoursehostname.youdomain.com/admin/upgrade . If there hasn’t been a major version bump you don’t always get prompted to perform an upgrade even if there are minor fixes available. Going to /admin/upgrade should let you pull the latest version.

2 Likes

Ah thank you, that did it. The two different places to upgrade obviously threw me off.

Aha! The guy who handles updating my site (me) changed me to tests-passed and now all’s well. It looks like tests-passed is not the default in spite of claims to the contrary.

Well, a comment in containers/app.yml claims

  ## Which Git revision should this container use? (default: tests-passed)

But uncommenting

  version: tests-passed

changes which version I get, so apparently that’s not quite true. If anyone else is interested, more info is in the Change tracking branch for your Discourse instance.

2 Likes

Firefox 42 on Ubuntu Gnome 15.04.

Highlighting text and pressing Ctrl+b makes the text bold as expected, but also opens the browser bookmarks pane. Similarly, Ctrl+i also opens the page info window. Previously, shortcuts used within the editor window did not trigger the browser behaviour.

Ctrl+q, which used to be the shortcut for a blockquote, now simply closes the browser suddenly and unexpectedly. Yes, I know (now) that the shortcut has changed, but the only way to find it (that I know of) is to hover over the editor button with a mouse - not helpful to a keyboarder. There is no other indication that shortcuts have changed.

The new composer is handling links differently. Markdown has two methods to handle links, inline, and referenced.

Inline looks like this:

[Meta Discourse](https://meta.discourse.org)

Referenced looks like this

[Meta Discourse][1]

somewhere at the end…

[1]:https://meta.discourse.org

The old composer used referenced links, the new one is inline.

I preferred the referenced links, I’m sure others prefer inline. Maybe a switch somewhere to decide which style to use?

4 Likes

So do I. It was so hard editing a recent post of mine with all those long Google Docs URLs “in the way”:

That would be quite nice.

1 Like

This is exactly it. I always use inline although I have to admit referenced can be nicer when you have long lines of text. On the other hand, I am not sure we need an option for this – if you know markdown well enough to care about the difference, maybe you can just add the link at the bottom yourself?

3 Likes

I’ve fixed this in the following commit. Events will no longer bubble up while in the editor.

https://github.com/discourse/discourse/commit/d993f70ed3cb725b13dc5d799df5aae166211368

It’s a good point but I am not sure if there is a better approach we could take. I hardly think we need to notify every user that the keyboard shortcuts have changed with a custom message as most would not be interested. Any suggestions?

2 Likes

Since yesterday, when I use a button like bold, I can’t edit the strong text part right away, I have to manually select it on the editor. I use Firefox

I don’t know if I described it well :smile:

That’s fine, I can do it manually. Just noting that the link handling has changed.

===================

When you click “link” with no text selected, it used to do this:

[enter link description here][1]

and the placeholder text was highlighted for easy replacement.

It now does this:

[https://meta.discourse.org](https://meta.discourse.org)

and nothing is highlighted.

Some options:

  • revert to the highlighted placeholder
  • highlight the URL title text
  • add a popup requesting a title, a la Gmail
  • assume no title is wanted, and use angle brackets: <https://meta.discourse.org>
3 Likes

There are actually two problems: the only way to discover the keyboard shortcuts in the first place is to use a mouse, and then there is no way to know if/when they change. I’ll ponder…

I ran into some problems with an internal plugin of mine with the new composer. Could you send me some hints on how to replace the now obsolete and/or missing functions

childDidInsertElement (old composer view) and
addMarkdown (ibid.)?

I guess some other plugins like @cpradio’s rewrite of the ReplyGif plugin will suffer from those changes, too…

I’ve already updated mine. All work with the new composer and the old.

6 Likes

Great stuff - thanks!!

1 Like

I’ve changed the inserting link behaviour when there is no text selected. If you don’t supply an optional title, it now inserts “enter link description here” and highlights it.

https://github.com/discourse/discourse/commit/8dc0fa97d4b22d0693362e9dd563c4f9b0f9fd30

4 Likes

@ky_metro & @wesochuck see this:

In short, inline links are easier to use for the average user (fewer ways to screw up) and they’re more appropriate for medium- to short-form content.

I think an option for it is a bit much. Could be a really simple plugin if anyone’s interested in doing the work.


The pop up for link insertion still appears in-editor. Is that the new intended behaviour?

Not to be a jerk about it, but I’d say this is a matter of opinion not fact. Correct me if I’m wrong, but I didn’t see any UX studies referenced in your original post.

So, in my opinion :wink: with such long URLs these days (including those generated by Discourse), and the relatively small size of the default editor view port, as shown in my screenshot, I think that inline URLs make the editing process more difficult. They also leads to situations where the preview and the editor lines get out of sync more easily*. I also liked that I could “hack” the footnote style easily if I needed to refer to the same URL more than once in my post I would just use the footnote number multiple times.

We’ve had some user complaints, so I’d still love an option to toggle it in Admin. But if the masses prefer inline, I’m sure our folks will eventually get used to it.

*Note: May be a way to help with this would be if you could click on a portion of the preview window and have it jump to that spot in the editor window.

1 Like

The trouble with adding an option is that it is fairly tricky to code and I am not sure we could easily port the old code, I am fine with an admin option here or possibly a user option

1 Like

I’m still fine with it either way… but here’s one point which I’ve noticed.

The old composer not only created the reference links, it organized them on the fly. I mean that inserting a link between

[Google][1]

insert link here…

[Meta Discourse][2]

[1]: https://www.google.com [2]: https://www.meta.discourse.org

caused them to renumber as

[Google][1]

[Facebook][2]

[Meta Discourse][3]

[1]: https://www.google.com [2]: https://www.facebook.com [3]: https://meta.discourse.org

This is a major time saver for reference linking, if you like things in order. Doing it by hand is a lot harder than linking inline by hand… hence the desire for some auto-magic help. This will really matter on long posts with lots of links.

All I’m saying is, it’d be nice for advanced users, if the function survived somewhere. Not necessarily as the default.

4 Likes