GSoC Progress - 2
After my exams ended, I picked up the slack from around 9th June and caught up with all the messages on the dev channel and also on the pending work.
After a lot of testing and refactoring pieces of code to make the feature transition smoothly in the next release, we merged system proxy settings feature #480. It helped me get my hands dirty with JS Promises of which I have become a huge fan.
This was followed by making changes on #494, the feature for adding custom/self signed certificates. From the initial approach, a significant amount of changes were made and after a lot of testing again and deliberation we go this feature merged.
Error handling and logging
I have since then moved to the next phase of error handling and logging. This has been kicked started by merging #505, which makes the entire codebase move to a custom logger util for appending to log files replacing the long followed console.log
. Next I have open PR #507 which is an attempt to fix high priority issue #310. In it I attempt to change how we interact with the database before accessing and after writing to it.
Error reporting
Couple of things that I have started working to better place our error handling aspect, is to make a function that zip our log files into one and send it to the maintainer. Another important thing I am trying to do is to setup sentry for the entire codebase, so that we can get reports whenever an unexpected exception occurs and also when the app crashes for some reason. This will help us better debug when an user reports and issue and not completely rely on the user to help us debug and fix the issue. This would also let us remove access to the console’s on the production. This is one of the most important task of my GSoC period.
Other than this, I have been improving to the documentation to the desktop usage guide, adding about the new and existing feature. It’s related PR is #9841 on the main zulip repo. Also added a isConfigItemExists
function to check if a key exists in database with #501, this would prevent unnecessary setting of non-exisiting keys to false
value in database (this was being done before).
Till next time, bidding adieu!