wurstsalatHm 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.
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Alexhas left
Alexhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
bent3nhas joined
ralphmwurstsalat: the proper name of this room _is_ jdev, so I set that as its title. The description is "Jabber/XMPP Development".
ralphmIt might be that your client shows this suboptimally.
wurstsalatalright! no it shows "jdev" corretly then
pep.I wish conversations displayed the topic at the top instead :(
ZashI named my bookmark for this room "XMPP Development"
wurstsalatZash, good idea, Gajim had some improvements for name displaying lately :)
lksjdflksjdfhas left
lksjdflksjdfhas joined
larmahas left
larmahas joined
bent3nHi, 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 )
bent3nAny suggestion ? Please be as basic as possible as I'm new
ZashGet a Debian VM, install Prosody, tweak the config and poke some DNS, ???, PROFIT!
bent3nZash 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.kinderenbent3n - Openfire is pretty easy to setup on any computer
ZashProsody is a server, not a client.
guus.der.kinderenand geared towards easy entry
bent3nI don't know if I was doing anything wrong that's why I decided to rent a server and then learn
bent3nguus.der.kinderen I installed openfire on the linux guest. I can only access the admin webpage from the host( my MAC)
guus.der.kinderenbent3n 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.kinderenthat'd save you from the troubles of setting one up yourself.
bent3nI'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.kinderenif you'd try to learn how to setup a server, then you'd have to set it up yourself, obviously :
bent3nyeah. 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.kinderenlet me set one up for you, so that you can at least experiment for a couple of days
guus.der.kinderenif you want to rent that later, we can discuss it.
guus.der.kinderenwoudl that work for you?
bent3nThat would more than work
ZashI don't know about you all but I just run `./prosody` locally on my workstation. Renting a whole machine seems like a bit overkill.
bent3nthanks guus.der.kinderen
guus.der.kinderenno problem. pick any subdomain (as in the 'something' in "something.goodbytes.im") please
bent3nguus.der.kinderen Zash Here's the app I wanted to test :
bent3nlet 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;
});\
guus.der.kinderenwoah, please don't copy that much code here 🙂
guus.der.kinderensome of us are on mobile phones 🙂
bent3nguus.der.kinderen bent3n would be ok for the subdomain
ZashDéjà vu
https://logs.xmpp.org/jdev/2019-08-09?p=h#2019-08-09-ce5c5bf5f9431f5b
bent3nZash Yes, I tried what JC suggested by installing prosody on my guest (Linux on the VM on my MAC)
bent3nguus.der.kinderen Sorry I did not know that
bent3nThere 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.kinderenbent3n, email me at guus@goodbytes.nl so that we can exchange credentials etc
guus.der.kinderennote that I'm not planning to provide development support with regards to your textbook code 🙂
bent3nguus.der.kinderen just emailed you
guus.der.kinderenreceived it, tx. I'll forward you instructions shortly
guus.der.kinderenit takes about 10 minutes for the provisioning to happen.
bent3nThanks
bent3nno 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.kinderenYeah, that's an issue. We (the XMPP Standards Foundation) could use more resources for easy entry.
ZashHot damn, published in 2010? Time flies.
bent3nhahahaha. It's Jack Moffit's book
ZashI know, I have it
KevThe Book is even older.
Kev2008 or so?
KevAlthough as it's not code-sample based primarily, it's pleasing how often it's still relevant when I point the team to it.
ZashKev: Time for a remake?
KevI think it's not worth it until we've solved the archive+routing2 stuff.
KevAt that point, maybe.
guus.der.kinderenbent3n check your mail
guus.der.kinderennote that DNS propagation might require some time to get to every corner of the earth - but it's usually pretty fast.
bent3njust seen it. Thanks guus.der.kinderen !
guus.der.kinderenOh, 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.kinderenI'll try upgrading later.
bent3nthank you so much ! guus.der.kinderen
guus.der.kinderenI just upgraded it (still had the console open 😛 )
guus.der.kinderentry 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.kinderenI'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.
bent3nguus.der.kinderen I got this error when I entered my credentials into the page that loaded from the inverse URL
bent3n2019-08-19T14:32:39.174Z WARNING: Message Archive Management (XEP-0313) not supported by this server
guus.der.kinderenknown issue - ignore it - it simply works.
bent3nguus.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
bent3nI'm new to networking
guus.der.kinderenthe XMPP server can be used to connect your XMPP client to, and to use that to send back and forth messages.
guus.der.kinderenthe connection manager (BOSH) is one way of connecting to the server (it's basically an HTTP wrapper for XMPP traffic)
guus.der.kinderenI've provided you with an account. You should be able to use that to authenticate against the server, and start sending messages and whatnot.
ZashMost 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
bent3nZash 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)
bent3nAm 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)
bent3nhahaha the offspring
Alexhas left
Alexhas joined
travisSwf ?
travisIf your book wants you to use flash in 2019 burn it
travisHaha .vbs too even better
Kevbent3n: I know nothing much about Jack's book, and I don't do JS-based XMPP. Pinging me won't help here.
MattJYeah, this stuff is from before CORS was widespread
travisyea I suspect you'd be better off burning that book and going with something from this decade
travisotherwise 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.
travisdetails details... :)
Zashtravis: The problem is that there's no book from this decade.
ZashDepending on whether 2010 counts as this decade or the previous one.
travisprobably true
Allohas left
travishas left
marc0shas left
marc0shas joined
bent3nOff got I plane to catch. I'll land at 3pm ET
bent3nhas left
KevZash: Well, that's only a problem if the book was written as a guide for a codebase.
KevI 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.
ZashKev: 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?
KevI don't recall. I think 289's in there but not 313, but wouldn't swear to it.
KevBut 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"?
Kevpep.: 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.
KevNot AFAIK.
KevBut TDG has some SleekXMPP examples at the back.
lovetoxhas joined
Lancehas joined
lovetoxhas left
marc0shas left
marc0shas joined
lovetoxhas joined
Danielhas left
Danielhas joined
Danielhas left
guus.der.kinderenhas left
guus.der.kinderenhas joined
Danielhas joined
Lancehas left
Danielhas left
ralphmI'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
moparisthebestif it has you copying around .swf and .vbs files that's a bad sign
ralphmI'd summarise most new development around frameworks for presentational code, single page apps, WebRTC. So stuff using strophejs might have changed dramatically.
Danielhas joined
ralphmWhich reminds me ikDisplay should have a complete overhaul of its UI bits.
Zashralphm, was ikDisplay pubsub based?
ralphmIs. Yes.
ralphmE.g. a feed on XMPP: https://display.ik.nu/xmpp
lksjdflksjdfhas left
ralphmStill has the FOSDEM banner on it 🤣
Zash😀
larmahas left
ralphmIt used to be smooth, but browsers have changed and UI should be redone to use modern transitions features.
Danielhas left
larmahas joined
lksjdflksjdfhas joined
Lancehas joined
Danielhas joined
Lancehas left
wurstsalathas left
marc0shas left
wurstsalathas joined
marc0shas joined
marc0shas left
marc0shas joined
Lancehas joined
Danielhas left
lovetoxhas left
bent3nhas joined
bent3nralphm 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?
bent3nI'm open to new libraries provided there's support and a community? currently checking what webRTC is
wurstsalathas left
Danielhas joined
bent3nJC told me about converse a couple of weeks ago
Danielhas left
Allohas joined
Danielhas joined
moparisthebestI would guess converse.js would be the way to go