Babble - A Chat Plugin [ARCHIVE]

(Konrad Borowski) #327

Post content rendering cleanup.

Done in GitHub - xfix/babble at babble-improvements (feel free to merge that one into your branch)

Style cleanups.

And this is the part where I got stuck on, trying to figure out how to fix that thing, and at this point I just sorta gave up (it’s not of importance for my own GSoC project anyway). I will provide a tip however if you are interested in that.

Dropdown itself (after pressing on Babble icon) shouldn’t be part of a menu, but rather part of a panel (check old version, if you want to check how it used to work). Dropdown being part of a menu causes things to center and change in size (because only icons should be in a menu).

How do you render a dropdown in a different DOM node, I’m not entirely sure. virtual-dom is a really weird API, I do admit.

(| full stack virgin) #328

aesthetic would be my least concern now. once this is up and running my members will surely be grateful the discourse existed.

(Angus McLeod) #329

Yes it’s true that Babble used to use the header-before-dropdowns plugin outlet which was outside the list of menu icons. All of the menu-panel components used to be outside the list of the menu icons, and plugins could follow that format by using the outlet.

As you allude to, it’s not possible to do this in the current widgetized header because of the way the html function is structured in the header widget. See further here.

However let’s not let this stop us.

Just add a text-align: left to the container element and move on. This is what I did with Quick Messages and it works fine. It’s more important that we get the main functionality working.

We’re almost done here, the main piece to fix is the topic toggling. Could you take a crack at that? I’ll be online either before or after work tomorrow to help if need be.

(| full stack virgin) #330

@angus, with the current fixes, can this work already as a temporary chat even w/o the alignment and aesthetics?

tried adding it in my app.yml my site went down :smiley:

btw, thank you & @GlitchMr for stepping up on this.

(Joe Seyfried) #331

Tried that - main show stoppers for me are:

  • Posting does not yet clear the input box and update the chat window and scroll the chat window up to inform the user of the changes
  • Channel switcher is defunct

(| full stack virgin) #332

Thanks for the heads-up.

didn’t your site went down as well? mine went down until I removed the plugin.

(Tom Newsom) #333

Very excited to see Babble close to resurrection! We had to update to catch the imagemagick security hole, which unfortunately came along with the header re-write. Can’t wait to have it back!

(Joe Seyfried) #334

Nope, I just pulled the fork and switched to the branch by ssh; I did not rebuild my container for the test…

(Angus McLeod) #335

@gdpelican I finished off the widgetization I started last weekend. Please review and merge!

@GlitchMr Let me know your thoughts on how we can improve it.


  1. I removed uploads and will re-implement them separately.

  2. Notifications won’t work properly. Will fix this separately as well.

There will be some bugs and tweaks to be made, but I thought it more important to get this working again first.

(Joe Seyfried) #336

Holy cow, what a huge amount of changes. The result actually looks very nice, thanks a billion, @angus!

/Edit: differences to the old Babble version seem to be (from a UI point of view): missing “send”-button, missing upload button and relocated Emoji button. Whether they are missing or just not there any more could be debatable, however… The only thing that might be worthwhile would be a send button, at least for mobile devices?

(Angus McLeod) #337

I took this out on purpose. It seems a bit strange to me for a chat UI to have a ‘send’ button, but I can put it back in if people (or @gdpelican) want.


(Angus McLeod) #338

I also took this out on purpose. Implementing it in the widgetized version is a little tricky, so I’m going to do it separately.

Did this on purpose as well. In this configuration there’s no chance the emoji button will overlap with the input text.

(Konrad Borowski) #339

Looks really good for me. You left console.log in your code, but that’s a minor problem.

I was going to claim that Submit button should be here, but after thinking a bit (checking other chat services (prior art is important and all that) and so on), it doesn’t seem particularly necessary (although probably still a good idea, dunno?).


@angus can you please tell me how Babble is different from your plugin Quick Messages? It is the same functionality right? Is there any ui difference that makes it more chat-like?


(Konrad Borowski) #341

Quick Messages is for private messages, while Babble is essentially a forum-wide chat box. They work using a different Discourse feature as a base, messages vs forum threads. Both are also intended for smaller text content (by their UI) than regular messages or forum threads.

Essentially mostly the same functionality, but in a different context.


@GlitchMr Thanks! So is it like a site-wide shoutbox where everyone online can post messages? Or is it a one to one forum wide chat?

(Joe Seyfried) #343

Yes, it is! You can check it out on (still on the old version, however). You can also define several chat channels which can be restricted to several user groups (e.g. TL-3 or higher).

Ok, ok and ok - I (mostly) agree with those. The upload seemed a little too much for a forum chat anyway, the send button should be pretty obvious (the ones who miss it will probably try to hit send anyway), and the Emoji location is just fine like that.

@gdpelican, any thoughts on this? Will you pull the changes? (Just asking because my fork with customizations for my forums is currently based on your repo)…

(James Kiesel) #344

Yes, I’ll merge it in, although I’ll likely put the send button back.

Trying to carve out some time for this; looking like evening tomorrow I’ll be able to put this together, give some feedback, and deploy it.

Thanks again to @GlitchMr and @angus for their hard work on this.

(Angus McLeod) #345

Yes, thank you to @GlitchMr, I used your branches as guidance for some of the features in my PR.

I want to clarify to those who have been waiting for this, that this conversion was not simple and it is understandable that it has taken a while. The current structure of the vDom widget system makes it hard to convert a complex ember / handlebars frontend. See here for example.

(| full stack virgin) #346

Thanks guys for stepping up.

Can’t wait to get this live to my site. Any help will do because I can’t seem to get this live.