Skip to content

Instantly share code, notes, and snippets.

@pratik-pc
Last active August 26, 2024 17:14
Show Gist options
  • Select an option

  • Save pratik-pc/1644c0554a29900f84d55bb9129e3c47 to your computer and use it in GitHub Desktop.

Select an option

Save pratik-pc/1644c0554a29900f84d55bb9129e3c47 to your computer and use it in GitHub Desktop.
Google Summer of Code 2024 @zulip - Work Product

Google Summer of Code 2024 with Zulip - Work Product

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.

πŸ“ Introduction

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.

πŸ“– Project Description

πŸ’» Contributions

πŸ’» My Work

During the GSoC period, I worked mainly on priority features and bugs focused around left sidebar, tooltips, search suggestion, keyboard ui

πŸŽ‰ Merged Pull Requests

  • #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.

πŸ”Ž Open Pull Requests

  • #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.

Marked for integration review:

  • #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.

πŸ’¬ Zulip community channel participation

✨ Learnings and Closing Remarks

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment