Help wanted
I'm going to list tasks here that people can help out with
No programming skills required
Find a way to make file transfers crash reliably
Jabber file transfers are buggy. We all know that. They often crash bitlbee. What I don't know is how to make crash in a way that also happens when I'm debugging it.
It may have something to do with clients, servers, firewalls, proxies, etc. There are issues related to disabled ipv6 too.
With libpurple it also tends to fail, for some reason. That should be tested separately too
Backport debian packages
We could get the current jessie version (3.2.2) in wheezy (which has 3.0.5), and apparently anyone can create and submit backported packages:
http://backports.debian.org/Contribute/
For ubuntu we still have to go through the stable release update process because the current packages are rather broken. (I'd rather deal with this one personally -dx)
Find out how to get a lync account
I (dx) would like to test this but I'm pretty sure most people with lync accounts have it because of their job and i'm not going to borrow anyone's account.
The FAQ page needs more love
Updating the FAQ page is about scrolling in the logs of #bitlbee, finding answered questions and adding them to the page. Right now it's a bit outdated.
Going through weeks of logs tends to take a considerable amount of time, which also means the answers could use some editing, such as rewording for clarity.
No C Programming skills required
(Mostly) Dependency-free help.txt generation script
Python / perl / ruby
The help.txt file, which is used by the "help" command, is generated from some XML file and converted using the rules in "help.xsl".
xsltproc --stringparam extraparanewline "$(EXTRAPARANEWLINE)" --xinclude help.xsl $< | perl -0077 -pe 's/\n\n%/\n%/s; s/_b_/\002/g;'
Ignoring the fact that XML isn't cool anymore, the main problem with this is that the tools it uses, xsltproc and xmlto, usually make package managers download an awfully big dependency tree (bunch of latex and postscript and printing stuff)
Writing a script that converts between two formats without requiring users to install anything weird would be cool.
Hard mode: Do it in C with the same lib/xmltree.c we use internally, that would add zero dependencies.
Also acceptable: Pre-processing the xml and replacing it with something human-writable but easy to process with sed (for example)
External test suite
Any language; lua suggested (prosody modules)
The current test suite is written in C and it's not very extensive at all. Something that works by feeding bitlbee commands and connecting to a real local jabber server would be great. I'd rather avoid testing protocols that require external services with this method (adds external points of failure and may be considered spammy)
Ideas:
- Start bitlbee in inetd mode, feed it a bunch of commands through stdin (can even do this with bash scripts)
- Start a lightweight jabber server locally (I recommend prosody), connect several bitlbee users to it, have them interact with each other.
- Write prosody modules (lua) to stress test bitlbee:
- Sending a few thousand fake users in the roster
- Create groupchats with a few thousand fake users.
- Flood with messages. Try to avoid processing on the prosody side, just send a raw xml string in a loop (if possible)
Or just about anything that uses bitlbee features in an automated, deterministic way.