Skip to content

Zulip: bridge all threads in a channel #2238

@kousu

Description

@kousu

Is your feature request related to a problem? Please describe.
Zulip is heavily designed around threads. Each message is necessarily in a "topic", which is itself inside of a "channel". If a user doesn't pick a topic their message is automatically in the "general chat" topic.

This topic be bridged in matterbridge e.g. with

[[gateway.inout]]
account="zulip.bridge"
channel="general/topic:general chat"

However the Zulip UI is heavily biased against people using it. It strongly encourages people to make new topics. Since matterbridge currently can only bridge one topic at a time anyone on the bridge misses most messages. When a new topic arises the matterbridge admin has to create new channels on the other side of the bridge (mattermost, xmpp, slack, etc), then edit the bridge config to map it to those new channels, and restart the bridge. It's not really scalable.

Describe the solution you'd like

Allow specifying channel="general" or channel="general/topic:*" to catch all messages sent to that Zulip channel. This may only make sense for "out" gateways but at least it works. For "inout" gateways, the topic could be "general chat", which isn't great but at least people could probably get used to. At least it would mean people on the bridge could notice new topics and get them added to the bridge if they become important.

Describe alternatives you've considered

  1. Allow specifying channel="general" and map the topic part to threads on the other side, for protocols which support threading. Also allow channel="general/topic:general chat" for people who want to be specific.

Additional context

How zulip forces threading:

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions