Skip to content

Federation Protocol #601

Closed
Closed

Description

@valentt

Hi, first this as awesome chat, so far best I have used.

Have you considered creating Rocket.Chat so it can be decentralised but also federated with cluster of multiple Rocket.Chat servers ?

Use case:
Having branch offices offices around the world (or distributed islands of community wireless networks in our case) that each would run their own Rocket.Chat server but they would be part of one Rocket.Chat network so that any client connected to any servers sees all users and all rooms.

So if for some reason connectivity breaks (which happens more than we would like) clients at least have their own local server, and when connectivity is back then they join back with the rest of the Rocket.Chat network.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Activity

  1. rodrigok commented on Aug 28, 2015

    @rodrigok
    Member

    This is very complex 😄 hehe

  2. valentt commented on Aug 28, 2015

    @valentt
    Author

    I would love to use Rocker.Chat instead of IRC and Jabber, and this is exactly how they are used. Probably needs a quite bit work on abstraction... and no, it definitely is not easy :)

  3. mitar commented on Aug 28, 2015

    @mitar
    Contributor

    You can always just decentralize MongoDB server.

  4. engelgabriel commented on Aug 29, 2015

    @engelgabriel
    Member

    Maybe implement the http://matrix.org/ spec?

  5. geekgonecrazy commented on Aug 31, 2015

    @geekgonecrazy
    Contributor

    This would be pretty cool. Might be good to take a look at this while working to make it play well in cluster / load balancing situations. #520

  6. added this to the milestone on Sep 21, 2015
  7. GrahamJenkins commented on Nov 3, 2015

    @GrahamJenkins

    I'd like to add a sub feature request, it could be moved to a separate request depending on the maintainer's opinions.
    I have a use case where several geographically oriented teams need to be able to manage their own teams/servers independently, however they want to share specific content with other teams/servers. If using Slack it is possible through integrations to use services such as sameroom.io or various other bridges, but it would be very helpful if it was possible to configure independent servers to sync/share defined content with other servers, or perhaps even a level of public sharing of specified content.
    A feature like this would provide some functionality and ease of use similar to that of account-based tools such as skype, hangouts, etc, but still allow for the operation and administration of independent servers. I would be glad to discuss the potential use cases in more detail if that can clarify/help this request.

  8. engelgabriel commented on Nov 17, 2015

    @engelgabriel
    Member

    I understand your request @rendezvousIY , that's exactly what I believe we will be able to do if we implement this features. We plan to start taking a look at this after we release the 1.0

  9. engelgabriel commented on Nov 17, 2015

    @engelgabriel
    Member

    Hi @ara4n any thoughts on this one? Your input would be much appreciated.

  10. illicitonion commented on Nov 17, 2015

    @illicitonion

    Hi @engelgabriel! I work with @ara4n on matrix.org, and I've been taking a look around your Rocket.Chat world - it looks like Hubot is a great match for our node bridging library: https://github.com/matrix-org/matrix-appservice-bridge

    We have a one-page example for a basic matrix-slack bridge https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md - I imagine putting together a hubot script which sends every message it sees to a Matrix room, and which sends every Matrix message it sees to a Rocket.Chat room, would be pretty trivial.

    If someone put together that bridge, chats could automatically become part of the federated Matrix world which would both open up to users of the systems people are writing Matrix bridges for (we have made usable progress on bridging Slack, IRC, Skype, and a few other things).

    We'd love to work with you on this; I'd suggest you take a look at the one page HOWTO above, and see if you can get a quick Hubot script able to just send raw text messages both ways. From there, we can have a chat about where we may want to go.

    Feel free to reply here, drop me an email (daniel@matrix.org), or come stop by a Matrix room (I just made #rocketchat:matrix.org which you can talk at by using https://matrix.org/blog/try-matrix-now/ ) if you need a hand with anything, or want to chat!

  11. engelgabriel commented on Nov 17, 2015

    @engelgabriel
    Member

    Hi @illicitonion

    Thanks for the reply, I'll take a look at your links. I think it would be a nice first step, so lets do that, but my end goal would be to create a "native" capability via meteor package. :)

  12. 18 remaining items

  13. added
    plannedPlanned feature being handled by internal backlog
    and removed on Mar 29, 2018
  14. pierreozoux commented on Oct 21, 2019

    @pierreozoux
    Contributor

    @Sing-Li Can we close this issue?
    Also, it looks like it is matrix behind the scene, but I don't find it in the doc, nor in the code (probably didn't search enough).
    Is it possible to federate with matrix too?
    If yes, I'll take some time to improve the doc, and if you have some pointers, it would be amazing.
    If not, is it planned? If yes where is the issue? If no issue, I still think we can close this one, and reopen one to track matrix support ;)

    thanks!

  15. geekgonecrazy commented on Oct 21, 2019

    @geekgonecrazy
    Contributor

    Not currently using Matrix Protocol behind the scenes. So currently only possible between Rocket.Chat workspaces. My understanding is that we still plan to federate with Matrix.

    I agree though we should close in favor of one tracking Matrix. I'm not sure if we have one. A quick search didn't yield a result

  16. reetp commented on Oct 22, 2019

    @reetp
    Collaborator

    I agree though we should close in favor of one tracking Matrix. I'm not sure if we have one. A quick search didn't yield a result

    At least somewhere to keep all the info and links together.

  17. aWeinzierl commented on May 14, 2020

    @aWeinzierl

    federate with Matrix

    any updates regarding that?

  18. alansikora commented on Sep 25, 2020

    @alansikora
    Contributor

    @aWeinzierl this is on our bucket list, but still not on the immediate plans. I will post a message in here when we get to this.

  19. StEvUgnIn commented on Oct 11, 2020

    @StEvUgnIn

    @aWeinzierl this is on our bucket list, but still not on the immediate plans. I will post a message in here when we get to this.

    Matrix does not have any IETF draft and I won't comment on their current state of decentralization.

  20. mitar commented on Oct 12, 2020

    @mitar
    Contributor

    I won't comment on their current state of decentralization.

    Can you link to anything on this topic?

  21. ShalokShalom commented on Oct 12, 2020

    @ShalokShalom

    Idk about federation, but they have launched their p2p service

    https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/

  22. madguy02 commented on Oct 12, 2020

    @madguy02
    Contributor

    Matrix and Rocket.Chat although serves the same purpose of async messaging, but are very different mission wise and hence architecture wise.

    Federation Protocol of Matrix.org has gone through good amount of iterations and i think they are in a stable state now. Federation Protocol from Matrix is not gonna be a direct fit for Rocket.Chat... If we need federation for Rocket.Chat purposes, we might take some inspiration from the Federation Protocol (matrix) and develop it on our own. But if we are planning to use the Protocol without much changes then RC will have to go through good amount of changes architecture-wise before we can accommodate it.

    I think @alansikora has done a good job in understanding the problem and producing a solution out quickly for people to try out (but this is no easy job)
    But if we really want to build federation as a protocol for RC then that will require good research and a dedicated team to do so....

  23. ptman commented on May 27, 2022

    @ptman
  24. geekgonecrazy commented on May 28, 2022

    @geekgonecrazy
    Contributor
  25. engelgabriel commented on Mar 21, 2023

    @engelgabriel
    Member

    Closing this issue as Rocket.Chat is focused on fully adopting the Matrix.org protocol. We are planning further data model and architecture changes to fully embed the home server capabilities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    plannedPlanned feature being handled by internal backlog

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions