-
Strypey
Hi all 😃
-
vanitasvitae
Strypey: hi!
-
MattJ
Howdy ;)
-
Strypey
I'm a longtime jabber user, and I recently started helping MattJ with community management stuff for Snikket.
-
vanitasvitae
nice!
-
emus
Strypey: 👍
-
eyome
Hi all!
-
eyome
Whatns the goal of "Modern xmpp project"?✎ -
edhelas
to make XMPP modern again
-
eyome
What's the goal of "Modern xmpp project"? ✏
-
pep.
eyome, hey, have you had a look at https://docs.modernxmpp.org/ yet ?✎ -
pep.
eyome, hey, have you had a look at https://docs.modernxmpp.org/ yet? ✏
-
eyome
Thank you.
-
wurstsalat
Link Mauve, I added some styling (re DOAP) https://github.com/pulkomandy/xmpp-doap/pull/7 What’s holding back your other PR regarding stylesheets and samples?
-
Link Mauve
Nice!
-
Link Mauve
wurstsalat, which other PR?
-
wurstsalat
#6
-
wurstsalat
https://github.com/pulkomandy/xmpp-doap/pull/6
-
Link Mauve
Hmm, mostly that samples should now be part of https://github.com/xsf/xmpp.org
-
wurstsalat
I see. But can we update the samples (your PR) once more, so they (and the renderings) are compatible with other DOAP files? then everyone could check how it would look for their project until we found a way to bring DOAP files to the xmpp.org repo
-
Link Mauve
Sure.
-
Link Mauve
wurstsalat, DOAP files are already linked in the xmpp.org repository.
-
vanitasvitae
where can one see the doap stuff in action on xmpp.org?
-
Link Mauve
See for instance: https://github.com/xsf/xmpp.org/blob/master/data/clients.json#L205
-
Link Mauve
Aside from that, it isn’t used on the website yet.
-
vanitasvitae
ah
-
vanitasvitae
thanks
-
Link Mauve
I fought Pelican and it won.
-
vanitasvitae
😀
-
vanitasvitae
stupid bird!
-
Link Mauve
I recently started a Rust parser for those JSON files and for DOAP files.
-
Link Mauve
For instance I can query which projets implement a given XEP.
-
Link Mauve
Or query the name and description and XEPs implemented of a project.
-
wurstsalat
That sounds handy
-
Link Mauve
I think so too.
-
Link Mauve
I don’t know what to do from here, I could expose an HTTP API for instance.
-
wurstsalat
that would make it usable for multiple projects, probably the most flexible approach
-
vanitasvitae
Some api where you can quickly query "which version of XEP-XXXX does client Y claim to support" would be nice indeed
-
Link Mauve
Ok, I’ll try to do that in the next few days.
-
wurstsalat
I’d like to help with implementing that (and other stuff) at xmpp.org
-
edhelas
I had a look at https://docs.modernxmpp.org/client/groupchat/
-
edhelas
and I was wondering what was the exact rule to say what is a channel and what is a group chat
-
edhelas
by talking with pep. it seems that it's if (member_only + jid_revealed + publicly_listed) groupchat else channel
-
edhelas
because by looking at my bookmarks I do have a few rooms that are sitting between the two definitions
-
pep.
I'm trying to find out if anyone cares about having MUC-PMs set to off to know if it's a private chat :x
-
Zash
Might members-only be the strongest indicator?
-
edhelas
if (member_only + jid_revealed + !publicly_listed) groupchat else channel
-
edhelas
sorry
-
pep.
Zash, member-only + public?
-
pep.
I'd still consider that a public chat. For example as a temporary measure against spam
-
MattJ
And a public chat may choose to reveal JIDs
-
pep.
Conversations has a isPrivateAndNonAnonymousMuc flag
-
MattJ
E.g. for transparency/accountability purposes
-
pep.
dino also had separate UI for this
- pep. reading moar code
-
MattJ
If there seems to be consensus let's document it
-
pep.
https://github.com/iNPUTmice/Conversations/blob/master/src/main/java/eu/siacs/conversations/entities/Conversation.java#L677
-
edhelas
i'm wondering what is the rule for Dino actually
-
pep.
And for dino.. https://github.com/dino/dino/blob/master/main/src/ui/avatar_image.vala#L87 ?
-
Zash
https://github.com/iNPUTmice/Conversations/blob/afffe0186865918f8ef637c0cdf2db92e45b4725/src/main/java/eu/siacs/conversations/entities/MucOptions.java#L206-L207
-
pep.
Ah there's a is_private_room function
-
pep.
//the term `private room` is a short hand for members-only+non-anonymous rooms
-
pep.
https://github.com/dino/dino/blob/master/libdino/src/service/muc_manager.vala#L189
-
Zash
neither seem to care about public listing
-
lovetox
members only + non-anonymous
-
lovetox
publicly listed should not be taken into consideration in my opinion
-
pep.
lovetox, why not?
-
Zash
you probably wanna set that when creating tho
-
pep.
yeah
-
lovetox
private does not mean secret
-
lovetox
it means only joinable by a defined list of people
-
pep.
That's what Conversations and poezio (!! the impromptu command) default to
-
Zash
What do you call a memberso-only semi-anonymous chat then?
-
pep.
https://lab.louiz.org/poezio/poezio/-/blob/master/poezio/core/core.py#L905 https://github.com/iNPUTmice/Conversations/blob/fa752b596d7fba41a0b62011cd91a11af84b1cd6/src/main/java/eu/siacs/conversations/generator/IqGenerator.java#L519
-
edhelas
(it seems that I just started a nice discussion there :D)
-
Zash
non-members-only + non-anon = "transparent" channel?
-
pep.
:D
-
lovetox
there is really no need to name all combinations
-
pep.
Also this is "just" a definition that modernxmpp is setting, it doesn't have to mean anything outside modernxmpp
-
Zash
gotta have something to do
-
lovetox
private room means, user creates a room for his friends, or some people
-
lovetox
and these rooms dont need to be anonymous
-
lovetox
so members only + non-anon is this default for these private conversations
-
lovetox
and everything else, is a channel
-
pep.
What would "Immutable for groupchats" mean exactly?
-
pep.
https://docs.modernxmpp.org/client/groupchat/
-
pep.
If in the end we're only matching on two of these
-
edhelas
if we agree on that, let's set that in stone :p
-
pep.
I'm drafting something, but I'm curious about the "immutable" thing. I'd rather change places where it's set and use that as a sign for groupchats
-
MattJ
pep.: it helps to look at the question opposite to how this conversation started
-
MattJ
What ultimately matters is what the user intends the chat to be
-
pep.
I might want to nit on the terminology then. Something like "default", and add a description that says these options SHOULD be immutable in a configuration dialog
-
MattJ
The idea is that the client offers to create one or the other, and the "immutable" ones are simply those that shouldn't be configurable by the user for those chats
-
MattJ
This text doesn't necessarily assume there *is* a way to tell the difference post-creation
-
pep.
Ok let me try to draft something :x
-
MattJ
Obviously in the real world we don't (currently?) have a flag to record the user intent
-
MattJ
Hence clients using this hack instead
-
MattJ
But I think that is one of the things I would like to fix in MUC
-
pep.
Will we ever? "So.. ok I will create you a room but first why do you want one? Do you: - Want to chat publicly? - Want to chat publicly and allow many to join? - Want to chat publicly and allow encryption? - Want to chat in private but allow others to see?" - .."
-
pep.
I don't want this :P
-
Zash
Fix how?
-
Zash
Record that boolean?
-
pep.
Or maybe the "I found a name for each combination" version: "Do you want: - A groupchat - A transparent room - A secret room -A channel"
-
pep.
muc#modernxmpp_private: bool
-
Zash
{xmpp:modernxmpp.org}muc#preset = "channel" | "groupchat" | <custom>
-
pep.
lgtm
-
lovetox
im not sure you solve a actual problem
-
lovetox
the problem was/is the default config when we create a room
-
lovetox
and not afterwards to know if its a groupchat or channel
-
pep.
well there's both
-
pep.
You need to know how to detect it from other clients
-
Zash
So if the server locks the relevant settings while muc#preset ≠ custom
-
lovetox
why would i need to know pep. ?
-
lovetox
i use non-anonymous and members only, only for the notification setting
-
pep.
because say I'll display a different type of avatar (like dino and conversations do), I'll set a different notification setting, I'll change terminology, or I'll prevent some options from being overwritten
-
pep.
etc.
-
lovetox
yeah then you do this based on the attributes we already discussed
-
lovetox
but there is no need to make now names and rules for all 3000 configuration combinations
-
pep.
That's what I'm saying. You do need to be able to discover that this is a "groupchat"
-
pep.
no indeed
-
pep.
Well
-
pep.
That's not what modernxmpp is trying to do I think?
-
pep.
Somebody might want to and I'd be fine with that
-
pep.
I might not use it and that's it
-
pep.
Just to say that there's is no one-size-fits-all. "42" is a myth (sorry)
-
pep.
#BreakingDreams
-
pep.
MattJ, "I think that is one of the things I would like to fix in MUC" does this really needs fixing in MUC?
-
pep.
Can it not just be on modernxmpp?
-
pep.
It would still be standard, public, in its own NS (just like Zash did), etc. so everybody wanting to use the modernxmpp definition would match on it
-
MattJ/web
> MattJ, "I think that is one of the things I would like to fix in MUC" does this really needs fixing in MUC? Yes. Creating a room today is stupidly difficult for clients. Multiple round-trips and various hacks.
-
MattJ/web
Yet we've essentially settled on just two "profiles" for MUC rooms
-
pep.
Ah you want a <presence to="foo@bar"><create-group-chat xmlns="xmpp:modernxmpp.org"/></presence> ?
-
MattJ/web
Yes and no. I was thinking <iq> 🙂
-
pep.
Right
-
MattJ/web
But basically yes, make creating a room explicit instead of implicit, and a proper iq set/result pair to indicate success
-
MattJ/web
and fix the configuration chaos at the same time
-
pep.
I'm happy with profiles, I don't know if that has to be in 0045 though
-
pep.
You'd just be enforcing more UX in the XEP
-
Zash
iq.set"room@muc.host"/{somethingmuc}create/{jabber❌data}form
-
MattJ/web
No, I don't know if it has to be in XEP-0045 either. I think I'd rather it wasn't (isn't it Final anyway?)
-
MattJ/web
No, still Draft
-
MattJ/web
I remember stpeter trying to drive it to Final as one of his last achievements before retiring as Editor, and here we are 🙂
-
pep.
I don't personally care about Final or else, if it has to be changed.. And creating a new XEP that says "this extends it" is exactly the same to me
-
MattJ/web
Sure
-
pep.
But I think this belongs on modernxmpp.org rather
-
Zash
Why isn't https://xmpp.org/extensions/xep-0307.html the creation thing?
-
pep.
hmm I'm still blocking on "Immutable" :/
-
MattJ/web
pretend it says "fixed" or "required"?
-
MattJ
Yes
-
MattJ
Creating a room is stupidly hard for clients today
-
pep.
"fixed" or "required" doesn't help me much here
-
pep.
With the document as it is, are we trying to say that's what we would enforce in a modernxmpp-only world?
-
pep.
And so publicly-listed non-anon members-only wouldn't exist?
-
pep.
When lovetox was arguing for the opposite just above
-
Zash
I'd say if you want something else, hide it in some "Advanced" section
-
pep.
Zash, so it's not immutable?
-
pep.
Can that be changed?
-
pep.
I'd be happier with "default", but maybe I'm misunderstanding the original meaning
-
Zash
Maybe just some text text saying that for a private chat, the settings should normally be hidden away
-
MattJ
If you say it's just a "default" then you're really opening up the door to confusion about what is/isn't a channel
-
MattJ
The point is that a private chat would always want those settings to be the same
-
pep.
So clients should also match on all of these 4 options?
-
MattJ
and I'm not even sure if it should be possible to override, at risk of making private chats accidentally public, for example
-
pep.
("because there's no reason these get changed")
-
pep.
MattJ, I agree that it doesn't help to be able to change stuff afterwards and I'm happy for modernxmpp to mandate these 4 options. I'm just observing that it's not what clients are doing
-
pep.
Are these clients following modernxmpp or just taking inspiration from it.. who knows :P
-
MattJ
It's a mix of documenting what today's "correct" clients are doing, and trying to make sure everyone is on the right and sensible path :/
-
MattJ
Looking at the options again, I do think all these options should be mandatory for private groups
-
pep.
I think PMs are just the cherry-on-top and it doesn't really matter, but yeah why not
-
MattJ
It's tricky because public channels on the other hand may overlap here (e.g. temporary members-only due to spam, as mentioned earlier)
-
MattJ
Well there isn't really an option for PMs, is there?
-
pep.
I think there is?
-
MattJ
I think it's more just "don't use in-room PMs in this context"
-
MattJ
<dinner>
-
pep.
Ah maybe not
-
pep.
I thought there was a muc#allow_pm
-
pep.
So maybe we should also define that
-
Zash
muc#roomconfig_allowpm
-
pep.
that
-
pep.
Does prosody understand it?
-
Zash
not
-
pep.
ok
-
Zash
patches welcome :)
-
pep.
One thing at a time
-
lovetox
but ejabberd understands it
-
pep.
Sure. The option can still be set and we recommend clients to not use PMs
-
pep.
It wouldn't work every other time anyway
-
lovetox
but in a private room
-
lovetox
if i know the full jid
-
lovetox
i can open a 1:1 anyway
-
pep.
Yes
-
lovetox
or at least i plan that Gajim will do this in the near futur
-
pep.
That's what we're saying. If you know the realjid you should use realjids
-
MattJ
False! That's what some clients (Pidgin iirc) do. It leaks the real JID of admins who initiate PMs in semi-anon MUCs
-
pep.
what
-
pep.
Right ok
-
MattJ
Could maybe make an exception if the target is in your roster
-
pep.
You should use realjids when `muc#roomconfig_whois` is set to `anyone`
-
MattJ
Just don't want lovetox to go and implement the wrong logic :)
-
MattJ
We should document this too
-
pep.
I'm also adding a paragraph on this
-
MattJ
Thanks!
-
lovetox
good point MattJ i didnt think about that case, thanks
-
lovetox
ah no we did think about this case :D
-
lovetox
but was good to check again
-
lovetox
maybe i should add a comment to the code
-
pep.
https://github.com/modernxmpp/modernxmpp/pull/33
-
pep.
shoot, I used the taboo word ("clarification")
-
Zash
U dun goofed
-
MattJ
You what?
-
MattJ
Merged
-
pep.
okay
-
pep.
Now.. we're gonna have to work on clients
-
pep.
hmm, *refrain from.
-
pep.
and various other english mistakes?
-
MattJ
Good catch, I don't see anything else
-
pep.
https://github.com/modernxmpp/modernxmpp/pull/34
-
MattJ
Merged