Speccing out a full page chat plugin

(James Kiesel) #10

Sweet! I have this on my list for tomorrow. :dragon:

(James Kiesel) #11

This is awesome work, thanks! Some thoughts:

  • I wondered while playing about the way we differentiate between a ‘category’ and a ‘group’ chat. Here’s a quick mockup for something that feels intuitive to me:

Group chat:

Category chat:

  • ‘Chat’ archetype seems simple and cool. Does this mean that topics won’t appear in the topics list anymore for admins?
  • The chat button on a category seems like a great way to get into the full page chat; we’ll want a way to swap between chats once there though. I’ll have a play today to see what I can come up with there.

(Angus McLeod) #12

Cool. So there’d be one type of ‘create chat’, then within the view for the new chat you could set the permissions, name and groups?

Does this mean that topics won’t appear in the topics list anymore for admins?

Not by default. But there are a few ways we can exclude both I believe. I will look at this shortly.

I’m updating the chat UI itself at the moment.

(Angus McLeod) #13

If you’re cool with the general direction, let’s merge full-page-chat-discovery into full-page-chat.


Any updates coming soon? Is it safe to implement on my site yet?

(James Kiesel) #15

Not yet. Both Angus and I have been contracted for other Discourse work over the past bit, so this hasn’t surfaced yet.

We are meeting up tomorrow for a hack day on this, so hoping to have a solid update then.

(DiscourseMetrics.com) #16

Looking forward to this guys :smiley: Great work!

(James Kiesel) #17

@angus and I had a nice time yesterday hacking on this thing; we’re getting close to a first stopping point, after which we’ll encourage folks to install it and play around a little. Here’s a gif of the existing functionality:

Creating a category chat

Having a chat in full page mode

We’ve also added a site setting which allows toggling between full page mode and the shoutbox style plugin which exists currently.

If you really want to be on the bleeding edge, you can follow along with the following clone url:

git clone -b full-page-chat https://github.com/gdpelican/babble.git

And select ‘enable full page chat mode’ in the plugin settings.

But I couldn’t recommend throwing this onto a live instance just yet.

(Angus McLeod) #18

I approve this message :slight_smile:

I would add that we have a basic plan for the rollout of all the features previously discussed in this thread, and even some not yet discussed, such as import from Slack.

We’ll be releasing the MVP soon.

(Erlend Sogge Heggen) #19

[quote=“erlend_sh, post:2, topic:49430”]Zulip chat app has an interesting concept of “threaded group conversations”,

Another interesting example of this can be found in we-hate-distractions.com which takes a topic-centric approach to group chat.

Just putting it out there for inspiration.

(Martial) #20

Aha 750$ per month for a local redit ^^ :joy:

(James Kiesel) #21

Alright, I’m ready to open this up to beta testing. If you’d like to have a play, go here:


And let me know what you find!

Improvements since we last left our heroes:

  • Allowed loading of chat history
  • Removed duplicate avatars and timestamps for messages which are sent close together
  • Mentioning works!
  • Link unfurling works!
  • Added date separators
  • Logged out users can view chats (if they have permission)
  • The whole thing is faster!
  • Chat activity no longer clogs up your user activity page

‘Who is typing’ is complete pending a PR to the Discourse core repo:

Babble - A Chat Plugin [ARCHIVE]
(Erlend Sogge Heggen) #22
  • Displays very nicely on mobile but seems to hijack my scroll somehow, since it I can’t momentum scroll, i.e. I can’t flick the page with my finger to scroll faster.

  • Logging in from /chat/chat/292 redirects me to the front page instead of back to Chat

  • Forces me to scroll past the top menu to reach the text input box. I’m able to touch the menu and scroll it.

  • Something is definitely slowing down the page. When writing on mobile (iPad Air 2, safari) text input is noticeably slower.

  • Hitting edit button on mobile is extremely hard and very close to delete.

  • How do I cancel an edit on mobile? On desktop I can use esc but there should probably be an easy way out on both platforms.

  • Not sure why but I got a couple “Invalid date”

(Sam Saffron) #23



  • When I post message is shows up, but second message does not render. Only way to see it is do a screen refresh.
_ember_jquery-863361d….js:26009Error: Property set failed: object in path "currentTopic.presence.sam" could not be found or was destroyed.


  • It is critical to see who is online in chat. needs a box that shows who is in the chat room.


  • Show “who is typing”
  • collapsing has too much margin.

Should render same as:

one [enter]
two [enter]
three [enter]
  • 1m styling is too strong. Should be a lighter grey, not black. Consider moving it to the left like slack:

  • Personally I think the use of local times in Slack is better than 1m, 1h etc.

  • Add a way to bookmark a message and reply directly to a message

  • Start thinking about “moving out of chat” … select N messages and “copy it into a new topic” or something like that.

(JT) #24

Looks like babble is breaking Discourse at the moment: Discourse fails with this.resource is not a function how do I find which plugin it is?

I’ve had to remove it but my users are having chat-abstinence issues :smiley:

(James Kiesel) #25

Ya it’s the Ember 2.4 upgrade. It’s on my list for today. <3

(Dante) #26

Perfect idea!!!!:笑脸:

(OG) #27

Testing instance doesn’t work for me on iPad. Is the plugin compatible with latest Discourse? Thx!

(James Kiesel) #28

Can you describe what kind of ‘not working’ you’re seeing? As far as I can tell Babble is working with the latest version of Discourse.

(OG) #29

Hi, I’ve gave it another try and after registration and login it works…

Sorry, I was not aware that I need to be registered. As a guest all I was getting was “spinning/loading icon” and nothing more (no message to login or any kind of error)…

I just wonder if it is possible to limit width of babble window… It looks like too long line can break the design… so that right “who’s online” column is out of screen.

Anyway good work! Thanks for all the work, I’ll definitely use the plugin.