-
gh
Kindly ignore this message.
-
guus.der.kinderen
No!
-
wurstsalat
Hm it would be nice if this group chat had a proper name. Something like "Jabber/XMPP Development". I think the name/title is not set yet.
-
ralphm
wurstsalat: the proper name of this room _is_ jdev, so I set that as its title. The description is "Jabber/XMPP Development".
-
ralphm
It might be that your client shows this suboptimally.
-
wurstsalat
alright! no it shows "jdev" corretly then
-
pep.
I wish conversations displayed the topic at the top instead :(
-
Zash
I named my bookmark for this room "XMPP Development"
-
wurstsalat
Zash, good idea, Gajim had some improvements for name displaying lately :)
-
bent3n
Hi, I'm new to servers and networking. I want to build an xmpp server(I'll rent the server). It's for a chat application I want build(learning project )
-
bent3n
Any suggestion ? Please be as basic as possible as I'm new
-
Zash
Get a Debian VM, install Prosody, tweak the config and poke some DNS, ???, PROFIT!
-
bent3n
Zash Thanks. I have a linux VM installed on my mac. I installed prosody on it I tested it with prosody's client IM app and it works(my domain is localhost). I'm using a bridged network connection. Connecting to the VM from the Mac (host) is the challenge
-
guus.der.kinderen
bent3n - Openfire is pretty easy to setup on any computer
-
Zash
Prosody is a server, not a client.
-
guus.der.kinderen
and geared towards easy entry
-
bent3n
I don't know if I was doing anything wrong that's why I decided to rent a server and then learn
-
bent3n
guus.der.kinderen I installed openfire on the linux guest. I can only access the admin webpage from the host( my MAC)
-
guus.der.kinderen
bent3n exactly what is your goal here? If it's just to experiment, I'd be perfectly happy to host a service for you for a couple of days.
-
guus.der.kinderen
that'd save you from the troubles of setting one up yourself.
-
bent3n
I'm learning from a textbook. and the HTTP connection manager in the textbook is no longer up. So I'll have to create my own if I want to learn
-
guus.der.kinderen
if you'd try to learn how to setup a server, then you'd have to set it up yourself, obviously :
-
bent3n
yeah. Unless bridging between my host and my guest works(which hasn't for me right now) that's why I'm leaning more towards renting a server
-
guus.der.kinderen
let me set one up for you, so that you can at least experiment for a couple of days
-
guus.der.kinderen
if you want to rent that later, we can discuss it.
-
guus.der.kinderen
woudl that work for you?
-
bent3n
That would more than work
-
Zash
I don't know about you all but I just run `./prosody` locally on my workstation. Renting a whole machine seems like a bit overkill.
-
bent3n
thanks guus.der.kinderen
-
guus.der.kinderen
no problem. pick any subdomain (as in the 'something' in "something.goodbytes.im") please
-
bent3n
guus.der.kinderen Zash Here's the app I wanted to test :
-
bent3n
let Hello ={ connection: null, start_time: null, log: function(msg){ $("#log").append("<p>"+ msg +"</p>"); }, send_ping: function(to){ let ping = $iq({ to: to, type:"get", id:"ping1"}).c("ping", {xmlns:"urn:xmpp:ping"}); Hello.log("Sending ping to:"+to+"."); Hello.start_time = (new Date()).getTime(); Hello.connection.send(ping); }, handle_pong: function(iq){ let elapsed =(new Date()).getTime() - Hello.start_time; Hello.log("Received pong from server in : "+ elapsed+" ms"); Hello.connection.disconnect(); return false; } }; $(document).ready(function(){ $("#login_dialog").dialog({ autoOpen: true, draggable: false, modal: true, title:"Connect to XMPP", buttons:{ "Connect": function(){ $(document).trigger("connect",{ jid: $("#jid").val(), password: $("#password").val() }); $("#password").val(""); $(this).dialog('close'); } } }); }); $(document).bind('connect', function(ev, data){ let conn = new Strophe.Connection("http://bosh.metajack.im:5280/xmpp-httpbind"); console.log(conn); conn.connect(data.jid, data.password, function(status){ if (status === Strophe.Status.CONNECTED){ $(document).trigger('connected'); }else if (status === Strophe.Status.DISCONNECTED){ $(document).trigger('disconnected'); } }); Hello.connection = conn; }); $(document).bind('connected', function(){ // inform the user Hello.log("Connection established"); Hello.connection.addHandler(Hello.handle_pong, null, "iq", null, "ping1"); let domain = Strophe.getDomainFromJid(Hello.connection.jid); Hello.send_ping(domain); }); $(document).bind('disconnected', function(){ Hello.log("Connection terminated..."); //remove the connection object Hello.connection = null; });\
-
bent3n
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Hello - Chapter 3</title> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/cupertino/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script> <script src="scripts/strophe.js"></script> <script src="scripts/flXHR.js"></script> <script src="scripts/strophe.flxhr.js"></script> <link rel="stylesheet" href="hello.css"> <script src="hello.js"></script> </head> <body> <h1>Hello</h1> <div id="log"> </div> <div id="login_dialog" class="hidden"> <label>JID:</label><br/><input type="text" id="jid"> <label>Password:</label><br/><input type="password" id="password"> </div> </body> </html>
-
guus.der.kinderen
woah, please don't copy that much code here 🙂
-
guus.der.kinderen
some of us are on mobile phones 🙂
-
bent3n
guus.der.kinderen bent3n would be ok for the subdomain
-
Zash
Déjà vu https://logs.xmpp.org/jdev/2019-08-09?p=h#2019-08-09-ce5c5bf5f9431f5b
-
bent3n
Zash Yes, I tried what JC suggested by installing prosody on my guest (Linux on the VM on my MAC)
-
bent3n
guus.der.kinderen Sorry I did not know that
-
bent3n
There isn't much stuff out there for a beginner(let alone recent material). Like I said. I'm a beginner with 0 experience with networking
-
guus.der.kinderen
bent3n, email me at guus@goodbytes.nl so that we can exchange credentials etc
-
guus.der.kinderen
note that I'm not planning to provide development support with regards to your textbook code 🙂
-
bent3n
guus.der.kinderen just emailed you
-
guus.der.kinderen
received it, tx. I'll forward you instructions shortly
-
guus.der.kinderen
it takes about 10 minutes for the provisioning to happen.
-
bent3n
Thanks
-
bent3n
no problem with code support. I need a connection manager that works. the book I'm using is about 10 years old. The only trustworthy resource for beginners I could find
-
guus.der.kinderen
Yeah, that's an issue. We (the XMPP Standards Foundation) could use more resources for easy entry.
-
Zash
Hot damn, published in 2010? Time flies.
-
bent3n
hahahaha. It's Jack Moffit's book
-
Zash
I know, I have it
-
Kev
The Book is even older.
-
Kev
2008 or so?
-
Kev
Although as it's not code-sample based primarily, it's pleasing how often it's still relevant when I point the team to it.
-
Zash
Kev: Time for a remake?
-
Kev
I think it's not worth it until we've solved the archive+routing2 stuff.
-
Kev
At that point, maybe.
-
guus.der.kinderen
bent3n check your mail
-
guus.der.kinderen
note that DNS propagation might require some time to get to every corner of the earth - but it's usually pretty fast.
-
bent3n
just seen it. Thanks guus.der.kinderen !
-
guus.der.kinderen
Oh, I should upgrade that webclient that ships with it. The latest version has interesting debugging options, which will probably help you in your own efforts.
-
guus.der.kinderen
I'll try upgrading later.
-
bent3n
thank you so much ! guus.der.kinderen
-
guus.der.kinderen
I just upgraded it (still had the console open 😛 )
-
guus.der.kinderen
try hard-refreshing the inVerse URL if you had already opened it. It should have changed from version 4.2.0 to 5.0.1.
-
guus.der.kinderen
I've now enabled debug mode on that client. If you open the development console of your browser (typically: F12), you'll see a bunch of useful information.
-
bent3n
guus.der.kinderen I got this error when I entered my credentials into the page that loaded from the inverse URL
-
bent3n
2019-08-19T14:32:39.174Z WARNING: Message Archive Management (XEP-0313) not supported by this server
-
guus.der.kinderen
known issue - ignore it - it simply works.
-
bent3n
ok cool !
-
guus.der.kinderen
https://github.com/conversejs/converse.js/issues/1676
-
bent3n
guus.der.kinderen Kev Zash So next is to configure the server to do something right? I ask I switched out the connection manager to the one Guus provided and it still shows connection terminated -- I was expecting it to connect at least
-
bent3n
I'm new to networking
-
guus.der.kinderen
the XMPP server can be used to connect your XMPP client to, and to use that to send back and forth messages.
-
guus.der.kinderen
the connection manager (BOSH) is one way of connecting to the server (it's basically an HTTP wrapper for XMPP traffic)
-
guus.der.kinderen
I've provided you with an account. You should be able to use that to authenticate against the server, and start sending messages and whatnot.
-
Zash
Most XMPP servers these days have a BOSH connection manager built into the server itself, so it's not a proxy anymore and might behave differently to a standalone BOSH proxy
-
bent3n
Zash So does that mean the code I provided above will have to be edited in some way ? Kev These are the files I downloaded so I could use strophe for the example in the book (Hello app on chapter 3)
-
bent3n
1. checkplayer.js 2. flensed.js 3. flXHR.js 4. flXHR.swf 5. flXHR.vbs 6. strophe.flxhr.js 7. swfobject.js 8. strophe.js 9. updateplayer.swf
-
bent3n
Am I missing any ? can you please point me in the right direction so I can download the files necessary/relevant today so I can complete that example ?
-
guus.der.kinderen
(i'm off to feed the offspring)
-
bent3n
hahaha the offspring
-
travis
Swf ?
-
travis
If your book wants you to use flash in 2019 burn it
-
travis
Haha .vbs too even better
-
Kev
bent3n: I know nothing much about Jack's book, and I don't do JS-based XMPP. Pinging me won't help here.
-
MattJ
Yeah, this stuff is from before CORS was widespread
-
travis
yea I suspect you'd be better off burning that book and going with something from this decade
-
travis
otherwise you are going to struggle a lot with implementing it, then be rewarded by it not working in any modern browser
-
jonas’
I would suggest not to *burn* the book, but putting it aside is probably wise.
-
travis
details details... :)
-
Zash
travis: The problem is that there's no book from this decade.
-
Zash
Depending on whether 2010 counts as this decade or the previous one.
-
travis
probably true
-
bent3n
Off got I plane to catch. I'll land at 3pm ET
-
Kev
Zash: Well, that's only a problem if the book was written as a guide for a codebase.
-
Kev
I think (obviously biased) TDG has aged relatively well, but obviously Jack's book on strophe is going to age badly because the web has changed in 10 years.
-
Zash
Kev: Sure, XMPP basics probably haven't changed all that much. Higher level things have moved a bit tho. Were Carbons and MAM around back then for example?
-
Kev
I don't recall. I think 289's in there but not 313, but wouldn't swear to it.
-
Kev
But sure, thing's have changed. The question is whether what's there becomes wrong, or just incomplete.
-
pep.
Also the sleekxmpp book is still here to haunt us for some time. I wouldn't even recommend slixmpp nowadays, I'm looking forward yo aioxmpp in Python✎ -
pep.
Also the sleekxmpp book is still here to haunt us for some time. I wouldn't even recommend slixmpp nowadays, I'm looking forward to aioxmpp in Python ✏
-
jonas’
"looking forward to"?
-
Kev
pep.: You mean TDG? Most of the book doen't cover sleek, there's just a few examples at the back.
-
pep.
Hmm, badly said
-
pep.
I don't know the book, Kev. I'm just heard there was one on sleekxmpp.
-
Kev
Not AFAIK.
-
Kev
But TDG has some SleekXMPP examples at the back.
-
ralphm
I'm not sure if Jack's book has aged that badly. Strophejs just works and I don't think it is affected as much as other web technologies.
-
jonas’
.swf was mentioned above
-
moparisthebest
if it has you copying around .swf and .vbs files that's a bad sign
-
ralphm
I'd summarise most new development around frameworks for presentational code, single page apps, WebRTC. So stuff using strophejs might have changed dramatically.
-
ralphm
Which reminds me ikDisplay should have a complete overhaul of its UI bits.
-
Zash
ralphm, was ikDisplay pubsub based?
-
ralphm
Is. Yes.
-
ralphm
E.g. a feed on XMPP: https://display.ik.nu/xmpp
-
ralphm
Still has the FOSDEM banner on it 🤣
-
Zash
😀
-
ralphm
It used to be smooth, but browsers have changed and UI should be redone to use modern transitions features.
-
bent3n
ralphm Zash moparisthebest Kev MattJ So where would you point a beginner ? For learning resources and the necessary files for strophe or any other JS xmpp library?
-
bent3n
I'm open to new libraries provided there's support and a community? currently checking what webRTC is
-
bent3n
JC told me about converse a couple of weeks ago
-
moparisthebest
I would guess converse.js would be the way to go