-
ask6155
How do I make a basic xmpp client?
-
ask6155
I'd like to implement everything from scratch. How would I go about it?
-
Zash
How deep in the stack do you want to want to go?
-
ask6155
I don't know the stack so...
-
Zash
What exactly do you mean by *everything*
-
SouL
Hehe
-
Zash
I by excluding all the jokes, the question is, do you want to write your own client library? Because I'd recommend against that.
-
ask6155
Why?
-
Zash
Because I'm lazy.
-
ask6155
😕
-
ask6155
Can you give me some info on making clients? Like a top down?
-
Zash
There's probably someone better than me specifically, as I'm a primarily a server dev.
-
Martin
Also what client? Android, iOS, Desktop? TUI or GUI?
-
ask6155
I was thinking tui
-
Zash
User interface, various logic, xml parsing + serialization, TLS, socket handling.
-
pulkomandy
Does xmpp really need more clients? Especially written from scratch? I mean if you want to learn a lot of boring details about sockets, ssl, and xml, maybe so, but otherwise, using an existing xmpp lib seems a better idea
-
ask6155
What is an xmpp lib?
-
Zash
something that handles most of the protocol
-
ask6155
I thought making basic clients is easy. As xmpp is a small base specification?
-
pulkomandy
For example in c++ there is gloox. In python there is slixmpp. In other languages there are probaply more
-
Martin
> I was thinking tui There are mcabber, profanity and poezio. Maybe you'd rather contribute to them. 😃
-
Ge0rG
there are clearly not enough abandoned client projects yet.
-
ask6155
I was only going to make it to abandon it. It was just going to be me dipping into xmpp...
-
Guus
> I was only going to make it to abandon it. It was just going to be me dipping into xmpp... To do that, I'd suggest to apply an existing project to solve some kind of issue, instead of writing something from scratch
-
Guus
Maybe create a chat bot or something else fun
-
Zash
Or pick a language, read up on sockets and connect to port 5222 and send some XML
-
Guus
Dip your toe, instead of an immediate deep dive
-
ask6155
I guess I'll just look into profanity
-
Moumen
hello , is there any guide to handle push notification on ios. ?
-
Moumen
i mean xmpp push notification
-
moparisthebest
in what way? are you writing an iOS xmpp client or?
-
DebXWoody
ask6155 [16:31]: > I thought making basic clients is easy. As xmpp is a small base specification? I'm working on a lib which should provide the XEPs in C. Feel free to join ;-)
-
marmistrz
Hi, is it a fundamentally bad idea to write an OMEMO-enabled XMPP MUC bot? (i.e. it would receive and send OMEMO-encrypted messages). One thing I can think of is that key management may be quite messy to do right.
-
marmistrz
I'm thinking about writing an XMPP voting bot for a non-anonymous, members-only MUC in which we're currently using OMEMO for all messages.
-
MattJ
I don't think that's fundamentally a bad idea. As long as there is an OMEMO lib in your language of choice...
-
marmistrz
And another question: do we currently have any library that provides out-of-the-box support for receiving and sending OMEMO-encrypted messages.
-
marmistrz
(currently all languages are considered)
-
MattJ
I think there is one in Python, I'm not sure how complete it is
-
MattJ
Syndace, pep. - something to do with you guys iirc?
-
pep.
It works with 0384-0.3 yep. goffi is using it much better than me. There's also the "normal" port python-axolotl that gajim uses
-
pep.
slixmpp-omemo is what I use with poezio, that uses Syndace's lib
-
marmistrz
pep.: how about mypy/typing support in slixmpp?
-
pep.
Good luck :x
-
pep.
Definitely not against it
-
marmistrz
s/how/what/ xD
-
marmistrz
Anyway, this was the answer that I feared :P
-
marmistrz
I can also see that Smack (Java) has support for OMEMO encryption. Anything else for other programming languages?✎ -
marmistrz
I can also see that Smack and JaXMPP (Java) have support for OMEMO encryption. Anything else for other programming languages? ✏