Babble - A Chat Plugin


(Tom Newsom) #347

The updates haven’t been merged to master yet. Shouldn’t be long :slight_smile:


(James Kiesel) #348

I had a play with this last evening. It’s not ready to go yet, but we’re getting there. I’d estimate by the end of the week we’ll have something useable again. (Oh, and 5x-10x faster than before, heh.)


(Panteen Pro-V) #349

You can test the code by adding this into your app.yml and rebuild

  - git clone -b widgetize-babble https://github.com/angusmcleod/babble

(| full stack virgin) #350

Trying this out. Will keep you posted for feedback. :smiley:


(| full stack virgin) #351

FAILED

Pups::ExecError: cd /var/www/discourse/plugins && git clone -b widgetize-babble GitHub - angusmcleod/babble: Discourse Shoutbox plugin failed with return #<Process::Status: pid 288 exit 128>
Location of failure: /pups/lib/pups/exec_command.rb:108:in `spawn’
exec failed with the params {“cd”=>"$home/plugins", “cmd”=>[“mkdir -p plugins”, “git clone GitHub - discourse/docker_manager: plugin for use with discourse docker image”, “git clone GitHub - gdpelican/babble: Discourse Shoutbox plugin”, “git clone GitHub - angusmcleod/discourse-quick-messages”, “git clone -b widgetize-babble GitHub - angusmcleod/babble: Discourse Shoutbox plugin”]}
018e6189b9e2fc4b2f3824703d55576f2fbcbfd9fa4541219599ec7bf98d6fa8
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one
root@hrm-1gb-nyc3-01:/var/discourse#


(| full stack virgin) #352

fixed now. i removed the old path for it to work.


(Angus McLeod) #353

Cool. Let me know if I can do anything else to help you guys get this into master.


#354

Just tested this, works very nicely. I think Angus’s ux is a bit better without the send button - I found it a bit strange to have to click the send button to post text when im used to entering text and pressing enter on most chat apps. Perhaps we could have both the send button and the enter key to post the message @gdpelican? A big thanks to all three devs for getting this to work again!


(James Kiesel) #355

It’s always worked to hit enter and send a message (or, at least, that’s how it worked before. Might need a fix now.) Ctrl+enter adds a separate line, like most other chat apps.

I think the send button is necessary on mobile.


#356

@gdpelican tested it again, enter is not working on your babble–features branch. Also the channel select option is not working - it was working on the other branch.


(Joe Seyfried) #357

@P16 is right. The enter key is currently defunct in the babble-features branch.

I also ran across a strange error on that branch when I try to open the admin chats-page - that just renders an error:

The browser console tells me:

Error while processing route: adminChats.index (2)
"undefined is not an object (evaluating 'Babble.setAvailableTopics().then')"

(that might be my fault, though - if anyone could confirm that?)

Plus, at least on desktop browsers, I ilke this one:

…much more than that:

both in terms of usage of screen real estate and useability. And it’s more chat-y. :wink:


(Tom Newsom) #358

I concur. One line reply is much neater.


(Panteen Pro-V) #359

Perhaps we can have Send button appears on mobile only. There is no need for SEND button on desktop at all.


(| full stack virgin) #360

overall it works for my discourse;

i’m just having issues with the image. tried uploading via chat thread and look at it at chatbox, it doesn’t scale yet like before.

but overall, the experience is good.


(James Kiesel) #361

Alright, I’ve merged the latest fixes into the beta branch, which is now appearing on discourse-babble.com

I wouldn’t recommend throwing this back onto your production install just yet, but we’re quite close. As mentioned earlier in the thread, you can pull the latest beta branch by putting

- git clone -b beta https://github.com/gdpelican/babble.git

into your app.yml file.

On my list for this weekend:

  • Picking up mentions and emojis autocomplete
  • Getting the read state / unread notifications going again.
  • Getting the thing to scroll to the right places when new posts / edits are happening

@GlitchMr, I was getting an error (this.state.post undefined, if I remember correctly) with the checkInteractions() method, so I commented it out. Not sure whether it’s a conflict with Angus’s work, or something that wasn’t quite ready to go yet. In any case the rest of the ‘who is typing’ stuff is still there and ready to be finished off.

I’ve also refactored all of the widget rendering code out into their own classes, so that the ‘controller’ and ‘view’ logic for the widget are a bit separate; it’s just so much nicer to respond to ‘what should I render?’ with

  html() { return template.render(this) }

rather than an unstructured 150 line method. . . Okay </technical_nonsense>

TL;DR I’ve finally gotten a little time to put into this thing and hopefully that means that soon Babble will be Great Again.

(PS, I should thank again @angus and @GlitchMr, who up to this point have done the bulk of the work to get this going again.)


(Joe Seyfried) #362

Guys, thanks for the great effort here. It’s really fun to watch this plugin grow back into life…

Currently, the notifications are still broken, and the UI on the beta branch looks a bit funny (see below). Also, the “xy is typing” disappears quite late and opens only after the chat message has arrived. The “xy is typing” is currently defunct, right?

Apart from that, I’m tempted to put this into my production instance, since I’m riding the beta train, and the changes introduced by widgetization created a huge backlog in updates on Discourse for me. Anyway, thanks again!

(screenshot removed) note to self: don’t rely on pesky UIs using git. The Github app just failed to tell me that I had a merge conflict… :facepalm:


(Carlo Kok) #363

Very nice! Installed it on our discourse install and it seems to work fine. Few notes if you care:

  • Adding/removing channels do not affect already open windows, needs a refresh to show
  • Switching channels isn’t very obvious.
  • It’s completely hidden on Mobile.
  • On the iPad Pro it disappears when you start to type, it still works though and lets you send it off blindly.

Overall though I really like it.


(James Kiesel) #364

As far as I can tell, yes. @GlitchMr will be able to speak more on the status of that. Since this is still in the ‘beta’ branch, I’m ok with that code being in there, but before I merge into master we’ll make sure that feature either works as intended, or doesn’t appear.

I do care! Thanks for taking the time. To address some of your points:

  • Adding / removing channels is, in my head, a pretty rare occurrence (corresponding with creating a new category / group), so I haven’t built in any live updating features around it (as I see it as a high-cost, high-risk, low-reward feature)
  • The next big iteration of Babble would likely revolve around a better (more chat-app like?) channel switching experience, stuff like seeing how many notifications you have in other channels before switching to them, being notified of @mentions in other channels, seeing a more prominent list of channels available to you, etc. I’m actually surprised that I haven’t gotten more negative feedback about the multi-channel experience just yet; it’s led me to believe that most folks are using it with just the one channel.
  • I noticed that it’s missing on mobile; I don’t know why yet, but it’s the biggest thing on my list to do before merging into master.
  • Could you elaborate on ‘it disappears when you start to type?’ A gif or screenshot would be ideal.

(| full stack virgin) #365

i noticed that when someone also chats and me not reading it yet, i don’t see a notification in the chat icon unlike before or this is just a connection problem.


(Joe Seyfried) #366

I pulled the beta branch as of yesterday, and did not encounter that problem… So maybe indeed a connection problem?