{"id":223,"date":"2016-01-06T19:21:06","date_gmt":"2016-01-06T06:21:06","guid":{"rendered":"http:\/\/eion.robbmob.com\/blog\/?p=223"},"modified":"2016-01-06T19:21:06","modified_gmt":"2016-01-06T06:21:06","slug":"summer-status-schwupdate","status":"publish","type":"post","link":"https:\/\/eion.robbmob.com\/blog\/2016\/01\/06\/summer-status-schwupdate\/","title":{"rendered":"Summer Status S&#8217;chwupdate"},"content":{"rendered":"<p>So I was allowed to have a few days break from my day-job over the xmas break, and in between making desserts and back-breaking work in the garden, I managed to do a few Pidgin related things \ud83d\ude42<\/p>\n<p><!--more--><\/p>\n<p>I initially had planned\u00a0to achieve 5 things:<\/p>\n<ul>\n<li>Move all my code <a href=\"https:\/\/code.google.com\/u\/eionrobb\/\" target=\"_blank\">from Google Code<\/a><\/li>\n<li>Fix up the <a href=\"https:\/\/github.com\/EionRobb\/pidgin-juice\" target=\"_blank\">Juice plugin<\/a><\/li>\n<li>Make a new Hangouts plugin<\/li>\n<li>Build an update for the Windows version of the <a href=\"https:\/\/github.com\/majn\/telegram-purple\" target=\"_blank\">Telegram plugin<\/a><\/li>\n<li>Get file transfers working for the <a href=\"https:\/\/github.com\/EionRobb\/skype4pidgin\/tree\/master\/skypeweb\" target=\"_blank\">Skype plugin<\/a><\/li>\n<\/ul>\n<p>I can happily say that I procrastinated on most of them and instead of getting 2\u00a0of the 5 done\u00a0I added a few more things:<\/p>\n<ul>\n<li>Work on a plugin to show &lt;img src=&#8221;data:&#8230;&#8221; \/&gt; inline images<\/li>\n<li>Port Pidgin&#8217;s Win32 code\u00a0from Pidgin 2 to GNetworkMonitor, in preparation for Pidgin 3<\/li>\n<li>Built a Win32-ssl plugin to replace NSS in Pidgin on Windows, to gain access to those juicy system CA certs<\/li>\n<li>Build the matrix.org prpl for Windows<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>So yeah, I managed to move my code off Google Code. \u00a0It&#8217;s rather unfortunate that Google\u00a0shut it down as I preferred it over all the other code hosting sites that are out there at the moment. \u00a0Double unfortunate is that they had a really handy &#8220;Copy to GitHub&#8221; button, as I really prefer <a href=\"https:\/\/bitbucket.org\/EionRobb\/\" target=\"_blank\">BitBucket <\/a>and its interface &#8211; mostly because it doesn&#8217;t hide away the most important parts of the code, the documentation and downloads :). \u00a0So in the end I succumbed to the allure of a big shiny button and I moved it all\u00a0<a href=\"https:\/\/github.com\/search?q=user%3AEionRobb+\" target=\"_blank\">to GitHub<\/a><\/p>\n<p>The other big news is that I&#8217;ve managed to get <a href=\"https:\/\/github.com\/EionRobb\/skype4pidgin\/commit\/623f3119a4558b78096a2c14d66827fa3bf98983\" target=\"_blank\">file sending<\/a> and <a href=\"https:\/\/github.com\/EionRobb\/skype4pidgin\/commit\/416fee02b3d785acd3c70f98c0733338c85330ed\" target=\"_blank\">receiving <\/a>working fairly well with <a href=\"https:\/\/github.com\/EionRobb\/skype4pidgin\/tree\/master\/skypeweb\" target=\"_blank\">the Skype plugin<\/a>. \u00a0For some reason there&#8217;s a bit of noise picked generated for other people who are using the web client, and I&#8217;ll keep digging into that so as to not upset other people when sending files, but sending to other Pidgin people works great and receiving is not too shabby either \ud83d\ude42 \u00a0You can download a copy to play with from <a href=\"http:\/\/eion.robbmob.com\/libskypeweb-debug.dll\" target=\"_blank\">here <\/a>if you&#8217;re on Windows, or feel free to compile and test it out yourself if you&#8217;re not \ud83d\ude42<\/p>\n<p>The <a href=\"https:\/\/github.com\/majn\/telegram-purple\" target=\"_blank\">Telegram plugin<\/a> for libpurple also had a big update that they released their <a href=\"https:\/\/github.com\/majn\/telegram-purple\/tree\/v1.2.3\" target=\"_blank\">1.2.3 version<\/a> which included the patches I&#8217;ve been pushing through to support\u00a0Windows. \u00a0You can download the precompiled dll&#8217;s and an installer from <a href=\"http:\/\/eion.robbmob.com\/telegram\" target=\"_blank\">here<\/a>. \u00a0There&#8217;s been a bump in version <a href=\"https:\/\/github.com\/majn\/telegram-purple\/tree\/v1.2.4\" target=\"_blank\">to 1.2.4<\/a> that I&#8217;ll be building and uploading later on.<\/p>\n<p>So yeah, those are the 3 of the 5 off the list I was planning to do.<\/p>\n<p>Someone requested in <a href=\"http:\/\/webchat.freenode.net\/?channels=pidgin\" target=\"_blank\">#pidgin on Freenode<\/a> that they wanted to be able to see inline images sent by other messengers over XMPP. \u00a0Technically it&#8217;s <a href=\"http:\/\/www.xmpp.org\/extensions\/xep-0071.html#profile-image\" target=\"_blank\">recommended against doing in XMPP<\/a> but that didn&#8217;t stop other clients from doing it. \u00a0So rather than lose those\u00a0important meme pics, <a href=\"https:\/\/github.com\/EionRobb\/pidgin-data-uri-image\" target=\"_blank\">I created a plugin<\/a> to handle them. \u00a0Did I mention I like plugins?<\/p>\n<p>The <a href=\"http:\/\/matrix.org\/\" target=\"_blank\">matrix.org<\/a> guys also happened to say something in #pidgin that got me thinking if they wanted a Windows build of their <a href=\"https:\/\/github.com\/matrix-org\/purple-matrix\" target=\"_blank\">matrix plugin<\/a> too. \u00a0So, after <a href=\"https:\/\/github.com\/matrix-org\/purple-matrix\/commits\/master\" target=\"_blank\">a couple of patches<\/a>, there&#8217;s a build of the plugin <a href=\"http:\/\/eion.robbmob.com\/purple-matrix\/\" target=\"_blank\">up on my webserver<\/a>. \u00a0Matrix looks pretty crazy (in a good way!) and they&#8217;re intending to be a distributed chat system to replace XMPP, but without a clear 1-to-1 IM system it&#8217;s going to be a tough road ahead to get really good integration into Pidgin.<\/p>\n<p>Last couple of things were really low level plugins to try and integrate with Windows&#8217; APIs for notifying Pidgin\u00a0when the computer <a href=\"https:\/\/bitbucket.org\/pidgin\/gnetworkmonitorwin32\" target=\"_blank\">loses its internet connection<\/a> as well as <a href=\"https:\/\/bitbucket.org\/EionRobb\/pidgin\/commits\/9153cb4f5250787a15d955c8442bf04ac3f9de06\" target=\"_blank\">an attempt<\/a> to try and integrate with the SSL functions of Windows so as to use the Windows CA certs (mostly so that the <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\">Let&#8217;s Encrypt<\/a> guys can <a href=\"https:\/\/developer.pidgin.im\/ticket\/16835\" target=\"_blank\">use their certs with Pidgin<\/a> without getting certificate warnings). \u00a0The former was just a port of Pidgin 2&#8217;s network.c functions to\u00a0<a href=\"https:\/\/developer.gnome.org\/gio\/stable\/GNetworkMonitor.html\" target=\"_blank\">GNetworkMonitor<\/a>\u00a0and went quite smoothly. \u00a0The second was a mission and for whatever reason doesn&#8217;t 100% work. \u00a0The certificate handling is great, but the SSL\/TLS connections seem to get stuck with the last few bytes and thus most accounts won&#8217;t actually connect with it \ud83d\ude41<\/p>\n<p>If you know anything about the Win32 SChannel API I&#8217;d love to hear from you to try and get the plugin working. \u00a0I also want to try experimenting with using NSS for the SSL\/TLS connections still, but use the Windows certificate store as a fallback for the certificate not being available in Pidgin&#8217;s ca-certs folder.<\/p>\n<p>&nbsp;<\/p>\n<p>Oh, there&#8217;s also a new release of <a href=\"https:\/\/pidgin.im\/\" target=\"_blank\">Pidgin<\/a> that came out over the holidays, \u00a0<a href=\"https:\/\/developer.pidgin.im\/wiki\/ChangeLog\" target=\"_blank\">2.10.12<\/a>. \u00a0Yay. \u00a0I&#8217;ve built a new <a href=\"http:\/\/eion.robbmob.com\/pidgin\/libpurple-2.10.12-ipv6.zip\" target=\"_blank\">IPv6-compatible libpurple.dll<\/a> for it and made a <a href=\"magnet:?xt=urn:btih:5DD983A14BC27859192C5B3811DF6CBF107F3FAB\">couple of torrents<\/a> as alternative ways to download the update without having to use <a href=\"https:\/\/sourceforge.net\/projects\/pidgin\/files\/Pidgin\/2.10.12\/\" target=\"_blank\">SourceForge <\/a>(although there is also a <a href=\"https:\/\/bitbucket.org\/pidgin\/main\/downloads\" target=\"_blank\">BitBucket mirror<\/a>\u00a0now).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So I was allowed to have a few days break from my day-job over the xmas break, and in between making desserts and back-breaking work in the garden, I managed to do a few Pidgin related things \ud83d\ude42<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[1],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p3CEsE-3B","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/posts\/223"}],"collection":[{"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/comments?post=223"}],"version-history":[{"count":87,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":310,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/posts\/223\/revisions\/310"}],"wp:attachment":[{"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/media?parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/categories?post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eion.robbmob.com\/blog\/wp-json\/wp\/v2\/tags?post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}