-
Neustradamus
Where is the up-to-date memberbot source code?
-
pep.
Neustradamus, https://github.com/legastero/memberbot/network/members I think
-
pep.
Ah wait, it says archived
-
pep.
Link Mauve has a few patches on top, but it's the only fork apparently so..
-
ralphm
Hmm, maybe ask Lance when he wakes
-
ralphm
We could have him move it to our org
-
ralphm
Leaving forks intact
-
Neustradamus
Because there is a problem (I have auto capitalize the first letter of sentence in my client) and when we click on "yes" it is Yes, it does not work. There is no problem for "no" it is no.
-
Seve
Ah yeah, it only allows "Yes" as "Yes" haha :D
-
Zash
https://xmpp.org/extensions/inbox/buttons.xml !
-
Neustradamus
And this bug is not new.
-
Ge0rG
This is a bottomless pit. First you want "Yes", then you want "YES", then you want "true", then you want "1"...
-
Ge0rG
In the end, you end up with a YAML parser that interprets your answer as a sexagesimal number.
-
Guus
Yes!
-
Zash
"si", "ja", "SIR YES SIR!"
-
Guus
I mean: yes!
-
Kev
Ydw.
-
ralphm
The age of an issue is not really relevant.
-
Guus
(but not having it case-sensitive would be a welcome improvement)
-
Guus
> "si", "ja", "SIR YES SIR!" Spanish, German/Dutch, American?
-
Ge0rG
Guus: xml:lang?
-
ralphm
👍👎
-
linkmauve
Thankfully Yes! will get interpreted as 1! which as everyone knows is equal to 1.
-
Zash
Motivate me or someone to fix up the buttons XEP
-
Zash
The return of the revenge of the unintended factorial!
-
Ge0rG
Zash: data forms!
-
linkmauve
Ad-hoc commands!
-
ralphm
pubsub
-
Zash
all of the above, plus jingle!
-
Guus
Donkey!
-
Seve
omg
-
Zash
dataform in ad-hoc command over p2p-xmpp offered via jingle session in pep
-
Seve
Now I'm listening
-
pep.
Ge0rG, will you also allow me to have: はい, ええ, えー, いいえ, いえ, いいや, いや ? :P
-
pep.
or Guus ^ (dunno who was talking about it)
-
Guus
Blamimng Ge0rG for all of this works for me.
-
Ge0rG
"Say yes or no. Please pronounce it clearly, our speech analysis sucks."
-
ralphm
Also XEP-0132.
-
linkmauve
pep., with context dependent answer to actually pick no when you say はい to a negative question.
-
pep.
linkmauve, of course
-
pep.
That's what I expect from locale handling
-
Ge0rG
wasn't there a language where "no" actually means yes?
-
Ge0rG
Uh-oh, I hope I'm not triggering an army of SJWs now.
-
linkmauve
Ge0rG, that was the essence of my joke. :p
-
Guus
Polish, according to my Google-foo.
-
pep.
In Japanese you answer positively (Yes) to a negative question if you agree with the negation
-
pep.
But it's not just them, I actually also do that in french and english nowadays :x
-
Ge0rG
linkmauve: but I don't understand Japanese.
-
linkmauve
Ah, too bad.
-
linkmauve
pep., oh no.
-
ralphm
pep.: I do that a lot
-
Ge0rG
In German you have "ja", "nein" and "doch". When asked a negated question, you use the latter two
-
pep.
Ge0rG, yeah there's also « si » in french
-
pep.
("doch" equivalent I guess)
-
Ge0rG
language is complicated. Let's go fishing.
-
linkmauve
Great, I now have a Pod which can do fishing.
-
linkmauve
It costed me 5000G and takes [3] space in memory.
-
Guus
Hey, this is interesting. We had someone trying to send s2s spam over a server using anonymous logins (we disallow s2s traffic for anonymous sessions). Now the intended recipient (that would not have received anything) is replying back with StopSpam Question subject messages containing a simple math problem.
-
Ge0rG
Guus: how does the recipient know?
-
Guus
exactly.
-
Ge0rG
maybe your s2s blocker is faulty?
-
Ge0rG
is the intended recipient on your own server?
-
Guus
Pretty sure it's not - I'm guessing that the recipient expected the spam to arrive, didn't, and is trying to make it come through with sending questions to de-block data.
-
Guus
which suggests recipient and sender are the same party.
-
Guus
no, they're on xmpp.jp.
-
Zash
Intelesting
-
Ge0rG
Guus: I'm pretty sure this is not how the StopSpam thing works.
-
Ge0rG
Guus: maybe it reacts to presence, not to messages, and your s2s blocker only blocks the latter?
-
Guus
Can't rule out a bug
-
Guus
but it should
-
Guus
feel free to give it a test on igniterealtime.org
-
Ge0rG
Guus: is that the anon domain?
-
Ge0rG
I don't even know how to login to an anon domain
-
Guus
Ge0rG yes - Smack supports it, afaik
-
Daniel
So does Conversations
-
Daniel
Enter a random local part
-
Guus
it's a SASL mechanism
-
Ge0rG
Yay, let's crash yaxim!
-
Guus
Thanks for the minutes, Daniel
-
Ge0rG
Hm. It won't let me in.
-
Ge0rG
Because I try SCRAM-SHA1, which is advertised, and which obviously fails
-
Ge0rG
Daniel: doesn't work with Conversations either :(
-
Daniel
yes because of the same reason
-
Ge0rG
Guus: your server is broken :P
-
Guus
ohboy
-
Guus
the _spammers_ can get in... 😉
-
Daniel
i wonder if i should make it work with anon available && password.isEmpty()
-
Daniel
or something
-
Guus
Georg, what exactly happens?
-
Guus
wait, you guys expect anonymous to be the only SASL mechanism that's offered?
-
Ge0rG
Daniel: that would be the obvious hack
-
Zash
Things seem easier if anonymous users are namespaced onto another virtualhost
-
Ge0rG
Guus: Smack's highly complicated pluggable SASL mechanisms plug mechanism uses SCRAM-SHA1
-
Ge0rG
SCRAM-SHA1 fails
-
Daniel
> Things seem easier if anonymous users are namespaced onto another virtualhost Yes. Thats what I tested Conversations with
-
Guus
I think in Smack you explicitly tell 'anonymous' somehow
-
Guus
Ge0rG org.jivesoftware.smack.ConnectionConfiguration.Builder#performSaslAnonymousAuthentication
-
Guus
Unsure how the server could help you here.
-
Zash
Guus: Historical thing due to how Openfire didn't have virtual host support in the past?
-
Guus
Openfire does not and will not have virtual host support.
-
Guus
wait to complicated to put that in the existing code base. doesn't outweigh simply running two servers.✎ -
Guus
way to complicated to put that in the existing code base. doesn't outweigh simply running two servers. ✏
-
Ge0rG
java.lang.IllegalArgumentException: Client State Indication not supported by server
-
Ge0rG
Sigh.
-
Ge0rG
why is that even mandatory in the code?
-
Guus
CSI - the spec that doesn't have any sensible spec compliant benefits, right?
-
Guus
I think I've a plugin somewhere that will advertise the feature...
-
Ge0rG
Oh, it is not supposed to throw that kind of exception. This was only meant to ensure that the client is connected to the server.
-
Ge0rG
Guus: it would be great if messages got bounced back.
-
Guus
kindly elaborate
-
Ge0rG
Guus: if I send a message, and your server forbids the delivery of that message, it should reply with a message error
-
Ge0rG
But it doesn't look like an anon client is able to send messages or presence to yax.im
-
Guus
hmm, I'm guessing we didn't do that because we didn't want to make spammers wiser
-
Guus
which might be overkill
-
Ge0rG
Guus: you are also breaking things for users.
-
Guus
also, I'm not ruling out that this goes wrong in other places
-
Ge0rG
Guus: same thing with presence.
-
Ge0rG
But at least anon is breaking surprisingly few things.
-
Guus
hmm, you're onto something. The stanza bouncing rules are somewhat awkward.
-
Ge0rG
SENT: <iq id='1dfTY-60' type='set'><query xmlns='jabber:iq:roster'><item jid='georg@yax.im' name='Georg' subscription='none'></item></query></iq> RECV: <iq type="error" id="1dfTY-60" to="1qr03gr14@igniterealtime.org/1qr03gr14"> <query xmlns="jabber:iq:roster"><item jid="georg@yax.im" name="Georg" subscription="none"/></query> <error code="500" type="wait"><internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error> </iq>
-
Ge0rG
Guus: you might also want to fix that: wait/internal-server-error is definitively the wrong response
-
Guus
hehe
-
Guus
this is just "omgwedidntanticipatethis"
-
Guus
oh, there's actually an attempt in the code to cause an 'unauthorized'
-
Guus
but that doesn't get processed properly
-
Ge0rG
here's another one!
-
Ge0rG
SENT: <presence to='openfire@conference.igniterealtime.org/Ge0rG' id='1dfTY-94' type='unavailable'></presence> RECV: <presence to="1qr03gr14@igniterealtime.org/1qr03gr14" id="1dfTY-94" type="error" from="openfire@conference.igniterealtime.org/Ge0rG"><error code="400" type="wait"><unexpected-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></presence>
-
Guus
getting a roster in an anonymous session, would 'not-authorized' be a suitable response?
-
Guus
technically, SASL happened...
-
Guus
not-allowed is documented to apply to _any entity_
-
Guus
not-acceptable?
-
Guus
service-unavailable?
-
Ge0rG
problems found in yaxim: 2 problems found in openfire: 3(?)
-
Guus
One down: https://github.com/igniterealtime/Openfire/pull/1472
-
Ge0rG
I still can't join the MUC, but it seems to be a yaxim bug
-
Guus
openfire@ is a private muc, I think. Try open_chat
-
Neustradamus
Guus: Smack has SCRAM-SHA-1 and SCRAM-SHA-1-PLUS? https://issues.igniterealtime.org/browse/SMACK-749
-
Ge0rG
Guus: if it's a private MUC, why did I get one message from it?
-
Neustradamus
Ignite Realtime products are not in the good category? -> https://github.com/scram-xmpp/info/issues/1
-
Guus
Neustradamus I would appreciate it if you stop following me around with the same question.
-
Guus
Ge0rG I'm unsure if it's private, or simply unlisted, or something else - it's not the regular room that I thought you ment to use, which would be open_chat
-
Neustradamus
I do a search and I have found: https://discourse.igniterealtime.org/t/saslerror-using-scram-sha-1-malformed-request/73391 and the ticket
-
Ge0rG
Guus: it was listed in disco#items
-
Ge0rG
Guus: looks like the room isn't sending a subject.
-
Ge0rG
Guus: https://xmpp.org/extensions/xep-0045.html#order
-
Guus
Ge0rG any pointers to the proper handling of undeliverable presence stanzas?
-
Guus
Openfire is dropping all of them silently
-
Ge0rG
Guus: send back... a presence error!
-
Guus
probably not always
-
Ge0rG
not on unavailable, I'd assume
-
Ge0rG
I'm not an expert in that field, sorry
-
Guus
Quickly scanning the RFC gives me more than that'd be a quick fix
-
Ge0rG
> After the room has optionally sent the discussion history to the new occupant, it SHALL send the current room subject. On some days, I hate XEP-0045
-
Kev
We'd bounce a stanza when it can't be delivered unless it's type=error or type=result.
-
Ge0rG
Wait, SHALL is a synonym to MUST. That makes my hate disappear.
-
Ge0rG
Guus: look, you are violating XEP-0045 there :D
-
Ge0rG
Kev: why don't you bounce type=result?
-
Zash
Relatedly, what do you do if you recieve a malformed error stanza?
-
Kev
Because you never reply to a result?
-
Zash
Yell "garbage in, garbage out!" and deliver it?
-
Ge0rG
Zash: define "malformed"
-
Zash
Actually, the issue I'm thinking of is with a malformed iq-reply, a disco#info response where all the <features> went into the top level stanza and the actual <{disco#info>query> payload is missing.
-
Zash
Thus, having more than 2 direct child tags, which is forbidden
-
Zash
Actually, type=reply can't have more than 1, but still
-
lovetox
Ge0rG, if you just discovered that, and now implement that you are only really joined if you receive the subject
-
lovetox
prepare for older ejabberd server that dont send empty subjects :)
-
lovetox
and in fact prosody didnt do this also once
-
lovetox
if you want to test old ejabberds jabber.ru is a good testing ground :)
-
Ge0rG
lovetox: I remember those issues, yeah. How do you "complete" a join then? On self-presence?
-
Ge0rG
Are there still servers that don't add 110?
-
lovetox
no a join is complete if you receive a subject
-
lovetox
i put a timer, when i receive self presence
-
lovetox
means joins on not compliant servers need longer, but not really my problem, they can upgrade their software
-
pep.
yeah because then you can't distinguish between muc history and normal delayed messages
-
lovetox
correctly !✎ -
lovetox
correct ! ✏
-
lovetox
and this is for another reason important
-
lovetox
servers dont validate delay timestamps on groupchat messages
-
lovetox
and if i receive a message with a timestamp by attr = muc jid that means i respect that timestamp as the true timestamp
-
lovetox
if i receive a message with a timestamp not set by the server, i save both timestamps, the one i received and one that is potentially set by a user
-
lovetox
and because servers dont validate the by attr in delay timestamps
-
lovetox
you cant just simply parse the by attr
-
pep.
Do you btw invert the trust model once you start seeing e2ee? :P
-
lovetox
you need the subject to determine if its a muc history message
-
lovetox
pep., what does that mean "invert the trust model"
-
pep.
Well here you rely on the server doing "the right thing" and users potentially being evil, from what I understand
-
lovetox
yes
-
lovetox
i dont see how that changes with e2e
-
pep.
In the e2ee world, people don't trust their server (otherwise there's little point)
-
lovetox
they trust the server with everything but keeping message content private
-
pep.
So in their view, I guess, the server would be the evil actor and they're be the ones to do the right thing
-
pep.
*they'd
-
Guus
> After the room has optionally sent the discussion history to the new occupant, it SHALL send the current room subject.
-
Guus
Ge0rG that doesn't say that a room MUST have a subject?
-
pep.
It can be empty
-
lovetox
yes Guus you should send a empty subject
-
pep.
But it must be
-
Guus
srsly/
-
lovetox
yes otherwise how do we differentiate between muc history and live messages?
-
pep.
<delay/> only happens in MUC history right? :P
-
lovetox
that you have in your implementation NULL for subject and consider this "not empty", i think is not really the point of the xep
-
Zash
Next up: Clients are technically allowed to send messages with subjects that are not the room subject, iff they also include a body.
-
lovetox
pep., delay happens when a client adds it
-
pep.
lovetox, that was a joke
-
lovetox
:)
-
Ge0rG
pep.: it was a very evil joke
-
lovetox
Zash, yeah also a good point, Gajim should interpret this correctly :)
-
pep.
Ge0rG, I guess that's what the XEP authors thought?
-
pep.
Or predicted, rather
-
Ge0rG
somebody remind me to send a PR to fix that place of the XEP
-
pep.
Ge0rG, That's also how poezio works anyway.. Remember that obnoxious grey color?
-
Zash
grey?
-
pep.
Zash, this.
-
Zash
https://cerdale.zash.se/upload/DW2VdqYztEtF6KJ9/this.png
-
pep.
on poezio
-
pep.
https://ppjet.bouah.net/poezio-grey.png
-
Zash
Never seen that before
-
pep.
This comes from the fact that <delay/> is only used in MUC history (right?). Also why poezio doesn't do highlights when <delay/> is present
-
pep.
what?
-
pep.
Have you never noticed people enabling mod_delay for no reason and poezio becoming unreadable?
-
Zash
https://cerdale.zash.se/upload/L3qjPKnmAFR5iyoR/not-grey.png
-
Ge0rG
it's dark magenta on black in my theme
-
Ge0rG
and it suppresses highlights, which is evil.
-
pep.
:)
-
Ge0rG
What I says seems largely redundant.
-
pep.
It is indeed (evil). https://cerdale.zash.se/upload/L3qjPKnmAFR5iyoR/not-grey.png if somebody wants to tackle the issue
-
pep.
fail.
-
pep.
https://lab.louiz.org/poezio/poezio/issues/3142 this
-
Ge0rG
> Opened 3 years ago by ge0rg
-
Ge0rG
Everything old is new again.
-
pep.
What is dead may never die
-
Guus
third PR gone into Openfire. Tx Ge0rG
-
Ge0rG
Guus: thanks!
-
Guus
Don't thank me yet: these were shot from the hip.
-
Ge0rG
Guus: deploy to igniterealtime, see what happens
-
Ge0rG
friday afternoon is the best time for that
-
Guus
Yeah, maybe
-
Guus
I should get back to work first 🙂
-
Daniel
Is fasten going to be used for the full qoute / reference use case?
-
pep.
Daniel, might even be called "Attach" in the end! See standards@
-
Ge0rG
🙈🙉🙊
-
pep.
And yes
-
pep.
Or is reference going to be used for mentions etc. still?
-
Guus
Are we intentionally sending out repeated newsletter tweets? It is starting to get annoying.
-
Daniel
can we get an example in the XEP (for quoteing a message)
-
Daniel
Guus, that annoys me to
-
Daniel
not that i wouldn’t know how. it's just that i want it explicit that this xep is meant for that
-
Guus
nyco are you triggering these? Maybe cut down on the frequency?
-
Ge0rG
Guus: the worst thing is that the tweets lack actual content
-
Ge0rG
they look like a badly trained AI. Sorry.
-
Ge0rG
or maybe an attempt at SEO
-
Zash
Like the rest of Twitter? </troll>
-
Daniel
so references and old attaching are going to be obsoleted?
-
jonas’
Daniel, I don’t think so
-
jonas’
AAUI, Kev intends to rebase/adapt References to Fastening
-
jonas’
or revamp it at least
-
jonas’
Fastening and References serve different use-cases
-
Kev
References gets updated to use fastening once fastening's published, and the idea is that old attaching goes away, yes.
-
Daniel
and isn’t quoting referse fasting? if you consider the MAM playout you want the original message with the quote and not the quotes for the original message
-
Daniel
or maybe you want the later
-
Daniel
or maybe both
-
jonas’
Kev, humm, isn’t fastening supposed to be 1:N, i.e. a message can be fastened to at most one other message, but a message can have multiple messages fastened to it?
-
jonas’
how would that work with multiple mentions, for example?
-
Ge0rG
fasten your references!
-
Daniel
fwiw it is completely not obvious from reading the current XEP that this can (even remotely) be used for quoteing
-
Daniel
> that adds additional information to the context of a previous message. i'm really not sure that quoteing falls under that category
-
ralphm
jonas’: yes 1:N
-
ralphm
I don't think that quoting is a good use case for this. You might use references instead.
-
ralphm
I'll try to 'complete' my blog post with many examples this weekend.
-
ralphm
Including renderings
-
ralphm
(of fasten, references, and combinations thereof)
-
Daniel
ok. i’ll just wait then. because right now i can’t picture any of this
-
Ge0rG
Guus, pep.: I've been really blind regarding the no-subject-set thing. It's actually right there, in your face, in Example 42: https://xmpp.org/extensions/xep-0045.html#example-42
-
jonas’
relevant: https://issues.prosody.im/1053
-
Guus
> Guus, pep.: I've been really blind regarding the no-subject-set thing. It's actually right there, in your face, in Example 42: https://xmpp.org/extensions/xep-0045.html#example-42 I've seen that. I think Daryl just merged my PR that adds that.
-
Zash
While we're on the topic of Openfire bugs here, what's up with sending `</stream:stream>` unencrypted at the end of TLS connections?
-
Guus
Hah
-
Guus
I fixed that earlier this week
-
Guus
At least during dialback
-
Zash
Heh, that explains why I just saw that just now.
-
Guus
Should not happen anymore on IgniteRealtime.org, if you care to test
-
Zash
Gotta be properly capitalized too? :)
-
Guus
No, that's autocorrect on my phone
-
Guus
> Heh, that explains why I just saw that just now. The problem has always been there, the fix is recent.
-
Guus
If you only saw a problem recently, then my fix made things unexpectedly worse...
-
Zash
I think I've pointed it out in the past
-
Guus
Kk
-
Guus
Fyi, my current status:
-
Zash
Looks fixed indeed, normal "closed" message
-
Guus
https://igniterealtime.org:443/httpfileupload/8ad21367-2b15-45d2-8079-670a386067aa/cCutz7hVTKSzxHAk9GyhZA.jpg
-
Zash
Good idea!
-
Guus
> Looks fixed indeed, normal "closed" message Good, tx
-
Guus
One of the benefits of having kids: making pancakes and pretending you do _them_ a favour.
-
Zash
Level 2: Teaching them to make pancakes
-
Guus
That's a trap
-
Guus
You'll have to clean up during the time that they are in training, but suck at flipping pancakes by throwing them in the air.
-
Zash
Cast iron.
-
Guus
https://igniterealtime.org:443/httpfileupload/5801e2dc-ee1d-484c-8d4b-d23f03ffb49a/IBgfNURnQC2YLGJRBF_rVQ.jpg
-
Guus
It is