Hi, I am new here, I would like to suggest an idea, I'm thinking about collaborative editor in XMPP for some reasons
We have some stuff already in XMPP could use for it:
• XHTML-IM ( https://xmpp.org/extensions/xep-0071.html )
• XMPP E2E Security ( https://wiki.xmpp.org/web/XMPP_E2E_Security )
• Publish-Subscribe ( https://xmpp.org/extensions/xep-0060.html )
• Bookmarks ( https://xmpp.org/extensions/xep-0048.html )
• Multi-User Chat ( https://xmpp.org/extensions/xep-0045.html )
• and maybe other XEPs I didn't learned yet!
What do we need:
• Shows cursors and selections of remote users
• Show the others having joined the session and something like Chat State Notifications ( https://xmpp.org/extensions/xep-0085.html ) and Chat Markers ( https://xmpp.org/extensions/xep-0333.html ) XEPs
• Syntax highlighting
• That's all I have for now Maybe the idea is old or something I don't know, I'm just telling my thoughts!
stpeterhas left
wurstsalathas left
Zash
There's https://xmpp.org/extensions/xep-0284.html
lumihas left
xnamed
well, looks good, I will try with it
stpeterhas joined
peterhas joined
neshtaxmpphas left
neshtaxmpphas joined
zachhas left
zachhas joined
lskdjfhas left
waqashas left
adityaborikarhas joined
adityaborikarhas left
adityaborikarhas joined
waqashas joined
peterhas left
adityaborikarhas left
stpeterhas left
andyhas joined
Yagizahas joined
zachhas left
zachhas joined
adityaborikarhas joined
LNJhas left
adityaborikarhas left
adityaborikarhas joined
LNJhas joined
patrickhas left
karoshihas joined
jcbrandhas joined
zachhas left
zachhas joined
pdurbinhas joined
adityaborikarhas left
adityaborikarhas joined
xnamedhas left
sezuanhas joined
adityaborikarhas left
Lancehas joined
Yagizahas left
Yagizahas joined
sezuanhas left
sezuanhas joined
murabitohas left
murabitohas joined
Lancehas left
sezuanhas left
adityaborikarhas joined
Lancehas joined
murabitohas left
zachhas left
zachhas joined
murabitohas joined
murabitohas left
murabitohas joined
jubalhhas joined
murabitohas left
murabitohas joined
LNJhas left
LNJhas joined
murabitohas left
murabitohas joined
murabitohas left
murabitohas joined
zachhas left
zachhas joined
Douglas Terabytehas left
adityaborikarhas left
Mikaelahas joined
murabitohas left
murabitohas joined
Lancehas left
zachhas left
zachhas joined
adityaborikarhas joined
larmahas left
wurstsalathas joined
marc_has joined
lovetoxhas joined
lovetox
pep., Ge0rG does that proposal for adding a feature under a feature break entity caps?
Zash
Yup. And probably the schema to.
waqashas left
larmahas joined
valohas left
Ge0rG
I still think it's less wrong than putting all combination os sub-features into individual feature var strings.
sezuanhas joined
jonas’
except that it breaks all the things
zachhas left
zachhas joined
valohas joined
Ge0rG
create a new feature tag that's recursive
Zash
And caps3
Ge0rG
caps3.11
Ge0rG
caps for workgroups
jonas’
'390 is still experimental
jonas’
so that’s the least of worries
marc_has left
Lancehas joined
pep.
Is ecaps2 implemented at all in clients? I know it's in xmpp-parsers, and I know there's a prosody module to convert to escaps2, but that's about it?
lovetox
could it not be named, "pubsub:order-by" ?
pep.
lovetox, that's the second proposal
pep.
But it's ugly
lovetox
why though? it breaks nothing
jonas’
pep., aioxmpp has an implementation, obviously
lovetox
and nobody looks everyday at xml streams, so i dont really care if its ugly
pep.
lovetox, yeah as I said in the mail
pep.
I was mostly curious if there were prettier alternatives
pep.
Or smarter ones
pep.
jonas’, right
jonas’
XEP-0128 forms!!kk
jonas’
actually...
lovetox
yeah that was my next bet
pep.
actually..
lovetox
you have to disco info the pubsub service itself anyway
lovetox
so it can announce all features inside its extended form
lovetox
like httpupload does
lovetox
with max-size etc
pep.
or pubsub nodes, or .. muc? :)
lovetox
its still bit of a hack
ralphm
Well, forms are for config. I think the way we would have done this is per-subprotocol features. It is a bit untortunate. Nested features would not work correctly with CAPS.
pep.
Then you can do disco#items on muc with order-by and rsm, imagine the possibilities!!1!
jonas’
nested features would break any schema-validating parser
jonas’
although I’d like to get written down somewhere that unknown elements and attributes MUST be ignored, unless they carry an attribute {urn:xmpp}critical="true" :>
jonas’
in which case you have to run in circles screaming full of terror
marc_has joined
ralphm
One other possibility is querying a node that is the 'main' subprotocol namespace and adding the rsm feature on that
jonas’
ralphm, but the roundtrips
Zash
Oh right, disco and nodes.
jonas’
(and it doesn’t work with caps either)
ralphm
I didn't say is was pretty
lovetox
i would just add a field var=feature to the extended form
lovetox
and list all features there
lovetox
prettier in my opinion
jonas’
ralphm, also, what if I create a pubsub node named like a feature (very common in PEP)
Zash
jonas’, hush
ralphm
Yeah
Ge0rG
jonas’: obviously, this must be forbidden by the protocol!
Zash
Wasn't there some overlaps like this already?
ralphm
I think for now just having a new pubsub feature and a new disco feature suffices
ralphm
If there only a handful of combinations, we don't have to overengineer
pep.
Should we also update pubsub to create pubsub#with-rsm btw? To fix the current thing that's broken
pep.
"broken"
ralphm
Yes
ralphm
That was my suggestion
lovetox
yeah pubsub has already endless feautres, just add pubsub#rsm and be done with
ralphm
Backwards compatible, too
ralphm
Old clients will see the rsm feature and will try
pep.
I'm curious though who mandates to add RSM in disco
pep.
RSM itself?
ralphm
Not really
ralphm
Rsm for disco isn't defined
pep.
Not that
ralphm
Or at least not explicitly
Zash
disco#items?
pep.
ralphm, you misunderstood
pep.
What says currently, "if you do rsm with pubsub, add rsm in disco#info"
pep.
Because I'd want to remove that when introducing pubsub#rsm
ralphm
Nothing?
ralphm
Maybe instead, if you want RSM on disco items, we need to expose a feature, and update XEP-0030
Lancehas left
pep.
update XEP-0030 !!1! /me runs wavings arms in the air
pep.
Am I going to get punished for daring to update a Final XEP?
ralphm
Or a new XEP
pep.
:(
Zash
pep., the elders will come down from the temple and whack ye upon thy fingers
ralphm
Zash: like who?
Zash
Dunno
marc_has left
pdurbinhas left
pdurbinhas joined
Nekithas joined
zachhas left
zachhas joined
pep.
https://xmpp.org/extensions/xep-0059.html#support how can I, without breaking it, say "don't do it anymore" :)
pep.
heh, there are mentions already of the issue in this paragraph
pep.
Maybe that could have been sorted out at this time
murabitohas left
murabitohas joined
goffihas joined
adityaborikarhas left
adityaborikarhas joined
adityaborikarhas left
adityaborikarhas joined
murabitohas left
murabitohas joined
zachhas left
zachhas joined
debaclehas joined
xnamedhas joined
murabitohas left
murabitohas joined
pdurbinhas left
goffihas left
xnamedhas left
xnamedhas joined
pdurbinhas joined
lskdjfhas joined
UsLhas joined
marc_has joined
jubalhhas left
sonnyhas joined
sonnyhas left
zachhas left
zachhas joined
sonnyhas joined
pdurbinhas left
pdurbinhas joined
debaclehas left
karoshihas left
karoshihas joined
rionhas left
rionhas joined
debaclehas joined
xnamedhas left
xnamedhas joined
jubalhhas joined
xnamed
few years ago jabber.ru was supporting XEP MUC-Filter which is not exist on xmpp.org and it was working very well with Isida-bot ( http://isida.dsy.name/wiki/en:Index ) and added later to other bots
I have unofficial mod_muc with muc-filter support, working on ejabberd-2.1.13 and previous versions
the module was not published by Ejabberd, I think it was monopolized by jabber.ru, I know many who wanted to get it but when they asked about it, the answers is like something that did not exist
There is short description about the XEP here ( https://github.com/xnamed/isida4/wiki/muc-filter#principle-of-operation )
A list of bot filters that it can do here ( https://github.com/xnamed/isida4/wiki/muc-filter#configuring-the-bot )
If anyone is interested about that, if the description not enough I will send the module if necessary, I can explain it if you don't know erlang and I think it could be implemented the same way on Prosody
One of the good things about this feature, users can choose filters in each room, no need to write filters for the server for everything
For some time I thought there is no need for it, but there are still some kids, It was very annoying to me when one of my friends room got spammed, more than 1000 messages, then I get them all on my other devices because of XEP MAM :)
zachhas left
zachhas joined
afrogeekhas left
Guus
xnamed: I'd be happy to add that to Openfire
xnamed
I'm happy to hear it Guus
jonas’
I didn’t understand the documentation
Guus
jonas’ it's not overly clear, but the generic principle appears to be: don't broadcast stanzas that are sent to a MUC. Instead, forward it to a JID. Only if that JID gives an 'ok', broadcast the original stanza.
jonas’
ah. hm.
Kev
So that's very similar to what we discussed at the Summit, about having an external spam-checker service that would give yay/nay verdicts on stanzas.
Kev
If I'm understanding correctly.
Zash
Who was it that made a thing for that?
zachhas left
Zash
Or, what it called?
zachhas joined
Zash
Providence?
Zash
Seems to have dissapeared into a black hole.
pep.
The thing valerian did? (the jappix author)
Zash
Yes
pep.
https://journal.valeriansaliou.name/announcing-providence-a-spam-filter-for-xmpp/ it's disappeared though :(
edhelashas left
xnamed
at least it can be choice for who like to use it, and it is not only about spamming, censoring, option for each participant to block private messages with someone and other things
edhelashas joined
Kev
Oh, it's per-occupant? I missed that bit. That's fun.
jonas’
I imagine pain down that road with MUC MAM
xnamed
yes
Kev
jonas’: Yes.
jonas’
a world of pain
andrey.ghas left
goffihas joined
pep.
https://xmpp.org/extensions/xep-0004.html#final-changes we don't seem to add this kind of changelogs anymore do we?
jonas’
presumably you would find those in the normal version log
Yagizahas left
pep.
So I've got a diff for pubsub/rsm SHOULD-ing a new feature in disco#info of the entity. Now I'm looking at RSM and Order-by and I want to remove the "Determining Support" part, because it doesn't make sense on its own, but that would mean removing SHOULDs or MUSTs (or MUST NOT)
jonas’
pep., propose the diff
jonas’
council will figure out a way
pep.
k
jonas’
IMO it should be OK to remove that (IIRC) because the information is useless to a peer anyways
pep.
Indeed
pep.
Any other XEPs one can think of that should also be amended?
pep.
Generic stuff? 0004?
jonas’
'4 has nothing to do with RSM, does it?
pep.
it doesn't, but it's generic like rsm and doesn't mean much as is, does it?
jonas’
it does
jonas’
people do send forms directly via messages
pep.
Though, TIL <message> can contain <x xmlns="jabber:x:data"/>. Not clue what that means
jonas’
and clients which support displaying and handling that would... exactly
jonas’
... expose that feature
sonnyhas left
jubalhhas left
pep.
I was also reminded of jabber:x:search, that can use forms, rsm, etc. So we'd need to add new disco features on every single spec that can use any of these :/
jonas’
yes
jonas’
except if the spec requires it frmo the start
pep.
yeah
jonas’
like muclumbus-search
pep.
muclumbus-search will be superseeded by disco#items+rsm+order-by at some point :P
Nekithas left
pep.
jonas’, or like MAM
pep.
Though everybody includes it..
jonas’
pep., I miss +filter-by-name/address/description in that enumeration
Nekithas joined
Link Mauve
xnamed, I once wrote https://hg.linkmauve.fr/eldonilo/barbecue/ as an implementation of XEP-0284 for the web, I don’t maintain it anymore and the library it’s build upon is dead too, but you may find some inspiration in there. It’s targetting wysiwyg more than plain text, and doesn’t have syntax highlighting or cursors/selections, but that could be added to 0284.
pep.
order-by and rsm are sufficient. You "just" need to add a "name"/"address"/"description" filter?
pep.
the @by
jonas’
pep., and then a thing which returns all the info at once instead of having to disco#info each individual result returned by disco#items
jonas’
pep., disco#items does not support filtering so far
pep.
Sure, what I just said
pep.
We were looking at adding order-by for disco#items with edhelas
jonas’
seems reasonable
pep.
Maybe you want a filter-by as well, but order-by + rsm should be enough for now? (put relevant items first, ignore the rest)
jonas’
and once you start with filter-by, you’ll want to write down how that filtering works, which will be its own mess. there’s a reason it’s underspecified in muclumbus at the moment
jonas’
(it boils down to "whatever postgres does")
pep.
yeah..
Zash
SQL over XMPP?
pep.
Specifying order-by on disco#items of a MUC service is already fun :(
pep.
There's only 'creation' and 'modification' filters atm
pep.
"What does that even mean on MUC"
jonas’
pep., nothing useful
Zash
What does it mean in PubSub?
pep.
Zash, that's defined in the XEP
edhelas
well to me 'creation' should be enough for MUC disco#items
edhelas
Zash please add support for https://xmpp.org/extensions/xep-0043.html
Zash
How about no
MattJ
You're holding back XMPP from world domination
sonnyhas joined
Guus
Yes it's all your fault.
edhelas
Prosody is always holding back XMPP, look at ejabberd, they supports 0043 for years
xnamed
Link Mauve, I will see
Guus
Does SQL-Injection count, btw?
Yagizahas joined
xnamedjust added the module on Github, mod_muc ( https://github.com/xnamed/mod_muc ) Guus, Kev,
Zash
So in conclusion, I killed XMPP. Finally the world is ready for my real evil plan, ZMPP!
Nekithas left
Nekithas joined
Guus
(how do you pronounce that?)
Zash
No talk, only chat!
mimi89999has left
Yagizahas left
Yagizahas joined
karoshihas left
karoshihas joined
jonas’
> Retracted
edhelas, are you serious?
goffihas left
goffihas joined
zachhas left
zachhas joined
adityaborikarhas left
adityaborikarhas joined
edhelas
It's 100% real news, I heard it on FoxNews
adityaborikarhas left
adityaborikarhas joined
xnamed
Zash, what about XNPP?
alameyohas left
alameyohas joined
xnamed
Link Mauve, I found a collaborative editor project on github written in C++ so I think it possible to get some information from it, but we will not implement XEP-0284 on the client as long as it's deferred
Link Mauve
xnamed, it won’t go back to experimental without feedback from implementors.
xnamed
ok
Link Mauve
“09:31:46 pep.> Am I going to get punished for daring to update a Final XEP?”, XEP-0030 already got updated in a very incompatible way in the weirdly-named 2.5rc3 version.
Link Mauve
A valid parser from rc2 and before could choke on disco#info produced by rc3.
Link Mauve
The one in xmpp-parsers had to be updated to remove the explicit ordering restriction.
lumihas joined
pep.
So maybe we could update disco and caps at the same time and break the world :)
Link Mauve
Please don’t.
Chobbeshas joined
Chobbeshas left
Chobbeshas joined
Link Mauve
xnamed, which project is that, btw?
xnamed
Link Mauve, https://github.com/gobby/gobby
goffihas left
Link Mauve
Ah, I know this one, but it’s using a totally different protocol atm.
xnamed
yes I know
xnamed
but same idea
jubalhhas joined
jubalhhas left
Chobbeshas left
stpeterhas joined
peterhas joined
peterhas left
jubalhhas joined
adityaborikarhas left
adityaborikarhas joined
edhelashas left
edhelashas joined
edhelashas left
stpeterhas left
edhelashas joined
edhelashas left
edhelashas joined
Nekithas left
Lancehas joined
sonnyhas left
pdurbinhas left
mimi89999has joined
adityaborikarhas left
xnamed
who are the the XEP-0284: Shared XML Editing authors here?
• Joonas Govenius
• Peter Saint-Andre
• Tom Pusateri
so we could discuss it with them first
adityaborikarhas joined
pep.
xnamed, peter is on this chan often enough. I suggest you ask your questions on the standards mailing list though
stpeterhas joined
xnamed
thanks pep.
adityaborikarhas left
mimi89999has left
zachhas left
zachhas joined
mimi89999has joined
Chobbeshas joined
Chobbeshas left
Chobbeshas joined
sonnyhas joined
stpeterhas left
adityaborikarhas joined
sonnyhas left
sonnyhas joined
adityaborikarhas left
ziggyshas joined
jubalhhas left
Lancehas left
Mikaelahas left
Mikaelahas joined
sezuanhas left
adityaborikarhas joined
adityaborikarhas left
adityaborikarhas joined
Lancehas joined
sonnyhas left
patrickhas joined
COM8has joined
xnamedhas left
xnamedhas joined
sonnyhas joined
COM8has left
waqashas joined
goffihas joined
ziggyshas left
stpeterhas joined
peterhas joined
ziggyshas joined
sonnyhas left
marc_has left
jonas’
does anyone know what `tc` is, as an XMPP server-side software/component?
peterhas left
peterhas joined
adityaborikarhas left
zachhas left
marc_has joined
peter
I always kind of liked Shared XML Editing but I suppose it was too complex.
Link Mauve
I quite liked implementing it.
Link Mauve
Damn, that was in 2012.
xnamed
we will not focus on it immediately, it was an idea I did not think the XEP was existed
adityaborikarhas joined
sonnyhas joined
xnamed
What about OMEMO support in groupchat as gajim-plugin ( https://dev.gajim.org/gajim/gajim-plugins/wikis/omemogajimplugin#groupchat ) and Conversations? Groupchat with OMEMO encryption works only in rooms that are:
• non-anonymous
• members-only
• works only with contacts that you have in your roster
adityaborikarhas left
adityaborikarhas joined
ziggyshas left
Chobbeshas left
Chobbeshas joined
goffihas left
Lancehas left
Douglas Terabytehas joined
ziggyshas joined
marc_has left
peterhas left
rionhas left
rionhas joined
kokonoehas left
kokonoehas joined
sezuanhas joined
goffihas joined
goffihas left
goffihas joined
stpeterhas left
sonny
Link Mauve, remember https://github.com/fabi1cazenave/sxedit 😀 ?
pep.
https://github.com/fabi1cazenave/sxedit/commit/a99facfa291f22d32ae893a4ca505a7a7027270a "Fait tomber en marche.", Some part of France is currently at it :-°
sonny
crap, where is my right to be forgotten when I need it
pep.
haha
sonny
IIRC SXE/sxedit worked really well and editing nodes instead of characters made collaboration much easier as we would "lock" the nodes that were being edited
adityaborikarhas left
murabitohas left
murabitohas joined
goffihas left
adityaborikarhas joined
ziggyshas left
adityaborikarhas left
adityaborikarhas joined
sezuanhas left
andrey.ghas joined
peterhas joined
stpeterhas joined
mr.fisterhas joined
sezuanhas joined
ziggyshas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
Chobbeshas left
Chobbeshas joined
igoosehas left
igoosehas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
sezuanhas joined
sezuanhas left
Chobbeshas left
Chobbeshas joined
Yagizahas left
jubalhhas joined
murabitohas left
murabitohas joined
Chobbeshas left
adityaborikarhas left
Link Mauve
sonny, yup. ^^
Chobbeshas joined
Chobbeshas left
Chobbeshas joined
Lancehas joined
jubalhhas left
goffihas joined
pdurbinhas joined
sonnyhas left
ziggyshas left
sonnyhas joined
pdurbinhas left
ziggyshas joined
waqashas left
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
COM8has joined
ziggyshas left
COM8has left
zachhas joined
valohas left
valohas joined
ziggyshas joined
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
ziggyshas left
ziggyshas joined
rionhas left
rionhas joined
COM8has joined
COM8has left
Nekithas joined
debaclehas left
peterhas left
wojtekhas joined
marc_has joined
sezuanhas joined
alameyohas left
Guushas left
zachhas left
zachhas joined
Guushas joined
alameyohas joined
jubalhhas joined
stpeterhas left
alameyohas left
alameyohas joined
pep.
https://xmpp.org/extensions/xep-0059.html#forwards, I'm not sure I understand the following:
Responding entity support for paging through a result set is optional. If it does support paging (not just Limiting the Number of Items), then in each page it returns, the responding entity MUST include <first/> and <last/> elements that specify the unique ID (UID) for the first and last items in the page. If there is only one item in the page, then the first and last UIDs MUST be the same. If there are no items in the page, then the <first/> and <last/> elements MUST NOT be included.
zachhas left
zachhas joined
pep.
"paging" only means a subset of RSM right?
pep.
hmm, I guess I'll come back to that once I've read <first/> and <last/>
Ge0rG
I wonder what good RSM is for if you take away pagination.
pep.
I'm also curious
pep.
Maybe you can just get the first N items and be happy with that
pdurbinhas joined
Ge0rG
Like in matrix
sezuanhas left
pdurbinhas left
xnamedhas left
xnamedhas joined
Zash
pep.: wat
Zash
Oh, I thought I saw a "NOT" in "the first and last UIDs MUST be the same"
pep.
Also I am definitely not sure how to picture this:
No items will be omitted from pages not yet sent (even if, after earlier pages were sent, some of the items they contained were removed from the set).
pep.
2.2, the paging features
pep.
Does that mean when the server gets a request, it should store a reference of all items contained in the set, and page through that and not what's actually happening?
pep.
It can't store items directly because of the first condition: "Each page of the result set is up-to-date at the time it is sent (not just at the time the first page was sent)."
wojtekhas left
ziggyshas left
Ge0rG
Maybe we need to define a message DAG that can be linearly paged.
Zash
Linked list?
pep.
DAG? What would you branch for?
pep.
"The responding entity maintains no state" lol, that's a feature of that paging protocol
jubalhhas left
pep.
Doesn't that directly contradict the second rule
pep.
Maybe that's why these guarantees are MAY, so that responding entities can pick what they like in there
xnamed
I added explanation ( https://github.com/xnamed/mod_muc/blob/master/README.md ) about muc-filter very close to the implementation in the ejabberd module I hope that my English is enough or at least to make it easier to you, I had no other way to explain it
Zash
pep.: It would likely need to be taken in context of whatever it's used with, eg MAM