Google Summer of Code 2021 with Zulip Open Source Project
I was very excited when I got to know that I would be utilizing my summer break as a student contributor at Zulip this summer as part of GSoC 2021. Getting selected in this program was not less than a dream for a college student. It helps you get to know how the real open source works, how experienced developers discuss and tackle various problems.
An overview of my project can be found here.
My experience as a GSoC student has been very good. Interacting on CZO, I learned may new things like writing node tests, thinking process while solving issues, having group discussions and communicating ideas. The Zulip community is very friendly and whenever you get stuck at something, the community is there to help. The documentations and examples are really well maintained that helps in working on any area easier on Zulip. From a developer's perspective, the project is very well maintained and it's quick to get setup and get start working with.
This summer most of my work got around fixing some long time issues related to composebox, composing messages, making full sized compose box, spliting code base, writing node tests and so on. I would like to thank my mentor Vinit Singh and project admins Tim Abbot and Steve Howell for always reviewing my work and helping me write better and cleaner code.
Contribution to Zulip this summer
All my PRs on Zulip can be found here on Github.
Based on the project, I have divided the PRs intro subcategories here:
Long Term Issues
- #19534 - Fix compose fade not updating on deleting user pill.
- #19154 - Fix compose box getting closed while clicking copy to code.
- #19118 - Fix bug of not composing a new private message when in PM narrow.
- #18970 - Fix collapsing on PM list while compoing to a deactivated user.
- #18871 - Fix behavior of pasting texts longer than limit in composebox.
ComposeBox Full sized
- #17667 : Add support for full screen sized compose box.
- #19167 : Small fix for color of expand button in night mode.
- #19003 - Created compose_validate.js as a seprate module out of compose.js.
- #18982 - Extracting compose_error out of compose.js as a seprate module.
- #19001 - Creating a function for hiding compose errors.
- #19414 - Move compose functions for warning to compose_validate.js.
- #19416 - Move keyup and keydown listener to compose_ui.js.
- #18612 - Fix syntax highlighting missing on some areas in API docs.
- #18815 - Fix bug of showing two show passwords on Edge browser.
- #18129 - Show loadng animation while deleting profile picture.
Almost complete and yet to merge PRs
- #18827 - Make the route of message sending throught drafts for easy recovery of messages.
- #19535 - Follow up for adding max message length warning to message editing also.
- #19163 - Show warning to users when composing to a resolved topic.
- #18938 - Add support for preview and edit shortcut.
- #17227 - Replace right simplebar with browser scrollbar in docs.
- #18850 - Rebased the PR of selected quote and reply feature.
- #18557 - Creating a color palette for Zulip to reduce night theme CSS code.
For now, I hope to complete the issues that I took at the end of GSoC soon. This summer I mostly worked on the frontend side, and hope to contribute more on the backend side too in the coming future.
Working with Zulip was a great learning experience. I intend to be a part of the Zulip community for the coming years frequently giving suggestions, reviewing PRs mostly, and helping newcomers to get started. I hope to use all the experience I have gained to help the project and the community grow.