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 🙂
I initially had planned to achieve 5 things:
- Move all my code from Google Code
- Fix up the Juice plugin
- Make a new Hangouts plugin
- Build an update for the Windows version of the Telegram plugin
- Get file transfers working for the Skype plugin
I can happily say that I procrastinated on most of them and instead of getting 2 of the 5 done I added a few more things:
- Work on a plugin to show <img src=”data:…” /> inline images
- Port Pidgin’s Win32 code from Pidgin 2 to GNetworkMonitor, in preparation for Pidgin 3
- Built a Win32-ssl plugin to replace NSS in Pidgin on Windows, to gain access to those juicy system CA certs
- Build the matrix.org prpl for Windows
So yeah, I managed to move my code off Google Code. It’s rather unfortunate that Google shut it down as I preferred it over all the other code hosting sites that are out there at the moment. Double unfortunate is that they had a really handy “Copy to GitHub” button, as I really prefer BitBucket and its interface – mostly because it doesn’t hide away the most important parts of the code, the documentation and downloads :). So in the end I succumbed to the allure of a big shiny button and I moved it all to GitHub
The other big news is that I’ve managed to get file sending and receiving working fairly well with the Skype plugin. For some reason there’s a bit of noise picked generated for other people who are using the web client, and I’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 🙂 You can download a copy to play with from here if you’re on Windows, or feel free to compile and test it out yourself if you’re not 🙂
The Telegram plugin for libpurple also had a big update that they released their 1.2.3 version which included the patches I’ve been pushing through to support Windows. You can download the precompiled dll’s and an installer from here. There’s been a bump in version to 1.2.4 that I’ll be building and uploading later on.
So yeah, those are the 3 of the 5 off the list I was planning to do.
Someone requested in #pidgin on Freenode that they wanted to be able to see inline images sent by other messengers over XMPP. Technically it’s recommended against doing in XMPP but that didn’t stop other clients from doing it. So rather than lose those important meme pics, I created a plugin to handle them. Did I mention I like plugins?
The matrix.org guys also happened to say something in #pidgin that got me thinking if they wanted a Windows build of their matrix plugin too. So, after a couple of patches, there’s a build of the plugin up on my webserver. Matrix looks pretty crazy (in a good way!) and they’re intending to be a distributed chat system to replace XMPP, but without a clear 1-to-1 IM system it’s going to be a tough road ahead to get really good integration into Pidgin.
Last couple of things were really low level plugins to try and integrate with Windows’ APIs for notifying Pidgin when the computer loses its internet connection as well as an attempt to try and integrate with the SSL functions of Windows so as to use the Windows CA certs (mostly so that the Let’s Encrypt guys can use their certs with Pidgin without getting certificate warnings). The former was just a port of Pidgin 2’s network.c functions to GNetworkMonitor and went quite smoothly. The second was a mission and for whatever reason doesn’t 100% work. The certificate handling is great, but the SSL/TLS connections seem to get stuck with the last few bytes and thus most accounts won’t actually connect with it 🙁
If you know anything about the Win32 SChannel API I’d love to hear from you to try and get the plugin working. I 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’s ca-certs folder.
Oh, there’s also a new release of Pidgin that came out over the holidays, 2.10.12. Yay. I’ve built a new IPv6-compatible libpurple.dll for it and made a couple of torrents as alternative ways to download the update without having to use SourceForge (although there is also a BitBucket mirror now).