-
Zash
... but?
-
Ge0rG
Nobody does it. Maybe most client developers don't care about UX, nor about corporate use cases
-
jonasw
I feel that org setup is more of a server side thing?
-
Ge0rG
Server developers don't care about corporate either.
-
jonasw
I think the ignite folks do
-
Ge0rG
But that doesn't matter because the client UX sucks
-
jonasw
reminds me to make things even harder for clients by specifying the IBR flow for ToS
-
jonasw
even though I’m inclined to simply say "ToS setups where consent is required before signing up are not supported by this XEP, but may be handled by a future specification"
-
Zash
"use a web form or something"
-
Ge0rG
jonasw: so what you are trying to invent has no value over web forms but compatibility issues?
-
Zash
As opposed to everything else
-
jonasw
Ge0rG, it has; for GDPR, you don’t need consent anyways :)
-
jonasw
consent-requiring services will need that, but that’s #notmydepartment right now
-
jonasw
(but the spec can be extended to support that, so that’s good)
-
jonasw
Kev, MattJ, can some of you help me with an issue on jabber.org?✎ -
jonasw
Kev, MattJ, can some of you help me with an issue on jabber.org (the xmpp service)? ✏
-
MattJ
Not sure if I'll be able, but shall if I can - what's up?
-
jonasw
there’s a room with an invalid JID on conference.jabber.org: @conference.jabber.org (yes, with empty node part)
-
Seve/SouL
I think Anu touches an interesting point and I have to agree with him on the specific idea he mentioned. Discord, for instance, does a very similar thing. Where you create a 'server' (I think they call it that way) and you can create as many as MUCs you want under that 'server'. Do we have a way in XMPP to do this? Like a top level node where you add MUCs under it? Maybe with MIX this is possible?
-
jonasw
Seve/SouL, apt install prosody, echo 'Component "sub.domain.example" "muc"' >> /etc/prosody/prosody.cfg.lua ?
-
jonasw
it would be great if that room could be nuked, MattJ
-
Ge0rG
jonasw: don't forget prosody-modules and two days of surfing the web to find out which versions of which modules are needed
-
jonasw
Ge0rG, MUC is luckily built-in :)
-
Ge0rG
Seve/SouL: I've argued for a long time that we need a two-click server deployment that integrates with LDAP, has all the nice modules... and a usable web client
-
jonasw
Ge0rG, do that!
-
jonasw
don’t argue, make it
-
jonasw
that being said, I think I mentioned that Guus is doing things in that direction. not only with a web client, but with WebRTC conference things
-
Seve/SouL
jonasw, haha, no no. I mean, unless you want to have this component for every user x) They call it a server but it's just like the root. Let's say we join Discord. I create a 'server' called XSF. And under it, I create offtopic, board, council, etc.. and everybody that joins the XSF 'server' can check the list of MUCs I've created for the XSF.
-
jonasw
but nobody is looking in that direction for some reasn.
-
Ge0rG
jonasw: but it's real work. Work for people who are more skilled in Lua and mercurial
-
jonasw
Seve/SouL, you mean like a separate MUC namespace for each user?
-
Seve/SouL
All of that, is under the same service
-
Ge0rG
jonasw: I'm looking for corporate clients who would ask for that. None found so far
-
jonasw
Seve/SouL, this won’t be possible with MIX either, and I’m not sure if it makes sense at all. A corporate deployment would have a domain anyways and host their services under that domain.
-
Seve/SouL
Hmm, I didn't have companies in mind now, but imagine a large company. They would have an xmpp server, and each department would create their own MUCs inside the department's namespace. Like: IT namespace> Frontend dev, Backend dev, DevOps, etc
-
Ge0rG
Seve/SouL: that's great. Except that's not how large companies work
-
MattJ
Seve/SouL, you can have as many MUC domains as you like
-
Ge0rG
Seve/SouL: today's bigcorp want a cloud-based / private-cloud deployment that's fully integrated into their CMDB and AD and stuff
-
MattJ
Which just about any XMPP server provides
-
Ge0rG
MattJ: are you speaking of AD integration or of "as many MUC domains as you like"
-
MattJ
Both
-
jonasw
(conference.jabber.org really could use some cleasing)
-
Seve/SouL
I understand what you say MattJ. But I think it would be interesting to explore that feature, as Anu said Slack works that way and Discord too. Of course they have this feature because they provide this service, and this feature maybe would not be useful for someone using XMPP just to talk with friends, but...
-
Ge0rG
MattJ: so you can write the instructions to set up a prosody for modern clients, including AD integration and a web client, on a napkin?
-
MattJ
Most likely, yes
-
MattJ
And if you ask why not already done - everyone has a different set of requirements
-
MattJ
You may think it, but not every organisation uses AD, or needs/wants a web client
-
jonasw
Seve/SouL, I agree that a hosted thing which allowed to easily add a domain, have a tickoption "[ ] Federate with other servers" and otherwise just deploys a modern XMPP server would be great, but time & money
-
jonasw
I doubt that one can write down the instructions for integrating with LDAP on a napkin.
-
jonasw
picking auth_ldap vs. auth_ldap2 is a non-trivial choice to start with :)
-
Ge0rG
MattJ: I know how complex it is to set up a prosody instance for non-commercial users, with less strict requirements. And it won't fit on a napkin.
-
MattJ
jonasw, Prosody's LDAP module was designed to work with no-to-minimal configuration a typical Debian/Ubuntu LDAP setup
-
MattJ
What I'm saying though is that there is no "standard set-up" (for anything)
-
MattJ
Everyone has their own requirements and stuff they want to configure, including Ge0rG
-
jonasw
there is no standard LDAP setup, from what I can tell :)
-
jonasw
but maybe that’s just me
-
MattJ
There is not, but there are many. The one that Debian tries to encourage you into is one
-
MattJ
If anyone thinks that enterprise deployment of any integrated software fits on the back of the napkin, they're plainly wrong
-
MattJ
The reason things like Slack succeed is precisely because they tend to bypass all that in the beginning
-
jonasw
yeah
-
Ge0rG
MattJ: then people realize how expensive Slack is and want a single-click deployment. And end up with Mattermost
-
jonasw
or rocket.chat
-
jonasw
MattJ, any luck with the MUC nuking?
-
Ge0rG
MattJ: there are some requirements that you can't argue are optional, like 0198, carbons and MAM
-
MattJ
I haven't used Mattermost, but I don't find rocket.chat very high quality software
-
jonasw
MattJ, still it replaced XMPP at the company I work for.
-
jonasw
because of -- among others -- rich text messages (beyond markdown-ish things) for integrated services...
-
Guus
(I was mentioned here, but can't find the mention in recent history)
-
Guus
(or my client is acting up)
-
jonasw
Guus, I was talking about the webrtc-conference-integration work you are doing
-
MattJ
jonasw, I don't seem able to access the server, so... no
-
jonasw
MattJ, aw, pity
-
jonasw
I’ll try annoying folks in iteam@
-
Guus
ah, yeah. We have Jitsi Meet as an Openfire plugin.
-
MattJ
Technically iteam doesn't manage jabber.org, but there is, umm, significant overlap...
-
jonasw
yupp :)
-
jonasw
(checked the volunteers site on jabber.org, found half of iteam there :))
-
jonasw
so now I’m abusing the better signal/noise ratio in that room for my cause!
-
jonasw
on a different but related note: I launched https://muclumbus.jabbercat.org/ into public beta today. It’s a replacement for http://search.wensley.org.uk/ . criticism, improvement suggestions, bug reports etc. welcome✎ -
jonasw
on a different but related note: I launched https://muclumbus.jabbercat.org/ into public beta today. It’s a replacement for http://search.wensley.org.uk/ , so it’s a "search engine" and listing service for public MUCs . criticism, improvement suggestions, bug reports etc. welcome ✏
-
Wiktor
replacement? ha! hardly... no comic sans! just kidding of course, looks very professional, will it provide a JSON endpoint?
-
jonasw
Wiktor, thanks, and yes, some type of JSON endpoint which allows to enumerate rooms is on the TODO list
-
jonasw
gotta run now though
-
Wiktor
great, see ya
-
Ge0rG
Lync is now appending ads to the "missed messages" email. Ads for the Lync mobile app.
-
goffi
jonasw: great ! Is there a way to query this by XMPP ?
-
Ge0rG
jonasw: how comes there is no info about many MUCs?
-
Ge0rG
jonasw: it's also missing the room name from disco#info :(
-
Ge0rG
something like "Name (<jid>)" in the first line?
-
Ge0rG
I know it's the localpart in 99% of the cases, but I have an agenda to change that.
-
Andrew Nenakhov
I think we'll be ready to show a working prototype of proper groupchat replacement this week
-
Andrew Nenakhov
With client that will support it too
-
muppeth
jonasw for servers/rooms supporting muc vcard would be nice to include that in the room stats.
-
Ge0rG
Andrew Nenakhov: that reminds me of the promises the ejabberd team made back then instead of implementing XEP-0198.
-
Holger
Ge0rG will never forget that.
-
Andrew Nenakhov
Yes, we replaced those too and implemented them in forked ejabberd
-
Andrew Nenakhov
Just not supported in clients yet
-
Ge0rG
Holger: feel free to provide me with a bettter example of XMPP vaporware. MIX doesn't count.
-
Andrew Nenakhov
Groupchat is a much easier problem.
-
Ge0rG
Except it's not.
-
Kev
It's an easy problem. It's the solutions that are easy to get wrong :D
-
Andrew Nenakhov
It is. You might join our group chat when now.
-
Andrew Nenakhov
I can send you invitation if you want
-
Holger
Ge0rG: They tried stuff and it failed, that's all. I still fail to see the drama.
-
Holger
Ge0rG: And it's not like 0198 works well.
-
Ge0rG
Holger: the drama is about to making empty promises for years about a feature that's really needed for mobile clients.
-
Ge0rG
Holger: it's got its rough edges, but it works much better than not having it.
-
Holger
Yeah, they've been busy with other stuff.
-
Kev
Who hasn't?
-
Ge0rG
But I know I'm a highly controversial ultra progressive revoluzzer regarding XMPP support for mobile devices.
-
Ge0rG
...or reliable message delivery.
-
Andrew Nenakhov
Actually, we do have progress on this front too.
-
Andrew Nenakhov
;)
-
Ge0rG
Andrew Nenakhov: I'm curious to see your design
-
Andrew Nenakhov
Ok
-
Andrew Nenakhov
Give me a minute
-
Andrew Nenakhov
Ge0rG, add xsf@xmppdev01.xabber.com to your contact list
-
Ge0rG
Andrew Nenakhov: what will happen then?
-
Andrew Nenakhov
You'll be in our group chat
-
Andrew Nenakhov
Best accessed with Xabber for Web, https://web.xabber.com/develop/
-
Andrew Nenakhov
But we've added backwards compatibility for old clients too.
-
Ge0rG
Andrew Nenakhov: I'm interested in the protocol design :)
-
Andrew Nenakhov
Document is in Russian, will take some time to translate
-
Andrew Nenakhov
But basic idea is simple
-
Ge0rG
Andrew Nenakhov: I can handle Russian
-
Andrew Nenakhov
Member sends message to jid of group chat, server resends it to other members
-
Ge0rG
That sounds like GC1 ;)
-
Andrew Nenakhov
For old clients it adds line with name of sender, like, GeOrG: Whatever
-
Andrew Nenakhov
> That sounds like GC1 ;) I actually didn't find specification for that
-
Andrew Nenakhov
Only mention in muc-0045
-
Wiktor
What is received by new clients? is there an extra xml?
-
Andrew Nenakhov
But yeah, so far we didn't encounter anything that would be game breaking by this approach
-
Andrew Nenakhov
Wiktor, yes
-
Wiktor
Sounds interesting, and simple, also looking forward for the spec
-
Andrew Nenakhov
Every message is accompanied by jid of sender, and his avatar hash
-
Andrew Nenakhov
Server also fetches username and avatar from members vCards
-
Andrew Nenakhov
User can replace them
-
Andrew Nenakhov
Also server sends a specially formatted presences so clients can differentiate group chats from regular contacts
-
Wiktor
why wasn't resource part of JID reused as a nick? so that this group chat was somehow distinguished from 1:1 chats?
-
Andrew Nenakhov
Because we didn't think it is necessary )
-
Wiktor
got it :)
-
Andrew Nenakhov
And also too many ears were fought on this issue
-
jonasw
goffi, re querying muclumbus via XMPP: not yet, but that’s on my todo
-
Ge0rG
Andrew Nenakhov: do you have a (Russian) spec you can share?
-
jonasw
Ge0rG, many MUCs don’t publish a description, that’s why there is no info
-
jonasw
Ge0rG, regarding using the room name, many of the top 25 MUCs have a horrible room name (e.g. room name == description); I haven’t found a layout which makes that look nice. I have the data though.
-
goffi
jonasw: cool
-
jonasw
muppeth, could you be more specific regarding the vcard thing? I am reluctant adding third party images on the listing because of the huge potential for abuse.
-
Andrew Nenakhov
Ge0rG, I can share it tomorrow if you don't mind. Too many dirt right now,
-
jonasw
Ge0rG, maybe ellipsizing the room name after 50 characters or something would, but meh.
-
Andrew Nenakhov
We do a room name and separate jid. Jby default client is doing a slug of group name, but it can be redefined
-
Ge0rG
jonasw: yeah, name, description and topic are handled in weird ways. I still think we should promote the name, and my favorite layout would be: > Room Name (jid@domain) > romm description (if different from room name)
-
jonasw
that looks awful, trust me
-
Ge0rG
Andrew Nenakhov: slug-of-groupname is a great way.
-
Ge0rG
jonasw: one day you'll end up with uuid MUC JIDs.
-
jonasw
there are a few already :)
-
Kev
Swift generates those.
-
Ge0rG
Kev: for public MUCs as well?
-
Kev
Of course not :)
-
jonasw
this is luckily public MUCs only :)
-
jonasw
Ge0rG, hm, reverting to the current layout for room name == room description could work though
-
Ge0rG
jonasw: I agree with you that most people can't properly define the room name.
-
Ge0rG
There is a bunch of positive exceptions, though.
-
jonasw
Ge0rG, really bad is the case for kuketzblog, which has no description, but a string which should be the description as name
-
jonasw
Kev, while you’re here, can you fix the room name for this room please?
-
jonasw
it is equivalent to the subject
-
Ge0rG
I think it's symptomatic for the XSF to not be able to properly apply our own standards.
-
Kev
I imagine it's someone using a client that's doing silly things.
-
Kev
Although what the name *should* be, I have no idea.
-
jonasw
"XSF Discussion"?
-
Kev
Indeed, that's what I set it to.
-
Ge0rG
"XMPP Standards Foundation"
-
jonasw
or that
-
Ge0rG
"XMPP Discussion" would be a good one as well
-
jonasw
Ge0rG, force-reload https://muclumbus.jabbercat.org/
-
jonasw
Ge0rG, xmpp@chat.yax.im is also a bad example regarding room name, by the way
-
Ge0rG
jonasw: thanks! nitpick: name of conversations@conference.siacs.eu is "Conversations", so not strictly equall
-
jonasw
Ge0rG, no, it’s "conversations"
-
jonasw
identities: category='conference' type='text' [en] 'conversations'
-
Andrew Nenakhov
jonasw, list of chats should say "XMPP discussion", and whatever yax.im part is not really important for users once they are in room
-
Ge0rG
jonasw: changed the xmpp@chat.yax.im name. When will it refresh?
-
Wiktor
hmm... hiding jids in case there is name... it would look like google :)
-
jonasw
Ge0rG, the about page tells you it takes something about one hour
-
jonasw
Wiktor, I’m considering hiding the JIDs in case there is a name, but then I’ll have to consider how to handle matches inside the JID in the search list
-
Wiktor
personally I would move online users count closer to the name / description. On bigger screens it's hard to read the room name description and count without excessive eye movements :) maybe that's just me :)
-
Wiktor
one way or another big 👍, this service is really good
-
jonasw
thanks
-
jonasw
regarding the online user positioning, I don’t think there’s a good way for that since this is a table :/
-
jonasw
(and I don’t want to move the online count into the text field because it’ll be hard to discover it)
-
Wiktor
yeah, I mean on mobile the data is compressed and it looks good, on laptop the important info (user count) is far away
-
jonasw
on my laptop it’s fine
-
Ge0rG
Have the number to the left
-
jonasw
Ge0rG, would have to trick CSS to make that happen
-
jonasw
not sure if browsers support that
-
Ge0rG
jonasw: what about reordering the table items? Too easy?
-
jonasw
Ge0rG, not accessible
-
jonasw
although, with a table it’d probably work
-
jonasw
there doesn’t seem to be a way to do this with CSS, but I’ll look into how bad reversing the columns would be
-
Wiktor
did I get this right that there is also planned "room language" to be displayed?
-
jonasw
Wiktor, yes
-
Wiktor
gret✎ -
jonasw
once servers support that
-
Wiktor
great ✏
-
Wiktor
yes, and once it's set up by room operators
-
jonasw
follow https://github.com/processone/ejabberd/issues/2436 and https://issues.prosody.im/1149 :)
-
jonasw
sure
-
jonasw
I need to get back to work on my thesis now though
-
Wiktor
good luck :)
-
jonasw
(which unfortunately isn’t "Enumerating chat rooms in a federated chat network")
-
Ge0rG
jonasw: you need a better thesis supervisor then.
-
jonasw
Ge0rG, dunno, I find "port this thing so that we can run it on a satellite which’ll be shot into space next year" fine, too
-
Ge0rG
Nobody can compete with satellites...
-
jonasw
(also, my supervisor is actually an XMPP fan)
-
Ge0rG
jonasw: I'm an xmpp fan as well, despite what I'm writing, and I'm a certified thesis supervisor. But I don't have satellites... 😒
-
jonasw
aww
-
dwd
I've just spent ten minutes debugging ahy this app isn't using SASL2.
-
dwd
No matter what I did, it kept using the urn:xmpp:sasl:1 namespace.
-
jonasw
then you realized that that IS the SASL2 namespace?
-
jonasw
while the other one would be urn:ietf:something?
-
dwd
jonasw, Exactly.
-
dwd
jonasw, One day I'll figure out some non-trivial update to SASL2, so the namespace can align properly. :-)
-
Kev
Until the next one.
-
Ge0rG
which will be the bugfix release.
-
Ge0rG
what about using `urn:xmpp:sasl2:1` instead?
-
Zash
what about urn:xmpp:sasl2000
-
dwd
Ge0rG, Still a namespace change. No, I think it's doomed to be sasl:1 forever.
-
Ge0rG
"Status: Experimental". Doesn't look very doomed to me.
-
Ge0rG
I wouldn't be surprised if dwd turned out to be the (co)owner of all existing implementations.
-
edhelas
actually XMPP is only made by dwd, everyone else in this chatroom are just multi
-
edhelas
I have a question regarding 0045
-
jonasw
we all do
-
dwd
Ge0rG, Surevine is, I think, for now. Phil Roberts did one in Stanza.io, and I did one in Openfire. Neither's been pushed upstream, which I'd like to rectify.
-
edhelas
muc#roominfo_pubsub, it's not specified in the XEP where this is exposed when set, it would be nice to say that somewhere
-
dwd
(Man there are times I want a +1 for '45, and jonasw, that was one of them)
-
jonasw
edhelas, roominfo_pubsub is a disco#info form field
-
edhelas
ah :D
-
edhelas
let me check that on ejabberd
-
dwd
edhelas, I'd take that one with a pinch of, well, anything. I don't think it has sufficient semantics defined to be useful in an interoperable manner.
-
jonasw
Ge0rG, your update to the xmpp@chat.yax.im room has propagated :)-
-
jonasw
I don’t find it a good name still, though
-
Ge0rG
jonasw: I still think it should be printed on a t-shirt.
-
Ge0rG
It's a much better description of MUC than anything you'll find in '45
-
jonasw
but not a good descrition of the room
-
Ge0rG
jonasw: I might reconsider a more on topic name once the current name gets painted onto some official XSF property.
-
jonasw
there is official XSF property?
-
Ge0rG
Like this MUC
-
dwd
jonasw, All the XEPs, for one thing.
-
jonasw
right, for some reason I was picturing Ge0rG with a spray can in front of a house wall in my head
-
jonasw
SCHRÖDINGERS CHAT would be a cool tag
-
Ge0rG
jonasw: and a black hoodie. And the only light comes from a MacBook screen
-
jonasw
itym the apple thing on the back side of the screen
-
jonasw
which you taped over with a matrix sticker
-
Ge0rG
jonasw: that, too
-
Ge0rG
Are we speaking of Matrix or of *the* Matrix, though? 🤔
-
jonasw
that one movie, of course
-
Ge0rG
those three movies which actually are just one movie?
-
Ge0rG
It's complicated™
-
jonasw
nah, the one movie where people always thing sequels exist
-
jonasw
but they’re wrong
-
jonasw
do you folks think it would be good to add a specified disco#info/disco#items response (part) which allows things to discover anonymous ways to access MUCs?
-
jonasw
I’m thinking e.g. a disco#info form field which gives the XMPP domain of a service which allows ANONYMOUS login and access to a room✎ -
jonasw
I’m thinking e.g. a disco#info form field which gives the XMPP domain of a service which allows ANONYMOUS login and access to the room ✏
-
jonasw
that would allow to add a "join in browser" button e.g. for support MUCs where such a facility is available.
-
MattJ
Yes yes yes
-
edhelas
well I think that Movim is now the first XMPP client to make use of muc#roominfo_pubsub /o/
-
MattJ
edhelas, from which spec?
-
edhelas
0045
-
MattJ
Ha, what... that's been in there since 2006?
-
edhelas
looks like :D
-
MattJ
But there are no details on what it contains
-
dwd
(More or less what I said earlier)
-
dwd
I suspect it was from the days of "LETS PUBSUB THIS PUB SUB THING!"
-
Ge0rG
So it's a reference to a pubsub node containing a list of the pubsub nodes associated with this MUC?
-
dwd
Ge0rG, Well, that'd make it a collection node, and those are unfashionable now.
-
Ge0rG
because nobody can figure out if it's an item of elements or a list of items of one element each?
-
edhelas
for me it's just pointing to a pubsub node
-
edhelas
that's it
-
Ge0rG
look, ma! a pubsub node!
-
edhelas
:p
-
Ge0rG
So who volunteered to re-do XEP-0357 with messages instead of pubsub, again?
-
MattJ
Ge0rG, I don't think XEP-0357 really does use pubsub
-
Holger
Well I see no real problem with the PubSub-like syntax except that it misleads people to believe they could use a standard PubSub component to implement an app server.
-
Ge0rG
It's misleading and it's adding overhead to understanding the protocol
-
Ge0rG
And it isn't even actual PubSub.
-
Holger
I agree, but the question is whether cleaning this up is worth the compat foo you run into.
-
Holger
Then again the number of public app servers isn't too large I guess ...
-
Ge0rG
Holger: who would use a public app server anyway?
-
Holger
Er what?
-
Ge0rG
Holger: most clients are bound to use their specific one.
-
Holger
I meant app servers for publicly available clients.
-
Ge0rG
Holger: if the XMPP server component supports both protocols, there won't be any compat issues
-
Ge0rG
Holger: client devs who start at zero just implement the simple protocol in their app server / clients and be done.
-
Ge0rG
legacy push installations remain as is
-
Ge0rG
legacy authors sick of the pseudo-pubsub switch to the new protocol on a separate host name.
-
Ge0rG
But yes, it's good enough™ and nothing will happen about the status quo.
-
Ge0rG
at least it doesn't have a siacs namespace.
-
MattJ
It will if someone cares enough to write up the new protocol
-
MattJ
If they don't, then sure, it will stay the same because it's deployed and working
-
Ge0rG
and working(*)
- Ge0rG walks himself out. It's way too hot to be ranting about things that are good enough™
-
Holger
I just think we have more pressing issues than this syntax weirdness but I won't stop anyone of course.
-
Zash
Rough consensus and running code?
-
Holger
Ge0rG: I totally agree 0357 isn't good enough. It's not enough to implement working push notifications.
-
Ge0rG
Whenever I start reading 0357, and I arrive at the first mention of 0060, my brain phases out.
-
Holger
Ge0rG: As for the syntax issue, you then need to decide whether to stick to (non-PubSub) IQs or rely on https://xmpp.org/extensions/xep-0357.html#sect-idm140285094926944 for error processing.
-
Ge0rG
Unfortunately, that first mention is in §1 Introduction.
-
Holger
Yes that §1 'Note:' is insane.
-
MattJ
Ge0rG, in the simple-protocol world, what would your next steps be? How would you implement your app server?
-
Holger
Ge0rG: Purging that 'Note:' would be a good first step IMO.
-
Zash
PubSub supports added payloads in the notification, at least for a <body>
-
Ge0rG
MattJ: I don't understand the current XEP enough to make proper suggestions.
-
Ge0rG
Probably actually implementing the protocol will improve my understanding enough to pinpoint the issues other develoeprs are highlighting for a year or so.
-
Ge0rG
> The full process for enabling notifications requires initializing two separate push services: between the App Client and App Server, and between the App Server and the user's XMPP server. The XEP isn't actually helpful in making its point, either.
-
Ge0rG
The Note in §5 is even more absurd than the one in §1
-
Ge0rG
I need IBR to provision the push service node? What?
-
Holger
"possible, but not required"
-
Holger
Yes I'd ditch that sentence too.
-
Ge0rG
Holger: please send PRs
-
Holger
Yaxim needs to register with push.yax.im somehow. That's all.
-
Holger
The XEP doesn't tell you how because no need for standardization.
-
Holger
ChatSecure uses some REST calls, Conversations some ad-hoc commands.
-
Holger
Nobody uses IBR, AFAIK :-)
-
Ge0rG
Holger: somebody needs to streamline that XEP, then.
-
Holger
Yup.
-
Holger
I offered to maintain it back when Lance quit.
-
Ge0rG
Holger: what happened next?
-
Holger
Kev took over -> less work for me -> Holger happy!
-
Seve/SouL
Seve happy to see Holger happy
-
Ge0rG
Kev: XEP-0357 sucks big time. Please fix.
-
Ge0rG
Holger: you still could send strategic PRs.
-
Zash
Not enough happiness to go around apparently
-
Holger
Probably happier community because I would've suggested adding business rules and whatnot. While I think the general consensus is rather to keep things unspecified in order to not loose flexibility.
-
Ge0rG
Like.. PubSub and IBR
-
Ge0rG
> It is NOT RECOMMENDED to allow in-band modification of push notification content settings. Such operations SHOULD be done out-of-band to prevent privilege escalation. What?
-
Ge0rG
Holger: business rules would be great.
-
Holger
Ge0rG: Forget that configuration stuff. Should also be ditched. It's per-account rather than per-device and the idea seems to be that *users* configure things.
-
Holger
Nobody implements this.
-
Ge0rG
So the XEP creates a smoke-screen of distractions for how to do irrelevant stuff, is using an overengineered protocol for the parts that it *does* specify, and is lacking a description of how to be applied properly?
-
Ge0rG
Am I missing something?
-
daniel
Yeah the xep is a lot harder to understand than to implement
-
daniel
You can write an app server and the client code in a few hours
-
daniel
But it's pretty bad at communicating what you have to do
-
daniel
I don't _mind_ the overhead of pubsub. It actually allows you to reuse parts of your library which was probably the reason it does use pubsub Syntax
-
daniel
But it's really distracting and leads you on the wrong path
-
Ge0rG
daniel: you mean it allows you to reuse parts of your *pubsub library*, provided you have one?
-
Ge0rG
daniel: as a client developer who implemented it, maybe you can provide some strategic PRs to the XEP to make it less horrible?
-
daniel
well after three years of trying to get the business rules in and failing i don't really feal like it tbh
-
daniel
so my general recommendation to new comers is just to ignore the fact that it uses pubsub *syntax*
-
Ge0rG
daniel: what was the issue with the business rules?
-
Ge0rG
It can't be *that* hard to get a PR merged?
- Ge0rG is naive today.
-
daniel
well if we had a mailinglist / forum / archive that would be searchable it'd be really easy to dig up those threads
-
MattJ
https://mail.jabber.org/pipermail/standards/2016-February/030925.html
-
Ge0rG
Date: Tue, 16 Feb 2016 13:32:16 +0100 From: Daniel Gultsch <daniel@gultsch.de> To: XMPP Standards <standards@xmpp.org> Subject: [Standards] XEP-0357: Push Notifications is missing business rules section
-
Ge0rG
I don't see any refuseniks on that thread
-
MattJ
From reading that, it appears to say that every message added to the archive should generate a push? (i.e. almost every chat message)
-
MattJ
Is it meant to imply that's only for when the client is offline?
-
Ge0rG
MattJ: that implies the question what "offline" exactly means.
-
Ge0rG
I think we can agree that we need a push when the client is in 0198 hibernated state. But what if our server stack hasn't noticed a client hibernation event yet?
-
MattJ
I've been thinking about pinging more aggressively after an "important" stanza was sent to a client
-
MattJ
i.e. after an important stanza is sent, follow it with a <r> and have a low <60s timeout waiting for the <a>
-
Holger
That's what ejabberd does, except after any stanza (except when it didn't receive the responce to the previous <r/>equest yet).
-
Ge0rG
MattJ: yes, following important stanzas with an <r> is great anyway
-
daniel
MattJ: yes that's the third rule or something
-
daniel
The offline one is the first
-
MattJ
So to clarify, you're saying it should send the message via push even if it believes the client is actively connected?
-
daniel
Only if you haven't received the ack
-
daniel
What Holger said basically
-
MattJ
Ok, just your business rules don't mention anything about acks
-
MattJ
It makes it seem like the push is unconditionally sent for any message that gets added to the archive
-
daniel
right. yeah that should be clarified. for each push token only one of (a), (b) or (c) applies
-
Zash
Don't it send when CSI is on as well
-
Ge0rG
Don't send the push? Why not?
-
daniel
right. or only for stanzas that actually move down stream
-
Ge0rG
I mean, I'd assume you should send a push whenever a CSI queue flush happens
-
daniel
not for those held back by csi
-
Kev
Surely you want to push especially when CSI is active?
-
Zash
Ge0rG: Send all the time, for every stanza!!!
-
Kev
Because then the user gets to see the notification and can bring their client up to view it.
-
Zash
Doesn't it* maybe
-
daniel
Anyway Holger or Tilo are probably the better people to write it down having actually implemented it
-
MattJ
Kev, you mean "inactive"? :)
-
daniel
I mean I still have it in my head somewhere but I might be forgetting details
-
Kev
When the client is inactive, when CSI is active.
-
Kev
Whatever.
-
Ge0rG
Kev: would you mind giving the XEP over to Holger so we can clean up the mess?
-
Zash
Moar ambiguous!
-
Ge0rG
And by "we" I mean "he" :>
-
Kev
Ge0rG: Patches welcome.
-
Ge0rG
Holger: ^
-
Kev
I think the basic logic is "Wait a bit after a stanza, see if you get an ack from the client, if you don't then send a push notif", right?
-
Holger
Kev: My impression was that you're not happy with business rules.
-
Holger
Kev: https://mail.jabber.org/pipermail/standards/2017-May/032701.html
-
Kev
I think I said that I was in favour of them, just not normative, didn't I?
- Kev heads off to check what he wrote.
-
Kev
Yes, I did :)
-
Ge0rG
> I came up with a somewhat different scheme, which I’d like to also be allowable Yay!
-
Holger
Another thing that needs addressing is the "ChatSecure case" where the app server basically wants to know whether the notification was triggered by a human-readable message or not.
-
Holger
Or some per-client configuration to limit notifications to only specific types of stanzas.
-
Ge0rG
Holger: what kind of non-human-readable events should trigger push?
-
Holger
Chris suggested this: https://mail.jabber.org/pipermail/standards/2017-July/033085.html
-
Ge0rG
There is really no excuse for low-priority pushes.
-
Holger
Ge0rG: Jingle calls, any other IQs, or if you try to keep a 0198 session alive, actually any stanza.
-
Zash
Cache stuff maybe?
-
Ge0rG
Holger: jingle calls are high prio
-
Holger
Then again you could argue that keeping the session alive is an ugly hack that needs to be fixed anyway.
-
Zash
Like disco
-
Ge0rG
the only excuse I can see is "okay client, I haven't heard of you in a day now, and I have those 10000000 stanzas for you in my 0198 queue. Please come and fetch them any time soon"
-
Holger
Ge0rG: Yes, except that I will do this with a way lower number of stanzas.
-
Kev
Ge0rG: Why not just drop the stanzas?
-
Kev
At that point you're almost guaranteed most are stale.
-
Ge0rG
Kev: because the Gods of XMPP will be mad.
-
Holger
Ge0rG: So IQs should just time out?
-
Ge0rG
Kev: you can't simply drop stanzas from mid-stream, you'd have to terminate the 0198 hibernated session.
-
Kev
Yes, that's what I mean.
-
Ge0rG
Holger: I have no easy answer to that.
-
Holger
Ge0rG: Sending clients should cope with such timeouts? (Currently they don't.)
-
Holger
Ah.
-
Ge0rG
Holger: somebody should write Business Rules.
-
Ge0rG
Holger: the path of least breakage would be to low-prio-push the client on an incoming IQ, yes. The better long-term solution would be to respond from the server.
-
Ge0rG
Maybe a mid-way would be to kill the 0198 zombie on an incoming full-JID IQ ;)
-
Holger
Long-term I'd ditch the 0198 session.
-
Holger
Right now we this will break notifications for MUC messages.
-
Ge0rG
Holger: but session establishment is expensive
-
Holger
That should be fixed.
-
Ge0rG
In addition to roster versioning, we'd need presence versioning.
-
Holger
I think Kev argued that way and I agree on this.
-
Holger
But I'd like to make push notifications work before the year 2025 and I think we need the 0198 hack until then.
-
Ge0rG
I think somebody proposed to treat XMPP IM as a database synchronization problem, some time ago
-
Ge0rG
Holger: I agree
-
Kev
By the 198 hack, do you mean sending of <r/> or killing sessions?
-
Holger
Kev: Keeping sessions alive for disconnected push clients.
-
Ge0rG
So yes, I'm convinced we need two push priority types.
-
Holger
Kev: Mostly to get MUC notifications.
-
daniel
> I think somebody proposed to treat XMPP IM as a database synchronization problem, some time ago Isn't that matrix?
-
Kev
Sorry, I've suddenly realised I've missed a whole part of this.
-
Kev
Ah, MUC, right.
-
Kev
Yes, MUC doesn't work with multi-client. We should replace it. Let's call the replacement MIX )
-
Kev
:)
-
Ge0rG
daniel: I didn't say *distributed* database sync.
-
Holger
An alternative might be implementing some other hack to keep you joined.
-
Holger
Kev: "But I'd like to make push notifications work before the year 2025"
-
Ge0rG
Kev: yes, let's also add a dozen of unrelated features into it to make it hard to implement.
-
Kev
I don't think anything in it is unrelated :)
-
Kev
But yes, we don't have MIX right now. Hacks until then seems likely.
-
Ge0rG
Are there any experience values on the delivery jitter of low-prio pushes on iOS? They are deemed "unreliable"
-
Holger
Ge0rG: Seems to vary a lot. I think it depends on things such as the current battery level, on the notification rate, on how frequently you use the app, on the moon and who knows what.
-
Ge0rG
Holger: let me rephrase my question: is the median latency of low-prio push sufficient to obtain IQ results without the remote side timing out, typically?
-
Holger
Ge0rG: I.e. on some devices, silent notifications seem mostly reliable; other users seem to never receive them; others are in between.
-
Ge0rG
Is there some kind of distribution curve on the notifications that do arrive?
-
Holger
Ge0rG: Dunno numbers, but either way you can't rely on it. So ejabberd actually won't let low-prio pushes trigger a timeout of the pending 0198 session. But yes the IQ will time out.
-
Kev
daniel / Holger: To check I understand, the rules here are basically: * Make sure the server has a list of all clients/push requirements and a map from these to sessions * On a new pushable event, send for everything that doesn't have a session, or where the session isn't sufficiently responsive And that's the crux of it?
-
daniel
Kev: yes
-
Kev
In terms of normative text, the 'know who I am' seems sensibly normative, and the 'responsive sessions' seems like a suggestion to me.
-
Holger
Yes.
-
Holger
A suggestion that could go into 0198 I guess.
-
Kev
Ah, no, that's different.
-
Kev
You both want Push to say "If it's not responsive, send anyway" and then you might want 198 to say "terminate if unresponsive", but those aren't the same.
-
Holger
Ok.
-
Kev
Don't you?
-
Holger
Yes I agree. Sometimes I'm easy to convince :-)
-
Ge0rG
Holger: so you just agreed to write down all the biz rules? Great!
-
Ge0rG
!praise Holger
-
Zash
^C^V Kevs sumary?
-
Ge0rG
It's confusing how Conversations is both #1 and #6 of the MUC list.
-
jonasw
will be better once we have language information
-
jonasw
which was the dino MUC again?
-
Ge0rG
chat@dino.im IIRC
-
jonasw
this is weird
-
Ge0rG
It is. And the domain isn't even a MUC domain, breaking poezio's MUC discovery.
-
jonasw
yeah
-
jonasw
not only poezios
-
MattJ
-version dino.im
-
Bunneh
MattJ: dino.im is running Prosody version 0.10.0 on Linux
- MattJ ducks
-
Zash
Component "chat@dino.im" "muc" ?
- Zash hides
-
jonasw
Zash, seems more like modules_enabled = {"muc"} to me
- Ge0rG points at `@conference.jabber.org`
-
jonasw
no, the domain doesn’t expose the muc feature
-
Zash
jonasw, don't think you can do that
-
Zash
jonasw, you can make a bare jid a component tho
-
jonasw
super-weird thing
-
Zash
disco integration might not work tho, maybe we should fix that
-
jonasw
at least the disco#items isn’t confusing
-
jonasw
please don’t
-
Zash
-contact prosody.im
-
Bunneh
Zash: prosody.im doesn't have any contact addresses
-
Ge0rG
What about forbidding such corner cases?
-
Zash
Ge0rG, ytho
-
jonasw
Ge0rG, you might wanna destroy dino@chat.yax.im btw
-
Ge0rG
There really is no reason to allow joining a bare JID MUC, or to have a MUC on a non-MUC domain.
-
jonasw
Ge0rG, I agree on the former, but not necessarily on the latter
-
Ge0rG
Info> Room dino@chat.yax.im destroyed
-
jonasw
\o/
-
Ge0rG
Okay, it's breaking assumptions that need to be shaken up from time to time. But I'm pretty sure we have enough corner cases for client devs to care about, without adding such oddities
-
Zash
Is there really anything in the protocol that forbids it tho?
-
Ge0rG
No.
-
jonasw
if the disco#items were correct (i.e. contained the MUC), it might be okay actually
-
Zash
jonasw, that's what I was referring to for fixing
-
jonasw
yeah
-
jonasw
I’m not that scared of the result anymore
-
jonasw
I’m scared though what’ll happen when conference.jabber.org is fixed.
-
jonasw
that’ll be some serious amount of data :)
-
Ge0rG
I hope we are going to end up with less Conversations on the top 10 list.
-
Zash
Isn't it in dire need of some spring cleaning?
-
jonasw
Zash, very dire, very need
-
jonasw
Ge0rG, I doubt that
-
Zash
The existence of conversations@conference.confersations.im is especially confusing
-
Zash
covfefesations
-
jonasw
Ge0rG, but if that bothers you, maybe you could go and find more MUC servers :)
-
Ge0rG
https://xmpp.org/extensions/xep-0045.html#disco-service-features "The service MUST return its identity and the features it supports."
-
Ge0rG
jonasw: what's the default nickname of Christopher?
-
Ge0rG
Maybe it should be called Chatstopher?
-
jonasw
Ge0rG, it doesn’t join at the moment, but it defaults to '-C. Muclumbus'
-
Ge0rG
jonasw: did you pre-populate it with the MUC domains from the old muc search?
-
jonasw
no, the old muc search is kaputt
-
jonasw
GDPR’d
-
jonasw
I used the compliance tester
-
jonasw
added all domains and I have a recursive disco#items explorer going
-
Ge0rG
jonasw: https://github.com/pfleidi/yaxim/blob/master/res/values/servers.xml#L124
-
jonasw
neat
-
Zash
and xmpp.net
-
jonasw
let’s insert those
-
Ge0rG
jonasw: you can also feed the explorer with the `xmpp_servers` array as well
-
jonasw
indeed
-
jonasw
meh, again I wish that postgresql had a INSERT ... ON CONFLICT IGNORE thing
-
jonasw
oh on conflict do nothing
-
Zash
Oh is that the thing preventing us from having nice things with postgres?
-
Zash
Was that the thing SQLite has?
-
intosi
https://www.postgresql.org/docs/current/static/sql-insert.html
-
Ge0rG
I think SQLite has some ON CONFLICT that you can configure when *creating* the table
-
intosi
You mean ike the insert into table ... ON CONFLICT DO NOTHING mentioned?
-
jonasw
intosi, except that I’m on postgres 9.4, yes
-
intosi
No time like the present for an upgrade then ;)
-
jonasw
ahaha
-
jonasw
that is a ratstail of things for which I’ll need a weekend or so
-
jonasw
intosi, did you have any chance to look into @conference.jabber.org?
-
intosi
No.
-
jonasw
Ge0rG, thanks, that brought a few new domains
-
intosi
Between a server upgrade, other work things, and not stopping my beloved keyboard from drinking coffee, I had few cycles left.
-
jonasw
(bit over a hundred or so)
-
jonasw
intosi, no worries :)
-
jonasw
also, sorry for your keyboard
-
jonasw
(just wanted to make sure I finally found someone with +w on the right box)
-
Ge0rG
jonasw: glad I could help
-
jonasw
oh right
-
Ge0rG
jonasw: I might also extract some (non-public?) domain lists from s2s logs, spam bot logs etc.
-
jonasw
maybe
-
jonasw
we need to do something about the invalid data form used by XEP-0157 though
-
Ge0rG
Unfortunately I don't have the full search.wensley.org.uk dump any more.
-
jonasw
could someone take a quick look on whether this is editorial or not? https://github.com/xsf/xeps/pull/650/files
-
jonasw
I feel it is because the form specification in the document already specicfies list-multi
-
Zash
I don't think the type attr is required on type=submit (?) forms
-
Zash
They'd seem redundant since in most cases you are sending it to the entitiy you got the form from
-
jonasw
indeed. type is MAY
-
jonasw
damnit
-
Zash
Doesn't hurt for readability tho
-
Kev
jonasw: I would argue not editorial, it's changing protocol.
-
Kev
Or, at least, if you're ever in doubt, just throw it up to Council.
-
jonasw
Kev, I’m also wrong, I’m going to close the PR.
-
Kev
I'm not even sure that change is 'right', is it?
-
jonasw
it is not wrong (type is MAY)
-
Kev
One doesn't give the type on a result generally.
-
jonasw
but it’s not required either way
-
jonasw
> For data forms of type "form", each <field/> element SHOULD possess a 'type' attribute that defines the data "type" of the field data (if no 'type' is specified, the default is "text-single"); fields provided in the context of other forms types MAY possess a 'type' attribute as well.
-
Kev
Indeed.
-
Kev
So I'd argue that examples containing it is likely to lull people into a false sense of security that they don't have to correlate.
-
jonasw
yay, that spawned aioxmpp issue number 200
-
jonasw
yupp, gonna retract the PR
-
Zash
Hm, if a submitted form has conflicting field types, how loudly should you cry?
-
pep.
I'm trying to organize an XMPP sprint ("hackathon", whatever suits you) in Cambridge UK around August (dates TBD). Topics are also TBD. Please join xmpp:xmpp-sprint@chat.cluxia.eu?join if interested :)
-
pep.
https://cryptpad.fr/code/#/1/edit/gSOmgqjDKPIBQmeK41-Log/9wCZoyjHTNX07IrrYaJTSbcV/ as a preview, I still have a few info to put in there
-
Alex
hey guys, lets start our member meeting in 3 minutes
-
Guus
The suspense!
- Alex bangs the gavel
-
Alex
here is our Agenda for today: https://wiki.xmpp.org/web/Meeting-Minutes-2018-05-29
-
Alex
1) Call for Quorum
-
Alex
as you can see, 33 members voted via proxy, so we have a quorum
-
Alex
2) Items Subject to a Vote
-
Alex
new and returning members, you can see teh application page here: https://wiki.xmpp.org/web/Membership_Applications_Q2_2018
-
Alex
3) Opportunity for XSF Members to Vote in the Meeting
-
Alex
anyone here who has not voted yet and wants to do os now?
-
Guus
(sound of crickets)
-
Zash
s/crickets/suspensfullness/
-
Alex
looks like none, then I will start counting the vote snow ;-)
-
Alex
now
-
Alex
4) Announcement of Voting Results
-
Zash
Drumroll!
-
Alex
when you reload teh page at: https://wiki.xmpp.org/web/Meeting-Minutes-2018-05-29#Announcement_of_Voting_Results
-
Alex
you can see the results
-
Alex
all reappliers were accepted, and we had no new applicants this term
-
Alex
congrats to everyone
-
Alex
5) Any Other Business?
-
dwd
I'd like to say thanks to Alex for a job well done as usual.
-
Zash
seconded
-
Guus
Thanks Alex!
-
Alex
6) Formal Adjournment
-
Alex
I motion that we adjourn
-
dwd
Seconded.
- Alex bangs the gavel
-
moparisthebest
out of curiousity has a vote ever resulted in a member not being renewed or accepted?
-
Alex
thanks everyone. Will update the lists tomorrow in the AM and send out the results to the lost
-
dwd
moparisthebest, Yes!
-
Alex
moparisthebest: yes
-
Seve/SouL
Congratulations everyone, good news
-
moparisthebest
how did that happen? do you just really annoy other members or what? :P
-
Zash
Other than the time nobody knew bears real name?
-
dwd
Zash, There was that, and, erm... Solaris? I can't think of the nickname he used.
-
Alex
bear is the famous one ;-)
-
bear
yes, I am the example everyone remembers about my membership being denied :)
-
Seve/SouL
bear: why so? (I do not know the story)
-
Zash
The tale
-
bear
the membership application didn't used to have a real name part, and I go by "bear" everywhere including email
-
bear
so when I forgot to update my application people properly didn't vote for me to stay as a member
-
bear
my application had "Mike Taylor" IIRC and some folks were not making the connection - trying to remember all of the details
-
Seve/SouL
bear: ohh I completely understand. I'm glad to know it went like this and not in a bad way heh :)
-
Seve/SouL
Thanks for explaining!
-
edhelas
I'm actually replying to some questions regarding XMPP on his thread, if you see some weird things do not hesitate to correct me https://www.reddit.com/r/opensource/comments/8myh78/movim_responsive_webbased_social_xmpp_client/