Hi, I am Pratik. This is a summary of the work I did for the zulip server and web application as a part of Google Summer of Code 2024.
Zulip: Open-source team chat with topic-based threading
Zulip combines the immediacy of real-time chat with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones.
Why Zulip? - Efficient communication with organized team chat.
- Name: Pratik Chanda
- Title: Cluster of Priority Features.
- Repository: zulip/zulip
- Mentor: Dinesh Chidipothu & Gaurav Pandey
- Project Size: Large
- Commits during GSoC
- Pull requests during GSoC
- All commits to zulip/zulip
- All pull requests to zulip/zulip
During the GSoC period, I worked mainly on priority features and bugs focused around left sidebar, tooltips, search suggestion, keyboard ui
- #30313: Open topic status menu from followed topic icon in left sidebar
This PR introduces changes to the followed topic icon in left sidebar, making it a button so that users can open topic status menu for individual topics from the left sidebar.
- #30572: Duplicate conversation rows in left sidebar.
This PR fixes a bug introduced from another PR which rendered duplicate topic rows and DMS for the existing topic name and one with the different casing.
- #30728: Remove highlight for suggestions with empty query.
This PR fixes a bug where default search suggestions for search commands would get highlighted even with empty search query.
- #30787: Change inconsistent tooltip for topic menu option.
This PR changes the inconsistent tooltip format for topic menu button to match other tooltips in zulip and introduces new detailed context regarding streams in the tooltip.
- #30795: Fix incorrect user count in sidebar with bot as recipient.
This PR fixes a bug in the user list in right sidebar where it showed wrong user count when a bot was present in the conversation.
- #30912: Change search suggestion string for has: operator.
This PR improves search typeahead suggestion for has: operator.
- #30204: Show unread @-mention indicator for DMs.
This PR introduces @-mention indicator for DMs in zulip. With this update, in addition to streams/topics, all DM rows across zulip would have @-mention when a user mentions them.
- #31199: Defer computing last_edit_timestr until tooltip renders.
This PR reworks how edited timestamp for messages on tooltips were precomputed thereby increasing computation loads This update defers computations to only when needed to be shown and increasing the performance.
- #31243: Show action buttons only on hover for non sticky header.
This PR redesigns action buttons for messages and only displays on hover while having always on display for sticky header messages.
- #31433: Include tooltips count in left sidebar
This PR introduces information about message counters in tooltips for views in the top left sidebar.
- #31457: Style supplementary info in typeaheads consistently.
This PR redesigns typeahead supplementary info for composebox_typeaheads.
- #30164: Fix order of group direct message recipients.
This PR improves the consistency for order of group recipient across all zulip where it was differently ordered at various places.
- #30460: Add keyboard navigation for userlist-toggle-button.
This PR introduces keyboard navigation for userlist toggle button in navbar such that users can navigate from gear menu.
- #design > Sorting order of group DM recipients
- #design > UI redesign: recipient bar
- Checkins: Pratik Chanda
I am fortunate enough to work with the Zulip team consisting of great engineers and community members. The learnings I have gained throughout the GSoC period have been paramount and made me a better software engineer.
I am grateful to the insights I have gained that goes into the engineering process of a large scale project. I have been able to improve my git skills, writing clean code and tests, keeping good PR state, reviewing others' code.
I would like to thank my mentors Dinesh Chidipothu & Gaurav Pandey, my buddy Kislay Udbhav Verma for all the code reviews and feedbacks. Special thanks to Tim Abbott for the code reviews and learnings and Alya Abbott for the feedbacks.
Thanks to everyone at Zulip for the great experience.
