Skip to content

Instantly share code, notes, and snippets.

@pratik-pc
Created September 1, 2025 12:12
Show Gist options
  • Select an option

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

Select an option

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

Google Summer of Code 2025 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 2025.

πŸ“ 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 mainly worked on features and bugs in various areas of the web app, such as search suggestions, tooltips, and more.

Pull requests during bonding period

  • #34624: overlay: Fix automatic overlay closing on click when <select> is active.

  • #34711: Fix empty tooltip on recipient row resolve topic spinner.

  • #34713: Fix unread banner not hiding when marking topic as read.

  • #34721: Hide channel name in topic header bars if it is already displayed in navbar.

  • #34779: Add a "channels:web-public" search filter.

  • #34785: Fix simplebar overlap with content in todo/poll widget modal.

  • #34786: Move /features images into landing-page/features directory.

Coding period begins

πŸŽ‰ Merged Pull Requests

  • #34826: Fix buddy list tooltip stuck on redraw.

  • #34899: Desktop notifications for message not grouped together.

  • #35023: Fix keyboard navigation on accounts in oauth.

  • #35050: unread_ops: Fix filter term check for current narrow when bulk update.

  • #35063: app: Allow overscroll on x-axis.

  • #35077: help_menu: Center keyboard shortcut text in kbd element.

  • #35096: sidebar: Remove realm-description code block in right sidebar.

  • #35096: sidebar: Remove realm-description code block in right sidebar.

  • #35180: tooltips: Don't destroy user popover instance on user status hover.

  • #35207: settings: Remove unreachable click handler for settings.

  • #35210: Search typeahead pills small fixes.

  • #35276: Add topic filter focus check in is_in_focus.

  • #35329: search: Remove background suggestion highlight for text search.

  • #35369: search: Fix user pill min-width overridden by parent rule.

  • #35424: message_flags: Fix message flags not updating for wildcard mentions.

  • #35460: message_send: Fix update draft error when message send fails.

  • #35611: left_sidebar: Add menu to change channel folder setting in left sidebar.

  • #35629: Improve channel folders setting UI.

  • #35705: Stream settings channel folders permissions fix

  • #35611: left_sidebar: Add menu to change channel folder setting in left sidebar.

  • #35724: Show tooltip on long folder names in left sidebar.

  • #35777: search_suggestion: Remove subset suggestion from search suggestion.

  • #35791: hotkey: Fix argument type for narrow filter.

  • #35835: filter: Use encoding for topic narrows when generating redirect url.

  • #35839: css: Fix slow-send-spinner not applying on all messagebox-content.

  • #35841: search_suggestion: Fix empty topic suggestion topic display name.

πŸ”Ž Open Pull Requests

  • #34802: Make message edit box resizable.

  • #34814: Change top feed notice.

  • #34888: Tooltip instance on typeahead stuck after enter.

  • #34962: Notify emoji reactions to message sender.

  • #35026: Fix compose box prematurely switches to edit mode when sending from preview mode

  • #35140: widget: Hide widgets from muted users like normal messages.

  • #35154: Add a "+" button for adding DM recipients.

  • #35174: Hide group DMs where all other participants are muted from all views

  • #35258: Toggle emoji animations

  • #35281: search: Single enter should narrow to current filters.

  • #35400: Prevent races resulting in incorrect search index results for newly sent messages.

  • #35519: reload: Remove event listeners to handle reload logic for compose.

  • #35576: Search suggestion description_html refactor

  • #35789: Improve tooltips on links to locations within Zulip

  • #35801: narrow: Show historical data when narrowed by channels:web-public.

  • #35802: tooltip: Add tooltip showing url for external links with no delay.

  • #35807: Internationalize ? menu.

  • #35850: Redesign "channels" and "user groups" tabs in user profile.

  • #35907: tests: Add test coverage in search for empty operand topic suggestion.

πŸ’¬ Zulip checkins

✨ Closing Remarks

Zulip is, in my opinion, a great example of how open source should be done. From the readily available documentation and guides that help new contributors get up to speed, to the efficient communication within the Zulip community, it provides an environment where you can truly see yourself grow as a software engineer.

I have really enjoyed spending my summer with the Zulip team and community, and I also hope to continue working on the Zulip product!

Shout out to my mentor Gaurav Pandey and my buddy Kumar Aniket for all the code reviews and feedbacks. Special thanks to Tim Abbott, Aman Agrawal, Alya Abbott, Evy Kassirer, Karl Stolley and also other maintainers for the code reviews, learnings and for the feedbacks.

Thanks to everyone at Zulip for the great experience.

@Divyansh8843

Copy link
Copy Markdown

Can I support & collaborate with you?

@Sradar781

Copy link
Copy Markdown

Iam begginer in this source so I need Mentorship

@jeeva-004

Copy link
Copy Markdown

can you give your selected proposal link

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