-
raucao
interestingly, this topic is part of a post on the ejabberd blog that appeared after our convo here:
-
raucao
> What if there were a caching and resynchronization protocol for multi-user chatrooms across different servers? This could enhance the robustness of the federation without the storage burden of full content replication, offering the best of both worlds.
-
raucao
https://www.process-one.net/blog/matrix-and-xmpp-thoughts-on-improving-messaging-protocols-part-1/
-
raucao
it's really mostly a question, but i'm obviously not the only one interested in it ;)
-
Kris
MattJ, for GC-3, any thoughts on including fmuc or similar specs right in the XEP to improve the odds of it being implemented?
-
Kris
might be worth talking to the ejabberd devs if they are also thiking about this right now
-
Kris
also, is there some summary of the UK code sprint?
-
MSavoritias (fae,ve)
second to make it easier to make MUC distributed
-
MSavoritias (fae,ve)
a good thought out architecture (i would disagree with FMUC) would be nice to see. or at least design so that such an architecture can be done
-
Kris
IMHO I think a puppeteering bridge between two channels that is intentionally setup is quite ok, but if that could somehow be more streamlined or included in prosody as a module, that would be great, as the Cheogram bridge that can do this is not that easy to setu✎ -
Kris
IMHO I think a puppeteering bridge between two channels that is intentionally setup is quite ok, but if that could somehow be more streamlined or included in prosody as a module, that would be great, as the Cheogram bridge that can do this is not that easy to setup ✏
-
MSavoritias (fae,ve)
it depends how much in depth we want to go yeah. making some kind of bridge would be the easiest
-
rom1dep
> second to make it easier to make MUC distributed I really don't see the practical benefits. Unless identities become federated (and we are going peer to peer), we still depend on our own server to be available, which is largely mitigated, without protocol change, via clustering & al.
-
MSavoritias (fae,ve)
you dont have to switch at once. you can prepare pieces slowly to be distributed :) also it could lead to a better architecture with destributed being the side-effect
-
Kris
I agree that it isn't terribly useful and IMHO Matrix is a good example how it causes more issues than it is worth (can't easily deleted rooms and room version upgrades are a nightmare), but if you want to migrate a channel to another server for example, such a bridge could be quite useful. Also if a certain server is blocked in a country for example, a muc-muc bridge would allow easy circumvention of that.
-
rom1dep
> you dont have to switch at once. you can prepare pieces slowly to be distributed :) > also it could lead to a better architecture with destributed being the side-effect Just like Matrix has been "close to being peer-to-peer" for 6 years (not to mention federated identities, "any week from now"), I don't believe those aspects are trivial and can be rolled-out incrementally without a clearly defined and generally accepted plan beforehand ↺
-
rom1dep
> I agree that it isn't terribly useful and IMHO Matrix is a good example how it causes more issues than it is worth (can't easily deleted rooms and room version upgrades are a nightmare), but if you want to migrate a channel to another server for example, such a bridge could be quite useful. Also if a certain server is blocked in a country for example, a muc-muc bridge would allow easy circumvention of that. there's a plethora of cases and edge-cases to take into consideration and that vary depending on your threat/censorship model ↺
-
rom1dep
in the end, network-level and established solutions like VPNs/proxies/tor/… may be better and more reliable bets
👍️ 2 -
jjrh
I don't see the value in distributed MUC's where we all keep a copy. The main reason one might want something like this is redundancy, geographic concerns or to spread the load. But that should be a opt in server level thing where the owner explicitly configures the alt servers. You can of course do that with DNS but defining how the alt servers sync data and transparently switch back to a 'leader' server would be useful.
-
jjrh
The problem the existing XMPP ecosystem has in my opinion is MUC's are hard to find, there needs to be a sorta 'global' index so users can find a MUC to join. It should be easy for me to search/find the 'definitive' muc for python or linux, tvshows, whatever. Same way back in the day 'freenode' was the semi authoritative place to find a opensource project's channel.
-
Zash
> a sorta 'global' index Something like https://search.jabber.network/ ?
-
jjrh
exactly. But I can configure my server to have 'muc.jabber.network' and it returns that list.
-
jjrh
You can take that a step further and actually join xsf@muc.jabber.network and when my server tries to join that it directs to xsf@muc.xmpp.org - if the xsf channel needs to move to xsf@muc.xmppstandards.org you can update that without user intervention.
-
Zash
You can already search SJN directly from e.g. Conversations and maybe a couple other clients.
-
jjrh
That's a nice feature. It would be useful to me to have a sane way of configuring my server to have external_muc.myserver.org and specify 10 channels across 6 different servers so when my users browse the channels that's what shows up.
-
Zash
You can already list arbitrary addresess with some common Prosody configuration, so as long as you don't actually want aliases.
-
jjrh
Oh that's nice, i'll have to look into that
-
Zash
`disco_items`, often used to list not automatically listed MUCs or whatever
-
jjrh
I just noticed one channel moved servers - last message was the new muc to join - that's the kinda thing that really should be automatic
-
pep.
> Kris> if you want to migrate a channel to another server for example I think client support for <destroy@jid/> and <gone/> is much cheaper for this specific use-case
-
Zash
Yeah, there is a way already, you can point at a new address when destroying a MUC.
-
Zash
Needs client support of course, I went on an issue filing spree a while back.
-
jjrh
At the end of the day you can write the best most well thoughtout XEP's but if no one implements (or implements incorrectly) it's not very useful.
-
Zash
Problem: XEP is too long, nobody reads the whole thing. Solution: More, shorter XEPs! New Problem: Too many XEPs! Solution: Merge them into a single specification! New New Problem: See First Problem.
-
Zash
Meanwhile, all the users went elsewhere beacuse lack of Stickers
-
jjrh
Not sure who is complaining about XEP's being too long. The bigger problem is a lack of reference implementations. https://xmpp.org/extensions/xep-0491.html sounds cool - what has implemented this, how do I know I actually followed the spec?
-
Zash
> Not sure who is complaining about XEP's being too long. The bigger problem is a lack of reference implementations. https://xmpp.org/extensions/xep-0491.html sounds cool - what has implemented this, how do I know I actually followed the spec? By going to https://xmpp.org/extensions/ and clicking the 'Implementations' button next to the XEP you wonder about. ↺
-
jjrh
Did they actually go though a interoperation test or was it just submitted as implemented?
-
pep.
It's declarative. It's up to the projects to say they do implement it
-
Zash
They?
-
Kris
The projects
-
Zash
You do not need any implementation to submit a XEP, the intent is that it would be implemented during the Experimental phase, with feedback going into improving the XEP.
-
Zash
I poked singpolyma, I am pretty sure Cheogram implemented '491 actually.
-
jjrh
Sometimes what's done is the people concerned with a standard get together and actually test things interoperate
-
Zash
We do have interop events occationally.
-
jjrh
I never noticed that implementers button though that's nice.
-
jjrh
qxmpp is really coming along!
-
Kris
> We do have interop events occationally. the berlin sprint is afaik often used to test client interoperability ↺