Closed valentt closed 1 year ago
This is very complex :smile: hehe
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 :)
You can always just decentralize MongoDB server.
Maybe implement the http://matrix.org/ spec?
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
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.
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
Hi @ara4n any thoughts on this one? Your input would be much appreciated.
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!
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. :)
+1
Would be awesome if you guys took a look at matrix.org
This is going to be big. We started the work on this, but had to deal with other priorities this week. We will resume next week.
Please join the discussion at https://demo.rocket.chat/channel/federation
Another source of inspiration for the work ahead of us: https://github.com/matrix-org/matrix-appservice-irc/blob/master/HOWTO.md
Calling all early adopters .... Federate your Rocket.Chat tonight !!
Rocket.Chat federation is up and running thanks to the kind assistance of @ara4n and the friendly folks over at matrix.org !
Just add hubot-freddie and a Synapse Home Server:
https://www.npmjs.com/package/hubot-freddie
Please note that this is certainly Work-In-Progress - and is intended for early adopters ONLY.
You can track the action here at:
https://github.com/RocketChat/Rocket.Chat.Federation
Submit a PR - or star the project to cheer us on!
Take a look at:
Personally, I prefer orbit: https://github.com/orbitdb/orbit
It is build on top of IPFS, and this means that it is harder to attack the common transport layer, if it is used by many. See: http://mitar.tnode.com/post/146227562556/towards-layered-re-decentralized-web
But it is earlier in development than ssb.
My post is also related to #404
The XMPP protocol provides federated communication. I have my own XMPP server to talk with some rebel friends who reject WhatsApp, Telegram and other commercial solutions.
One server can have several users. Users in this server can talk with users from other server. Some implementations have feature like blacklist and white list, so you can define the boundaries of a cluster.
while I was looking for this and indeed was very confused because I thought rocket.chat is already based on matrix (but isn't?!): aside the "official" bridge announced by @illicitonion another bridge out in the wild comes from @exul https://github.com/exul/matrix-rocketchat also Google Summer of Code adresses this https://rocket.chat/docs/contributing/google-summer-of-code/
Rocket.Chat on Mesh Network
Following! I love rocket.chat and Matrix. If I was a developer I would be all over helping code this. I am starting to learn how to code for this very reason.
Our goal (10 years now) is to create networks of organizations that can organically link to other networks. For example in the old world of yahoo or google and even Facebook groups they are siloed groups of similar interest.. ultimately requiring them to merge. So if for example all the Save The Tee groups in San Francisco can link up in some way we can share information and bridge these groups. Then we link the save the tree groups in San Francisco to the save the tree groups in San Diego and so forth... this ultimately creates a Save The Trees group of California... which can link to other state networks and form a national network.
The goal of this process to is naturally break down silos and build ecosystems of communities so to speak without disturbing the autonomy of the original group. The eco systems link networks that need one another too. Those working to save the tree are also working with those helping the birds that live on the trees. If the trees are cut down that effects other systems such as the soil, rivers, aquatic life and everything down stream.
Networks of networks. Not sure if this makes sense? You have thousands of these networks that need to work together collectively. It would require us to join hundreds of groups without federated systems and approaches to bridge networks and groups :)
@kvingedal Sounds similar to what Mastodon does, and is something I'm all for.
@kvingedal Nice idea. I participate in a couple of groups, who currently build their own solution. I think it is slowly ready for one united solution, as you describe it. How do you think could we solve the UI? So, how to realize this:
"The goal of this process to is naturally break down silos and build ecosystems of communities so to speak without disturbing the autonomy of the original group."
I think its save to work with labels.
You create your own group and label it. So: Save the trees, save the birds. Others can create the same. Then, there is one feed with all the "Save the trees" labels on it. You can also choose multiple labels, so you see both, the "Save the trees" and all the "Save the birds" messages.
So it is flexible and easy.
@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!
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
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.
federate with Matrix
any updates regarding that?
@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.
@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.
I won't comment on their current state of decentralization.
Can you link to anything on this topic?
Idk about federation, but they have launched their p2p service
https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/
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....
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.
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.