Gitter integration for Discourse

Unfortunately, I’m not being able to find time to keep working on the Gitter integration’s development at most for a couple of months more. Here is an update of the current state of the plugin.

The main task in process is the refactoring of discourse-chat-gitter into discourse-chat-integration. So far, the notifications feature is already integrated (for more info, visit Set up Gitter notifications using the discourse-chat-integration plugin).

The other two features Slash Commands and Transcripts are still to be refactored, but that will happen after having handled a few potential issues found. Those are consequence of the way the Gitter integration implements Slash Commands (due to the lack of an official API for that) which is through a long-running thread to listen to a room’s messages. The issues are:

  • In multi-site installations where multiple discourse sites share the same server process only one of the threads is going to start.
  • In the case of a distributed Discourse forum, a new thread would be created in each server, so one forum is gonna end up with multiple connections to Gitter.

The considered approach for handling them involves creating a rake task and using a template like

https://github.com/discourse/discourse_docker/blob/master/templates/redis.template.yml#L2-L8

to run the rake task as a polling demon for Gitter.

Finally, if any questions, I’d happily answer them asap :slightly_smiling_face:

2 Likes