Hi, I'm trying to play around with modifying ejabberd with new xmpp commands with more functionality and I was wondering what the "easiest" client would be to use to do that? I've tried using conversejs and strophe directly but are there any other options?
daidoji
Like say I wanted to display mod_time on a website.
Probably depends mostly on what (languages etc) you're most familiar with already.
daidoji
hmm, I'm a data scientist by trade. I thought these javascript clients would be easiest since I've done work in that language and haven't done much Gui work
daidoji
to be honest, I'd just be happy with a client that had some walkthroughs instead of slogging through the mud on my own
waqashas joined
paulhas left
daidoji
like I just wondered what other people do? Are there like XMPP tools I don't know about or utilities to make this easier? Or do people just adjust their servers/clients and then fire up wireshark or something?
Zash
It depends. Personally I'm pretty likely to try to solve whatever by writing Prosody modules or whatever in Lua, since that's what I'm most familiar with.
daidoji
word
Zash
As for JS and Strophe.js, I still have this book on a shelf somewhere: http://professionalxmpp.com/
Vaulorhas left
daidoji
yeah I saw that. Did you think it was good?
Zash
I think so. Was some time ago I read it last tho.
daidoji
word, well I'll order it and see then.
Zash
Hm, https://strophe.im/strophejs/#documentation--tutorials looks like a short list
daidoji
yeah I saw those
daidoji
but they were a bit opaque :p
daidoji
at least for my skillset. However, I'll dive back into those for now I guess
daidoji
I'm just at the don't know what I don't know part of my journey here with XMPP
Zash
And it looks like the links have broken :(
daidoji
some of them, they're still in the github repo
daidoji
another weird thing about that project is I had to fiddle with the makefile to get it to build
daidoji
they rely on naturaldocs which is some kind of .Net tool for doing documentation
daidoji
Wasn't a quick way to get it working on linux
Zash
Nothing I've heard about
test2has joined
Жокирhas left
Жокирhas joined
test2has left
test2has joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
dropshas left
martinhas joined
sonnyhas left
sonnyhas joined
test2has left
test2has joined
test2has left
test2has joined
Жокирhas left
Жокирhas joined
testethas joined
testethas left
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
test2has left
test2has joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
lovetoxhas joined
paulhas joined
Yagizаhas joined
Yagizаhas left
Yagizаhas joined
lovetox
daidoji, am i understanding you correctly, you want for example to modify the server moudle mod_time
lovetox
and just need a client to test your modifications?
Vaulorhas joined
martinhas left
martinhas joined
lovetoxhas left
adrienhas left
adrienhas joined
Beherithas left
Beherithas joined
lovetoxhas joined
Matthas joined
Matt
hello anyone online?
Martin
Yep
Matt
i have a question about strophe lol
Matt
someone is already mentioned it above
Matt
im trying to connect to an xmpp server using strophe and i get the xml out put and strophe shows that my user name is password is correct but for some reason its not connecting.
Martin
No idea about strophe but maybe someone else knows it.
Matt
same thing with xmpp.js
test2has left
adiaholic_has joined
debaclehas joined
test2has joined
asterixhas joined
waqashas left
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
adiaholic_has left
adiaholic_has joined
xeckshas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
rionhas left
Жокирhas left
Жокирhas joined
adiaholic_has left
Жокирhas left
Жокирhas joined
test2has left
daidojihas left
test2has joined
jonnjhas left
test2has left
test2has joined
Yagizаhas left
Yagizаhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
Yagizаhas left
Yagizаhas joined
alexishas left
Yagizаhas left
Yagizаhas joined
Yagizаhas left
Yagizаhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
adiaholic_has joined
Yagizаhas left
adiaholic_has left
adiaholic_has joined
kikuchiyohas left
Yagizаhas joined
xeckshas left
xeckshas joined
Yagizаhas left
alexishas joined
rionhas joined
martinhas left
martinhas joined
Yagizаhas joined
test2has left
test2has joined
debaclehas left
kikuchiyohas joined
paulhas left
sonnyhas left
sonnyhas joined
jonnjhas joined
alexishas left
alexishas joined
Syndacehas left
Syndacehas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
test2has left
sonnyhas left
sonnyhas joined
martinhas left
martinhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
dropshas joined
kikuchiyohas left
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
adiaholic_has left
adiaholic_has joined
sonnyhas left
lksjdflksjdfhas joined
Жокирhas left
Жокирhas joined
lksjdflksjdf
Is there a server that has code for XEP-0436 (MUC presence versioning) yet? I couldn't find anything but perhaps there's branch or module I overlooked
kikuchiyohas joined
Yagizаhas left
flow
lksjdflksjdf, given that it's co-authored by matthew, I'd look into the prosody trunk
Yagizаhas joined
paulhas joined
lksjdflksjdfhas left
daidojihas joined
Yagizаhas left
Yagizаhas joined
daidoji
lovetox well I wanted to add some capabilities to a muc room
daidoji
and I thought hte best way to do that is add some IQ stanzas and some other things
kikuchiyohas left
daidoji
but then I need to modify the client on one side and the server on the other and there aren't really good tutorials or walkthroughs on how to do that
lovetoxhas left
sonnyhas joined
Yagizаhas left
Yagizаhas joined
sonnyhas left
sonnyhas joined
Yagizаhas left
Yagizаhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Yagizаhas left
sonnyhas left
sonnyhas joined
kikuchiyohas joined
Zash
daidoji: Have you gotten enough of strophe.js working to send an iq stanza?
Zash
Once connected, it'd be something like:
`connection.sendIQ($iq({type:"get",id:connection.getUniqueId()}).c("time",{xmlns:"urn:xmpp:time"}), (r) => console.log(new Date(r.firstChild.getElementsByTagName("utc")[0].textContent)))`
Zash
In Prosody, that's responded to by https://hg.prosody.im/trunk/file/tip/plugins/mod_time.lua
sonnyhas left
sonnyhas joined
kikuchiyohas left
sonnyhas left
sonnyhas joined
Yagizаhas joined
lksjdflksjdfhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
lksjdflksjdfhas left
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
MattJ
lksjdflksjdf: in not aware of any implementation yet
lksjdflksjdfhas joined
kikuchiyohas joined
kikuchiyohas left
kikuchiyohas joined
Yagizаhas left
alexishas left
lksjdflksjdf
ok thanks for the info
lksjdflksjdf
I'm wondering something about the XEP though ... A user goes offline and online again - are we back to the same version? What if the user switches clients, is that still the same version?
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
Yagizаhas joined
Yagizаhas left
alexishas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Yagizаhas joined
Yagizаhas left
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
sonnyhas joined
Жокирhas left
Жокирhas joined
Жокирhas left
Жокирhas joined
sonnyhas left
debaclehas joined
sonnyhas joined
adiaholic_has left
adiaholic_has joined
Жокирhas left
sonnyhas left
debaclehas left
sonnyhas joined
Yagizаhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
alexishas left
lksjdflksjdfhas left
sonnyhas left
sonnyhas joined
daidoji
Zash yeah I figured that out just last night after I got off
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
lovetoxhas joined
lovetox
Gajim has a XML Console
lovetox
where you can simply put in the xml you want, and it sends it for you
lovetox
also you can see what you get back from the server, if thats what you want
lksjdflksjdfhas joined
test2has joined
sonnyhas left
lksjdflksjdfhas left
lksjdflksjdfhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
sonnyhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
sonnyhas left
sonnyhas joined
daidoji
lovetox oh wow that's awesome. Thanks
sonnyhas left
sonnyhas joined
MattJ
lksjdflksjdf: it could be the same version if the state of the room is exactly the same
MattJ
That's all the XEP needs to specify
Zash
Same could apply to roster versioning
MattJ
Yes
waqashas joined
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
asdfhas joined
asdfhas left
omemotest1has joined
omemotest1has left
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
lksjdflksjdf
I understand that you want to leave the details up to implementations 🤔️ I'm just more interested in the details of muc versioning (implementations) than the details of roster versioning, because there tend to be much more changes there. Like, if I leave a 300-person MUC at night and rejoin it the morning after. If 280 of those 300 people are the same and I only get 20 presences, that'd be nice. But if I still get 300 presences because everyone rejoined or is online with different resources, I'm not too excited about the feature anymore.
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
ajhas joined
moparisthebest
lksjdflksjdf, if a person named 'bob' is there right now and tommorow you don't even know if it's the same person or not
sonnyhas left
sonnyhas joined
ajhas left
MattJ
lksjdflksjdf: if you rejoin 8 hours later I don't think it's terrible if you have to refetch
lksjdflksjdf
moparisthebest, you mean if it _wasn't_ a different version after bob rejoined, I wouldn't know if it's the same person? Technically you could, with occupant ids. But without occupant ids that's true.
Zash
While there'll be more stuff going on with presence, it's probably still worth it to look at roster versioning and how that's implemented, since it's basically the same model.
Zash
You have stuff, that may change, and you have some token that identifies a specific version of it. You show the server the token and you get something that's supposed to sync your state with the servers.
adiaholic_has left
lksjdflksjdf
> if you rejoin 8 hours later I don't think it's terrible if you have to refetch
aw 🙁 but it takes time and bandwidth. Sure it's not "terrible" but I was hoping it could be partially eliminated
MattJ
I'm not saying it can't
MattJ
But I think that's stretching the goals
sonnyhas left
sonnyhas joined
testhellohas joined
Zash
With roster versioning, if sending the delta would be larger than just sending the roster ... then just send the roster!
Zash
Or if you don't have enough deltas. Or if you don't actually keep deltas at all, in which case it's just a ETag-ish thing.
testhello
hi guys it's my first time using xmpp
testhello
say something if it's working
lksjdflksjdf
Zash, what's an "ETag"?
Zash
testhello, "something"
lksjdflksjdf
testhello, it's working 😉
testhello
woah
Zash
lksjdflksjdf, HTTP cache thing.
test2has left
testhello
dude this is like the original QQ or wechat
test2has joined
lksjdflksjdf
you mean your client looks like it was from 15 years ago? 😛
Zash
One of the nice things is that if you don't like the client, there are others you can use.
testhello
I head Tencent originally ripped off of something I guess this is the one huh...
testhellohas left
adiaholic_has joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
lksjdflksjdfhas left
lksjdflksjdfhas joined
debaclehas joined
Yagizаhas left
martinhas left
martinhas joined
test2has left
test2has joined
test2has left
test2has joined
sonnyhas left
alexishas joined
kikuchiyohas left
alexishas left
alexishas joined
lovetoxhas left
lovetoxhas joined
lovetoxhas left
test2has left
lovetoxhas joined
test2has joined
lovetoxhas left
lovetoxhas joined
lovetoxhas left
martinhas left
alexishas left
test2has left
test2has joined
lovetoxhas joined
asterixhas left
lovetox
jonas’, was there any progress on the avatar from muclumbus front?