On Tuesday, I managed to land a fix for another Launchpad bug. This one probably was my first non-trivial bug fix and also older than any other bug I’ve attempted (4-digit bug!)
Earlier, during page load, Launchpad would take each bug, search if its, valid, get the title, and show tooltips. This feature was removed to reduce page load times and timeouts. Instead, anything that matches the bug pattern gets linked whether the bug is valid or not. Obviously, less friendly, but much faster. One of the days, there was a general complaint about this in #launchpad-dev and Ian Booth mentioned that its probably trivial to fix with the link checking bits he wrote for branches. I jumped in when I saw a chance to get mentored for a bug.
Fixing the bug involved, first adding a class to all the bug URLs, then grabbing all the URLs with that class and posting it as JSON to check-links internal API, which uses the search to verify valid/invalid bugs. Then, it returns a list of invalid bugs. Fixing this including writing python and JavaScript code; a first, for my fixes to Launchpad. I broke a gazillion tests with my fixes though. Twice, I submitted it to ec2 and failed thanks to b0rked tests. Finally, on third try, I caught all of them and its now merged to devel. It is working on QA Staging if you want to give it a try.
Leave a Reply