Skip to content

Instantly share code, notes, and snippets.

@tnmkr
Last active December 4, 2024 05:09
Show Gist options
  • Save tnmkr/22d4b536c36a0abc9b5f664a0ac86441 to your computer and use it in GitHub Desktop.
Save tnmkr/22d4b536c36a0abc9b5f664a0ac86441 to your computer and use it in GitHub Desktop.
GSoC'24 @ Zulip Work Product

Google Summer of Code 2024 @ Zulip - Work Product

Zulip is an open-source team collaboration tool with unique topic-based threading that combines the best of email and chat to make remote work productive and delightful. Fortune 500 companies, leading open source projects, and thousands of other organizations use Zulip every day. Zulip is the only modern team chat app that is designed for both live and asynchronous conversations.

-- Zulip's README

My Project

Summary

During GSoC 2024 with Zulip I contributed code to frontend, backend and dev tooling. I also participated in discussions around my work on Zulip's Developer Community Chat (aka. CZO for chat.zulip.org).

Major works on the frontend were in User profile and Stream settings section. These new features / changes also required backend work.

In addition to those I am also working on Internationalization and Notification message changes which are user facing but only involve Django and Python.

Merged PRs

Before Coding Period (Before May 27th, 2024)

#28654 user_profile: Add links to group settings. (Size: L, +77 −15)

#29365 docs: Fix incorrect function typo in events system. (Size: XS, -1 +1)

  • Reported by me on CZO.

#29425 Add "Stream details" section in stream settings (Size: XL, +366 −53)

#29490 tooltips: Fix incorrect "required" tooltip on custom profile fields. (Size: S, +3 −3)

  • Reported by me on CZO.

#29599 tools: Fix broken link in check-frontend-i18n (Size: XS, +1 −1)

  • Reported by me on CZO.

#29653 renumber-migrations: Skip migration 0501. (Size: XS, +1 −1)

  • Reported by me on CZO.

#29659 invite_user_modal: Always show scrollbar. (Size: S, +7 −1)

#29831 stream_settings: Remove "Stream events" field. (Size: XS, +0 −4)

During Coding Period (May 27th onwards)

#30082 streams: Set creator for some initial streams in populate_db. (Size: M, +21 −5)

#30490 Fix visual bugs in stream settings. (Size: M, +33 −8)

  • Fixed Issue reported by me on CZO

Work In Progress PRs

I am still working on these PRs as of now (26 August, 2024).

#29307 streams: Message users when someone unsubscribes them from stream(s).

#30267 Add "Alphabetize choices" button for "List of options" type custom profile fields.

#29570 Add option to prevent users from changing custom profile fields.

#30544 Update custom profile fields admin table empty placeholder.

#31009: Fix partial internationalization in new channel message.

Reviewed PRs

I reviewed PRs for my GSoC buddy Sanchit Sharma (sanchi-t) during the coding period.

#30315 Prerequisite PR for #28478 (Management of names of archived streams)

#30580 Improve channels typeahead on invite modal

#30578 Improve invitation modal stream pills backspace interaction

#30441 settings: Improve visibility of "Enter Sends Message" setting.

Learnings

During GSoC, I learned many things. Being new to the field, I feel like I have experienced exponential growth.

On the technical side of things, I am now more comfortable in navigating large Open Source codebases and breaking them into small chunks to be able to understand them. My knowledge of Django, Python, Javascript/Typescript and Browser quirks has improved. I also now understand forethought that needs to go in maintaing features related to backups, version management and backward compatibility for a big and widely used project like Zulip.

Apart from these technical skills, I am now more confident in my ability to communicate complex ideas through documentation and messages. I also now see the benefits of daily planning and time blocking, and hope to integrate those in my life.


I am extremely grateful to Google for conducting GSoC and to Zulip for allowing me to formally participate in this program with them. This was a great experience for me, the Zulip maintainers are very knowldgeble and inspiring. I look forward to learning from them and wish to keep contributing to Zulip and other Open Source projects.

I want to thank the Zulip core maintainers, my mentor Purushottam Tiwari and my GSoC buddy Sanchit Sharma for their support, code reviews and collaboration in this GSoC.

@kajalchaudhary07
Copy link

I hope you’re doing well! Your contributions to Zulip are truly inspiring congratulations on being part of such impactful work. I’m planning to participate in GSoC this year and am very interested in contributing to this organization. As a beginner, I’d love your advice on whether it’s a good fit for me and how I should get started. Any insights or tips would mean a lot.

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