Babble - A Chat Plugin

I used it in that way for quite sometime until it started to fall apart.

I ended up starting my own rocket chat server. Babble was good enough to make chat a staple on my site. Rocket chat runs so much smoother. It’s so good though that it’s probably going to decrease forum usage, but it’s too late for me to put that genie back in the bottle.

2 Likes

I’ll fix the immediate issues here in the next day or so, however I agree it needs a dedicated developer.

I’m a little too busy to be that person. The other members of Pavilion are also stretched with their open source responsibilities.

If someone wants to take this plugin on properly, there’s a spot in Pavilion for you, with the access to ongoing paid work that entails.

Like the other members of Pavilion have, you’ll get mentoring from me to get you up to speed with Discourse development.

Message me here on meta if you’re interested.

9 Likes

Hey guys, I’ve resolved the spinner issue. Update to the latest version of the plugin and it is working again. You can test it out here: https://try.thepavilion.io (there seems to be a slight style issue with the babble icon on that site, but the functionality works fine; it’s probably a conflict with another plugin or theme)

https://github.com/gdpelican/babble/commit/83b697d28304525456c25a7de2d905c70c44fd75

@jomaxro Could you re-categorize this one? Thanks.

Failing a developer keen to take this plugin on, I’ll settle for someone(s) willing to help with a few things to keep this plugin alive:

  1. Triage bugs, ideally via the more structured wizards on thepavilion.io: thepavilion.io/w/bug-report and thepavilion.io/w/feature-request. I’ve added babble as an option in there:

    The reason those wizards exist is that when you have a mega-topic like this one it’s hard to keep track of individual issues.

  2. Start to write comprehensive documentation for the plugin here: https://thepavilion.io/c/knowledge/plugins/babble/186 (see the other plugin categories in https://thepavilion.io/c/knowledge/plugins/171 for examples). The reason this is helpful is that the same questions, or issues about a plugin will pop up regularly and it takes up time to respond to queries that have previously popped up.

  3. Respond to other users of the plugin here in this topic with links to those wizards, and the documentation when… you write it :slight_smile:

If maintaining this plugin was more a matter of clearing a clearly defined list of issues every once in a while, with good descriptions, logs and associated screenshots etc, then that’s a much easier proposition time-wise.

Also, if you submit a bug reports via thepavilion.io/w/bug-report, I will now get automatically assigned to it, and it’ll make my stats look bad if I don’t close it… :sweat_smile:

Screenshot at Jan 21 20-38-03

So I’m much more likely to action it sooner if you submit a full bug report, with logs, screenshots and good descriptions.

I’m still going to have this plugin on my list of open source assets to find a new owner for, however if collectively we can do the above, we’ll be able to at least maintain it in a decent state.

17 Likes

Can I double and triple :heart: your last post, Angus? :heart_eyes:

Thanks for fixing the issue with the constantly spinning wheel icon in the chat when you post something. The only bigger outstanding UX issue I can think of right now is that the icon letting you know there’s a new message in the chat never goes away, even after reading all messages. @TheBaby5 gave the high-level overview of that one.

I just did a quick test and @ninermac’s bug report from October 20 doesn’t seem like an issue on our Discourse install.

I see some minor items in this giant thread that could still be addressed, but they’re not mission critical from my perspective. For example, @Dev_Work has one from October 20 about a missing translation.

I’m absolutely willing to report bugs with full documentation at http://thepavilion.io/w/bug-report. I agree that logging them here in this giant thread isn’t ideal.

Wait a moment. Are you saying, time allowing, that you’re going to fix future Babble bugs out of the goodness of your heart? Because that’s what I think (or maybe just hope) you’re saying.

We’ve already had a lot of generosity with Babble over the years with James maintaining it well beyond when it was practical for him. I’m all for more generosity and I give it myself in many ways and many places, but I want to make sure you/we are setting the right expectations here.

Me too. I’m no developer and I mostly orbit around the Discourse ecosystem instead of drop into the gravity well of it. But I’m all about the open source ethos and finding the people who will make communication better and easier for the many folks who use, love, and can’t live without Discourse (that’s me!).

Whatever you do from here, Angus, you’re a total :star: .

5 Likes

Angus! Thank you for fixing this!

I found this useful…

If you don’t need the full screen option but would like a wider option.

It changes the full screen toggle to a predefined page width instead.

Plonk this in: CSS/HTML > Desktop

.babble-sidebar { &.expanded { width: 500px !important; } }
2 Likes

Pavilion, our non-profit cooperative, exists for three purposes (these are taken directly from a new set of articles of association I’m in the process of registering)

  1. provide opportunities for work, education and related services to providers of services and products to online communities;
  2. facilitate the provision of services and products, and the development of open source technology, for the benefit of online communities; and
  3. pursue socioeconomic diversity amongst the recipients of the benefits and opportunities in objects (a) and (b).

This is what we do :slight_smile: We’re currently building a new website that explains this better (and I’ll be releasing a big new open source landing pages plugin for discourse alongside it).

Thanks for these notes. Ideally, if those folks could submit bug reports: thepavilion.io/w/bug-report, then I’ll be able to action them systematically over time.

We need you just as much as a developer :slight_smile:. Here’s some Babble knowledge management that needs doing:

  1. Update the first post in this topic to better reflect the current state of the plugin (it’s a wiki). Take a look at the custom wizard plugin OP for an example structure.

  2. Create a “How to setup Babble” topic in the knowledge category I set up: Babble - Pavilion.

  3. Create a “How to customise Babble” topic in that category. @REALITY That would be the place for your useful CSS suggestion, which unfortunately, will otherwise be lost in the mega-topic.

Don’t worry about writing “the wrong thing”. If you make a mistake, or what you write is unclear, others (such as myself) will help you correct it. That’s the beauty of being part of an open source community.

9 Likes

:clap: :+1: :clap:
This is amazingly great in so many aspects. It changes a lot from the “me, me, me!” we can all witness sometimes in life. I give you a virtual hug, Angus: :hugs: (safer at the same time, these days :wink: )

5 Likes

Thanks so much for taking this plugin on! Much appreciated.

Unfortunately I’m still seeing the persistent notification bug on our installation. Happy to try and help debug.

4 Likes

Thanks guys,

Please file a full bug report here and I’ll address it soon: Bug Report. I know that may seem pedantic, but it really does help! If we break the cycle of using this topic as a catch-all place for all issues, things will get done more efficiently.

3 Likes

Trying to file a bug report. I’m trying to create an account on the Pavilion site with a social login (Google) but end up in a login loop. Do I need to create a local account to log into the site and file a bug report?

2 Likes

Did you successfully log into Pavilion and file a bug report about the persistent notification bug? If not, I can do it as I have credentials for the Pavilion site.

1 Like

Thanks for the reminder! I tried again and was able to create an account and file the report.

FWIW our persistent notification cleared, maybe due to a normal Discourse update and restart. We’re not really using chat heavily though, so it may just be lurking waiting to reappear.

1 Like

The persistent chat notf issue has been filed and addressed :slight_smile:

Please give me any further updates about it in that topic. Thanks guys.


Thanks, I can repro with google auth when going directly to a wizard without an account. I’ve made a bug report for this and will address tomorrow or wednesday.

In the meantime the way to get out of this is just to open a new window and go directly to thepavilion.io, instead of to thepavilion.io/w/bug-report.

4 Likes

This has a massive lack of any sort of feature and I was fine with that, working great, but messages hang constantly especially if they’re more than like two words. Is there a good alternative to this? I’m aware of the one that connects with third party chat programs and such but just looking for a chatbox sort of thing for certain user groups. This obviously isn’t worth it with the hang ups

1 Like

Hi thank for this wonderful plugin. I just notice some thing about this.

  1. If send a message the web push appear. If the user click on that notification it will open the uncategorized chat topic. Same thing if mention user. Is that a feature or bug? :slight_smile:

  2. Sometimes the chat it sticking and cannot scroll. I think it mostly happening when someone writing and avatar shows.

  3. Is that possible to disable the page scroll when chat scroll active specially on mobile?

Thank you! :slight_smile:

1 Like

Great plugin, could be a game changer.

Two suggestions?

  • Make the chat window visible to unregistered users
  • Push new chat comments to the top of the window, so you don’t have to scroll to the bottom
3 Likes

Those seeing errors with responsiveness and longer messages not being sent are likely hitting API rate limits.

@angus comparing with posting/replying to a message, typing requests aren’t emitted at all or very seldom there. Could it be that they need to be throttled?

Also any idea which rate limits is this hitting?

2 Likes

Anton, did you give Angus this information in a Pavilion bug report?

He’s previously told us his ability to troubleshoot and fix goes up drastically if you funnel information through the Pavilion bug report process.

For what it’s worth, I’m also experiences issues with responsiveness and longer messages not being sent. Although I don’t have the kind of hard data that you do to back up what I’m seeing.

3 Likes

Thanks, I did now: Hitting rate limit on typing long messages - Bug Reports - Pavilion

5 Likes

I have Babble installed but no longer use it, so it’s disabled. I wouldn’t care whether it was installed or not, except that my site is now broken in either case.

If I uninstall it, it breaks the groups page at /g:

If I leave it installed but disabled, it breaks our custom digests. Admittedly this is being called by our discourse-506investor-digest-plugin, but it seems the NilClass is in babble/app/models/topic.rb.

From /logs:

Job exception: undefined method id’ for nil:NilClass`

/var/www/discourse/app/models/topic.rb:470:in `for_digest'
/var/www/discourse/plugins/babble/app/models/topic.rb:4:in `for_digest'
/var/www/discourse/app/models/post.rb:99:in `block in <class:Post>'
activerecord-6.0.3.5/lib/active_record/relation.rb:412:in `instance_exec'
activerecord-6.0.3.5/lib/active_record/relation.rb:412:in `block in _exec_scope'
activerecord-6.0.3.5/lib/active_record/relation.rb:784:in `_scoping'
activerecord-6.0.3.5/lib/active_record/relation.rb:412:in `_exec_scope'
activerecord-6.0.3.5/lib/active_record/scoping/named.rb:192:in `block in scope'
activerecord-6.0.3.5/lib/active_record/relation/delegation.rb:66:in `block in for_mailing_list'
activerecord-6.0.3.5/lib/active_record/relation.rb:407:in `block in scoping'
activerecord-6.0.3.5/lib/active_record/relation.rb:784:in `_scoping'
activerecord-6.0.3.5/lib/active_record/relation.rb:407:in `scoping'
activerecord-6.0.3.5/lib/active_record/relation/delegation.rb:66:in `for_mailing_list'
/var/www/discourse/plugins/discourse-506investor-digest-plugin/plugin.rb:89:in `get_favorite_posts'
/var/www/discourse/plugins/discourse-506investor-digest-plugin/plugin.rb:24:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/plugins/discourse-506investor-digest-plugin/plugin.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
/var/www/discourse/app/jobs/base.rb:279:in `perform'
mini_scheduler-0.13.0/lib/mini_scheduler/manager.rb:93:in `process_queue'
mini_scheduler-0.13.0/lib/mini_scheduler/manager.rb:37:in `block (2 levels) in initialize'