-
jonas’
was there some protocol which allows a MUC to announce a URL where a web chat to join it can be found?
-
jonas’
or did we just agree that there should be such a thing but nobody did it yet?
-
Ge0rG
jonas’: the latter
-
Guus
also: 'now, you touched it last.'
-
jonas’
*sigh*
-
jonas’
Zash, you do a prosody thing for xmpp.org, I do a muclumbus thing and an update for '45, deal?
-
jonas’
I suggest `roominfo#web_join_url`
-
lovetox_
if you update 0045 anyway you could also fix example 10
-
lovetox_
it cointains muc#roominfo_changesubject which is non existent
-
Ge0rG
I bike-shed `roominfo#webchat_url`
-
jonas’
Ge0rG, wfm
-
Zash
Is it implied that this would be some anonymous webchat setup?
-
jonas’
Zash, yes
-
jonas’
I think?
-
Ge0rG
is there a use in a non-public webhcat?✎ -
Ge0rG
is there a use in a non-public webchat? ✏
-
jonas’
Ge0rG, as an alternative to firing up your client if you know your credentials... but I think that’s not useful to have on each and every MUC of a service
-
Ge0rG
jonas’: so it's a server config then?
-
jonas’
probably?
-
Ge0rG
what if I want to have a nicer webchat on my MUC?
-
Ge0rG
which is custom-hosted
-
jonas’
I don’t care ;)
-
jonas’
I think that’s a different use-case anyways
-
pep.
I remember that was mentioned in a sprint (Düsseldorf), and then we faced member-only channels and we figured we needed something like 401 but for MUCs? And never did it
-
Ge0rG
typically you need some kind of web space and xmpp / BOSH / CORS magic.
-
Zash
Step 1: Only do it for public (not members only) non-hidden MUCs
-
Ge0rG
what Zash said
-
Ge0rG
as a server admin, I'd like to have a default webchat proto-URL where you only need to fill in the MUC name
-
Ge0rG
as a MUC owner, I'd like to see that / have an opt-in / override it
-
pep.
Ge0rG: a few services have that already, the former
-
pep.
Look at chat.jabbefr.org's JS for example
-
Ge0rG
> chat.jabbefr.org’s server IP address could not be found.
-
pep.
There's a look from jabberfr.org somewhere probably✎ -
pep.
There's a link from jabberfr.org somewhere probably ✏
-
pep.
(I can point to something more specific when I get a laptop)
-
Zash
https://chat.jabberfr.org/converse.js/some-jid-here ?
-
jonas’
Ge0rG, s/jabbefr/jabberfr/
-
Ge0rG
tres bien
-
Zash
Or we could go full generic and figure out how to link arbitrary URIs from MUC metadata
-
Ge0rG
Zash: roominfo#metadata_json
-
jonas’
xep-0157? ;)
-
Zash
heh
-
jonas’
seriously though, how about we solve this thing at hand right away with the obvious solution?
-
MattJ
+1
-
Zash
`hg cp mod_muc_lang.lua mod_muc_webchat_url.lua`
-
jonas’
MattJ, excellent. my offer stands: you do this for prosody on xmpp.org, I do it for muclumbus and an update for '45.
-
Ge0rG
jonas’: what is the obvious solution? A per-room manual setting? Defaulting to the server's webchat, with some kind of placeholder?
-
MattJ
Zash, ==> mod_muc_generic_additional_options.lua
-
jonas’
Ge0rG, the obvious solution is that if a server is configured with a muc log and converse, it should be published in a form field.✎ -
Zash
muc#room{config,info}_* eh?
-
MattJ
https://www.xkcd.com/974/
-
jonas’
Ge0rG, the obvious solution is that if a server is configured with a muc log and converse and anon login, it should be published in a form field. ✏
-
Ge0rG
jonas’: on the MUC domain or on individual MUCs?
-
Ge0rG
on both?
-
jonas’
Ge0rG, on the individual MUCs
-
Ge0rG
jonas’: what if some MUC owners don't want that?
-
jonas’
Ge0rG, make it members-only?
-
jonas’
make it password-protected?
-
jonas’
apply the typical access control measures for your MUC
-
MattJ
Agreed, if it's open then anyone can point a web chat to you and advertise it somewhere, whether you like it or not
-
MattJ
so if you don't want that, it shouldn't be open (or make it hidden, and we'll default it to disabled for hidden MUCs)
-
jonas’
MattJ, so I think the conditions should be: anon webchat configured && open && not password protected.✎ -
jonas’
MattJ, so I think the conditions should be: anon webchat configured && open && not password protected && public?.✎ ✏ -
jonas’
MattJ, so I think the conditions should be: anon webchat configured && open && not password protected && public(?). ✏
-
MattJ
+1
-
jonas’
MattJ, `roominfo#webchat_url`?
-
Zash
In the case of Prosody, the anon webchat isn't attached to the MUC component, which complicates things. Implementation detail tho.
-
Ge0rG
I'm okay with a server config
-
MattJ
I think it's easy enough to add a config option to the MUC component to supply the web chat URL
-
jonas’
Zash, in that case I suggest a config option on the MUC component which is something like 'webchat_url = "https://chat.example/join?room=%s"' ;)
-
Zash
I'm in fact typing this out right now
-
jonas’
<3
-
Daniel
you need to a way to pass the block of an anon user in a muc through to the anon domain and block the ip
-
Daniel
otherwise you won’t be able to block users anymore
-
MattJ
We already have that
-
Daniel
cool
-
jonas’
s/roominfo#/muc#roominfo_/
-
jonas’
code for muclumbus is ready for testing :)
-
Zash
jonas’: %s would be the room jid or the node?
-
jonas’
Zash, node?
-
jonas’
what node?
-
Zash
localpart of room JID
-
jonas’
ah
-
Zash
orrr "https://chat.example.com/join?room={node}"
-
jonas’
I guess that makes more sense since if your webchat needs the bare JID, it’s easier to tack a @hostname behind the %s than to try to pry the @hostname off whatever %s substitutes
-
jonas’
whatever works :)
-
Ge0rG
Zash: what if I have multiple MUC domains?
-
jonas’
(on the client side, I expect a perfectly working URL)
-
jonas’
Ge0rG, since that’s a per-componetn/domain setting ... ;)
-
Ge0rG
Right
-
Zash
I made {jid}, {node}, {host}
-
Ge0rG
awesome
-
jonas’
now for the most important question. which emoji/icon should I use in the muclumbus web interface?
-
jonas’
door?✎ -
jonas’
🚪? ✏
-
Zash
With what motivation?
-
Ge0rG
jonas’: 💬 or 🗪
-
jonas’
the former then, the latter shows as box only
-
Ge0rG
jonas’: your Unicode is too old.
-
Ge0rG
(Mine is, too)
-
jonas’
Ge0rG, let’s not get into that PRECISe discussion now
-
edhelas
time is PRECIouSE
-
Ge0rG
what kind of sauce?
-
Zash
jonas’: done and deployed everywhere I have access :)
-
Test
yay
-
jonas’
Zash, deployed on search.jabbercat.org \o/
-
Zash
Shiny!
-
Zash
jonas’, avatars?
-
wurstsalat
Zash: there is an open issue about avatars (and how to manage/whitelist them)
-
jonas’
Zash, first I’ll redesign the list view (which I’m on right now), then I’ll consider how to implement whitelisted avatars for good
-
jonas’
https://sotecware.net/images/dont-puush-me/gIIcKn27Z91Q07XV3VUHrhuAL0mmuMqFQjolfOJsCc4.png
-
Zash
jonas’: Nice.
-
moparisthebest
bummer about the whitelisted avatars, some real troll potential lost there :'(
-
Zash
jonas’, which one of the various non-standard muc avatar methods will you support?
-
MattJ
The best one
-
Zash
The one implemented by everyone? The one implemented by Prosody and Gajim? The one not yet invented or implemented? 🙂
-
Zash
s/Prosody/a 3rd party Prosody plugin/
-
jonas’
Zash, I query vcard right now
-
jonas’
https://sotecware.net/images/dont-puush-me/LxeXdDdI4QY5NYUNVjL2JZVHlccAp73LsrACuwGsYNs.png
-
jonas’
it happened
-
Zash
Pretty
-
jonas’
someone should set the XMPP logo as avatar for this room
-
Zash
I like that you rescale the ~200 byte Prosody SVG logo to ~1400 bytes of PNG
-
jonas’
is it an SVG?
-
jonas’
if it was SVG, I would not parse it at all
-
Zash
Unless whatever I used to set it converted it to PNG at that time
-
Zash
... Gajim?
-
jonas’
I only parse image/jpeg and image/png
-
Zash
Hm, PNG indeed
-
wurstsalat
Wow, this looks nice :)
-
lovetox
jonas the black banner looks a bit boring
-
lovetox
otherwise great job
-
lovetox
and how can i whitelist the gajim muc avatar?
-
Zash
How do you convert SVG to PNG even?
-
Zash
The GNU Image Manipulation Program doesn't have the slightest idea what aspect ratio xmpp-logo.svg has
-
lovetox
Gtk can do that
-
lovetox
and yes Gajim does that at the moment
-
lovetox
C for example has no support for svg
-
Zash
`viewBox="-3277 648.6 176.5 134"` ???
-
jonas’
Zash, inkscape -z --export-png=/path/to/out.png /path/to/in.png
-
Zash
Would it pick up a vcard for xsf@ if one had set one?
-
jonas’
yes
-
jonas’
muc.xmpp.org is in the whitelist
-
Zash
Entire domain?
-
jonas’
yes
-
Zash
Wouldyoulookatthat
-
wurstsalat
jonas’: so gajim.org is probably on the whitelist but it fails to provide its avatar the right way?
-
jonas’
wurstsalat, refresh
-
jonas’
wurstsalat, it just took a while to re-scan the MUC
-
moparisthebest
ooh entire domain you say, can I create mucs here?
-
jonas’
moparisthebest, no
-
Zash
You also can't set vcards.
-
jonas’
off to bed now
-
wurstsalat
jonas’: I do like the new layout!
-
Daniel
jonas’: I'm currently getting internet server error from the api
-
pep.
Newbie question: "After SASL negotiation, the parties MUST restart the stream." why is that?
-
Zash
pep., iirc to be sure that any sensitive SASL data can be wiped from memory.
-
Zash
And so that you can offer new features.
-
pep.
new features? ah, after being authenticated
-
Zash
post-auth only stream features
-
fippo
yes. it would not make sense to offer you any stream features that require authentication prior to auth ("try this! ah sorry, you need to be authenticated") so the rule of thumb is to only offer what has a chance to work
-
Zash
and you can't re-send stream features without a stream restart for whatever reason
-
Zash
this is one of the reasons dialback is awkward, since there's no stream restart involved, so you have to offer post-auth features before auth.
-
pep.
yeah that's what I was wondering (why not "just" send new features)
-
Zash
becasue.
-
Zash
resetting the parser and wiping pre-stream restart data has some value one might think
-
pep.
So using a mobile client actually has some benefits. This way you can see new features your server advertizes quickly (/s)
-
Zash
Now go implement SASL2 and/or BIND2 :)
-
fippo
"just" sending new features might break backward compat
-
pep.
Call it XMPP2!
-
fippo
(i suspect this is a mostly theoretical concern)
-
pep.
or 3, or 4
-
Zash
XMPP 99