jdev - 2019-08-19

  1. lksjdflksjdf has left

  2. lksjdflksjdf has joined

  3. Daniel has left

  4. Allo has left

  5. Allo has joined

  6. Daniel has joined

  7. Daniel has left

  8. Daniel has joined

  9. Daniel has left

  10. Daniel has joined

  11. lksjdflksjdf has left

  12. Daniel has left

  13. Alex has left

  14. Daniel has joined

  15. aj has joined

  16. Daniel has left

  17. Daniel has joined

  18. Daniel has left

  19. Daniel has joined

  20. Daniel has left

  21. Daniel has joined

  22. Daniel has left

  23. wurstsalat has joined

  24. Daniel has joined

  25. marc0s has joined

  26. marc0s has left

  27. marc0s has joined

  28. Daniel has left

  29. Daniel has joined

  30. larma has left

  31. larma has joined

  32. lksjdflksjdf has joined

  33. lksjdflksjdf has left

  34. aj has left

  35. lksjdflksjdf has joined

  36. gh has joined

  37. gh

    Kindly ignore this message.

  38. gh has left

  39. aj has joined

  40. marc0s has left

  41. marc0s has joined

  42. Daniel has left

  43. Daniel has joined

  44. marc0s has left

  45. Alex has joined

  46. marc0s has joined

  47. lksjdflksjdf has left

  48. lksjdflksjdf has joined

  49. guus.der.kinderen


  50. Daniel has left

  51. Daniel has joined

  52. 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.

  53. Daniel has left

  54. Daniel has joined

  55. Daniel has left

  56. Daniel has joined

  57. Daniel has left

  58. Daniel has joined

  59. Alex has left

  60. Alex has joined

  61. Daniel has left

  62. Daniel has joined

  63. Daniel has left

  64. Daniel has joined

  65. Daniel has left

  66. Daniel has joined

  67. Daniel has left

  68. Daniel has joined

  69. Daniel has left

  70. Daniel has joined

  71. Daniel has left

  72. Daniel has joined

  73. Daniel has left

  74. Daniel has joined

  75. Daniel has left

  76. Daniel has joined

  77. bent3n has joined

  78. ralphm

    wurstsalat: the proper name of this room _is_ jdev, so I set that as its title. The description is "Jabber/XMPP Development".

  79. ralphm

    It might be that your client shows this suboptimally.

  80. wurstsalat

    alright! no it shows "jdev" corretly then

  81. pep.

    I wish conversations displayed the topic at the top instead :(

  82. Zash

    I named my bookmark for this room "XMPP Development"

  83. wurstsalat

    Zash, good idea, Gajim had some improvements for name displaying lately :)

  84. lksjdflksjdf has left

  85. lksjdflksjdf has joined

  86. larma has left

  87. larma has joined

  88. 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 )

  89. bent3n

    Any suggestion ? Please be as basic as possible as I'm new

  90. Zash

    Get a Debian VM, install Prosody, tweak the config and poke some DNS, ???, PROFIT!

  91. 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

  92. guus.der.kinderen

    bent3n - Openfire is pretty easy to setup on any computer

  93. Zash

    Prosody is a server, not a client.

  94. guus.der.kinderen

    and geared towards easy entry

  95. bent3n

    I don't know if I was doing anything wrong that's why I decided to rent a server and then learn

  96. bent3n

    guus.der.kinderen I installed openfire on the linux guest. I can only access the admin webpage from the host( my MAC)

  97. 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.

  98. guus.der.kinderen

    that'd save you from the troubles of setting one up yourself.

  99. 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

  100. guus.der.kinderen

    if you'd try to learn how to setup a server, then you'd have to set it up yourself, obviously :

  101. 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

  102. guus.der.kinderen

    let me set one up for you, so that you can at least experiment for a couple of days

  103. guus.der.kinderen

    if you want to rent that later, we can discuss it.

  104. guus.der.kinderen

    woudl that work for you?

  105. bent3n

    That would more than work

  106. 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.

  107. bent3n

    thanks guus.der.kinderen

  108. guus.der.kinderen

    no problem. pick any subdomain (as in the 'something' in "something.goodbytes.im") please

  109. bent3n

    guus.der.kinderen Zash Here's the app I wanted to test :

  110. 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; });\

  111. 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"&gt; <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.js"&gt;&lt;/script&gt; <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"&gt;&lt;/script&gt; <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>

  112. guus.der.kinderen

    woah, please don't copy that much code here 🙂

  113. guus.der.kinderen

    some of us are on mobile phones 🙂

  114. bent3n

    guus.der.kinderen bent3n would be ok for the subdomain

  115. Zash

    Déjà vu https://logs.xmpp.org/jdev/2019-08-09?p=h#2019-08-09-ce5c5bf5f9431f5b

  116. bent3n

    Zash Yes, I tried what JC suggested by installing prosody on my guest (Linux on the VM on my MAC)

  117. bent3n

    guus.der.kinderen Sorry I did not know that

  118. 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

  119. guus.der.kinderen

    bent3n, email me at guus@goodbytes.nl so that we can exchange credentials etc

  120. guus.der.kinderen

    note that I'm not planning to provide development support with regards to your textbook code 🙂

  121. bent3n

    guus.der.kinderen just emailed you

  122. guus.der.kinderen

    received it, tx. I'll forward you instructions shortly

  123. guus.der.kinderen

    it takes about 10 minutes for the provisioning to happen.

  124. bent3n


  125. 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

  126. guus.der.kinderen

    Yeah, that's an issue. We (the XMPP Standards Foundation) could use more resources for easy entry.

  127. Zash

    Hot damn, published in 2010? Time flies.

  128. bent3n

    hahahaha. It's Jack Moffit's book

  129. Zash

    I know, I have it

  130. Kev

    The Book is even older.

  131. Kev

    2008 or so?

  132. 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.

  133. Zash

    Kev: Time for a remake?

  134. Kev

    I think it's not worth it until we've solved the archive+routing2 stuff.

  135. Kev

    At that point, maybe.

  136. guus.der.kinderen

    bent3n check your mail

  137. 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.

  138. bent3n

    just seen it. Thanks guus.der.kinderen !

  139. 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.

  140. guus.der.kinderen

    I'll try upgrading later.

  141. bent3n

    thank you so much ! guus.der.kinderen

  142. guus.der.kinderen

    I just upgraded it (still had the console open 😛 )

  143. 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.

  144. 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.

  145. bent3n

    guus.der.kinderen I got this error when I entered my credentials into the page that loaded from the inverse URL

  146. bent3n

    2019-08-19T14:32:39.174Z WARNING: Message Archive Management (XEP-0313) not supported by this server

  147. guus.der.kinderen

    known issue - ignore it - it simply works.

  148. bent3n

    ok cool !

  149. guus.der.kinderen


  150. aj has left

  151. 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

  152. bent3n

    I'm new to networking

  153. 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.

  154. guus.der.kinderen

    the connection manager (BOSH) is one way of connecting to the server (it's basically an HTTP wrapper for XMPP traffic)

  155. 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.

  156. 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

  157. 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)

  158. 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

  159. 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 ?

  160. guus.der.kinderen

    (i'm off to feed the offspring)

  161. bent3n

    hahaha the offspring

  162. Alex has left

  163. Alex has joined

  164. travis

    Swf ?

  165. travis

    If your book wants you to use flash in 2019 burn it

  166. travis

    Haha .vbs too even better

  167. Kev

    bent3n: I know nothing much about Jack's book, and I don't do JS-based XMPP. Pinging me won't help here.

  168. MattJ

    Yeah, this stuff is from before CORS was widespread

  169. travis

    yea I suspect you'd be better off burning that book and going with something from this decade

  170. travis

    otherwise you are going to struggle a lot with implementing it, then be rewarded by it not working in any modern browser

  171. jonas’

    I would suggest not to *burn* the book, but putting it aside is probably wise.

  172. travis

    details details... :)

  173. Zash

    travis: The problem is that there's no book from this decade.

  174. Zash

    Depending on whether 2010 counts as this decade or the previous one.

  175. travis

    probably true

  176. Allo has left

  177. travis has left

  178. marc0s has left

  179. marc0s has joined

  180. bent3n

    Off got I plane to catch. I'll land at 3pm ET

  181. bent3n has left

  182. Kev

    Zash: Well, that's only a problem if the book was written as a guide for a codebase.

  183. 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.

  184. 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?

  185. Kev

    I don't recall. I think 289's in there but not 313, but wouldn't swear to it.

  186. Kev

    But sure, thing's have changed. The question is whether what's there becomes wrong, or just incomplete.

  187. 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

  188. 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

  189. jonas’

    "looking forward to"?

  190. Kev

    pep.: You mean TDG? Most of the book doen't cover sleek, there's just a few examples at the back.

  191. pep.

    Hmm, badly said

  192. pep.

    I don't know the book, Kev. I'm just heard there was one on sleekxmpp.

  193. Kev

    Not AFAIK.

  194. Kev

    But TDG has some SleekXMPP examples at the back.

  195. lovetox has joined

  196. Lance has joined

  197. lovetox has left

  198. marc0s has left

  199. marc0s has joined

  200. lovetox has joined

  201. Daniel has left

  202. Daniel has joined

  203. Daniel has left

  204. guus.der.kinderen has left

  205. guus.der.kinderen has joined

  206. Daniel has joined

  207. Lance has left

  208. Daniel has left

  209. 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.

  210. jonas’

    .swf was mentioned above

  211. moparisthebest

    if it has you copying around .swf and .vbs files that's a bad sign

  212. ralphm

    I'd summarise most new development around frameworks for presentational code, single page apps, WebRTC. So stuff using strophejs might have changed dramatically.

  213. Daniel has joined

  214. ralphm

    Which reminds me ikDisplay should have a complete overhaul of its UI bits.

  215. Zash

    ralphm, was ikDisplay pubsub based?

  216. ralphm

    Is. Yes.

  217. ralphm

    E.g. a feed on XMPP: https://display.ik.nu/xmpp

  218. lksjdflksjdf has left

  219. ralphm

    Still has the FOSDEM banner on it 🤣

  220. Zash


  221. larma has left

  222. ralphm

    It used to be smooth, but browsers have changed and UI should be redone to use modern transitions features.

  223. Daniel has left

  224. larma has joined

  225. lksjdflksjdf has joined

  226. Lance has joined

  227. Daniel has joined

  228. Lance has left

  229. wurstsalat has left

  230. marc0s has left

  231. wurstsalat has joined

  232. marc0s has joined

  233. marc0s has left

  234. marc0s has joined

  235. Lance has joined

  236. Daniel has left

  237. lovetox has left

  238. bent3n has joined

  239. 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?

  240. bent3n

    I'm open to new libraries provided there's support and a community? currently checking what webRTC is

  241. wurstsalat has left

  242. Daniel has joined

  243. bent3n

    JC told me about converse a couple of weeks ago

  244. Daniel has left

  245. Allo has joined

  246. Daniel has joined

  247. moparisthebest

    I would guess converse.js would be the way to go

  248. Daniel has left

  249. marc0s has left

  250. marc0s has joined

  251. lksjdflksjdf has left

  252. Daniel has joined