Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
Zulip has a huge codebase for it's web app but it's currently written in JavaScript, this project is aimed at migrating at least ~80% of the zulip's codebase to TypeScript. TypeScript is an awesome language migrating to it will improve the quality, maintainability, and scalability of Zulip's frontend codebase. Also by using TypeScript we will be able to enforce consistent coding standards, document the code better, and leverage powerful IDE features.
This proposal aims to improve existing data import tools, such as better conversion of Slack to Zulip features when importing Slack's data export, as well as starting new data import and mirroring tools for Discord.
<p>Project mainly involves working on authentication issues and other backend issues along with replacing CasperJS tests with Puppeteer. It also includes clearing TODO's in the area's I'm familiar with.</p>
In my proposed project i plan to tackle some issues in the left sidebar. Specifically, i want to add the possibility to filter the recent topics by stream, i want to add a UI to view scheduled messages and i want to make it possible to convert personal messages to public topics.
<h3>ZT is Zulip's own Terminal client, which is a one of a kind, user-first and user-friendly <em><strong>TUI</strong></em> based chat application powered by Python module <em><strong>urwid</strong></em>.</h3> <p>The restrictive nature of a terminal application makes it all the more challenging and interesting to work on. Making ZT intuitive for every kind of person, <em>"techy"</em> or not, is the general vision of my project. This project mainly focuses on improving:</p> <ul> <li><strong>Message Rendering</strong> capabilities <em>(Syntax Highlighting, Display Emojis)</em></li> <li>general <strong>UI Navigability</strong> and <strong>Usability</strong> <em>(Dynamic Layout, Tabs, Focus Highlighting, SearchBox)</em></li> <li><strong>Internal Refactors</strong> for better code management <em>(Themes, Buttons & Panels , Keypress)</em></li> <li>certain <strong>Event Handling</strong> functions <em>(Typing Notification)</em></li> <li>and some <strong>Bugfixes</strong>.</li> </ul>
This project focuses on enhancing the Zulip platform by implementing key user-centric features across the message feed, editing system, APIs, and test coverage. The proposed work includes adding a user blocking feature, always-visible read receipts in direct messages, improved message edit history controls, and bulk conversation management in the inbox. It also introduces backend improvements such as APIs for deleting user messages during deactivation, configurable mention permissions, and detailed audit logging. With prior experience contributing to Zulip, I aim to deliver scalable, well-tested solutions that improve usability while actively collaborating with the community throughout the project lifecycle.
This proposal aims to make Zulip's stream and group management features easier to use. The project will focus on simplifying the way users manage permissions, organizing permissions neatly within the group settings, improving the process of creating streams, adding a new tab for exploring unsubscribed streams, allowing users to reset stream notification settings easily, and letting organization admins choose default colors for streams. These changes will help users navigate Zulip more smoothly and efficiently, making it simpler for them to manage their streams and groups. Ultimately, the goal is to create a more user-friendly User groups and Stream settings in Zulip
<p>This project aims at improving the workflow for managing streams by improving their editing UI, adding more permission sets, refactor existing permissions to make it is easy for both users and administrators to handle subscriptions for streams more easily by finishing long-pending features like Default Stream Groups.</p> <p>As stream settings and left sidebar is closely affected by any change in either of them so a parallel aim would be to improve Zulip's left-sidebar according to changed stream settings features and also to add new features to it so that it becomes more interactive rather than just listing streams/topics/PMs.</p> <p>I also aim to improve the performance of web app for narrowing to different message views, by fixing various high priority issues that are related to the message view area. Along with performance-related issues in message viewing I aim to solve issues related to interleaved views in Private message views by utilizing recent topics UI for this and improving image previewing support for messages.</p>
Notably, the project will focus on integrating django-stubs along with working on other general typing enhancement projects and porting JavaScript to TypeScript in the frontend. Apart from the type checking aspect, I will also work on side tasks for API, bots and integrations.
The main goal of this project is to improve the user experience of Zulip Terminal, a TUI that caters to Zulip's terminal users. My areas of focus are enhancing hotkeys, centralizing configuration and event handling improvements.
For GSoC with Zulip, I aim to address completion candidate PRs, enhancing features and user experience. With a background in web development, I'll dedicate 25-35 hours per week over 12 weeks to tasks such as notifying users about unread messages, editing stream details, filtering users, customizing notifications, managing message moves, displaying profile images, adding anonymous polls, and allowing link preview removal. I'll leverage my skills and community support to deliver impactful contributions while prioritizing code quality and collaboration.
Moving towards enforcing stricter types for the django backend endpoints by using @typed_endpoint decorator instead of the current @has_request_variables. Transitioning to pydantic's data validation provides much more flexibility with the availability of base models as well as different validators. Defining more coherent data classes and base models for complex parameters like 'narrow' will help improve the overall usage experience of these parameters in the entire codebase. Proposed Solution I would start by prioritizing the data driven endpoints, especially those involving authentication and user profile creation and updation as these endpoints deal with a lot of sensitive data and will benefit the most from data validation. My next focus would be the message endpoints because these endpoints deal with large amounts of traffic and need to have robust types in order to avoid any issues with sending/updating messages, their flags and reactions, etc. Switching the streams and dms over to @typed_endpoint will help better manage the streams and make them ready to easily implement the changes proposed in migrating Zulip’s direct message recipient data structures along with any other future plans for these sections. While migrating these endpoints, I will simultaneously add more robust test cases to test all the different data validators.
<p>The project consists of multiple pieces that incrementally add to the strength of the development and testing infrastructure.</p> <ul> <li>Address High priority tickets</li> <li>Bridge the gap between development and production</li> <li>Add mypy Django-stubs to utilize type annotations</li> </ul>
<p>This project's primary aim is to tackle high priority issues and features for the mobile app, Allowing users to be more in control of the zulip experience through their mobile devices. Currently from a user experience perspective notification functionality has a lot of potential to be improved and so I will dedicate a good part of my summer for improving this feature. Another key feature that many apps use today include deep linking which allows the app to open using web links directly on the screen the user desires. Besides other things, This will be useful especially with invite links. Lastly, and this is a much broader topic, I would dedicate my free time to work on clearing abandoned issues and just plain simple bug fixes, that will aim to keep the repository more clean.</p>
<p>Brief of this project is:</p> <ul> <li>Add feature of guest user<ul> <li>Add backend pieces of guest user</li> <li>Change fronted pieces for guest user</li> </ul> </li> <li>Improve settings subsystem<ul> <li>Improve adding new feature experience</li> <li>Improve user experience of changing settings</li> <li>Improve test coverage</li> </ul> </li> <li>Improve code quality</li> <li>Fix various bugs and issues</li> </ul>
The project aims to transition Zulip's existing codebase from JavaScript to TypeScript. Currently, approximately 50% of the Zulip codebase is written in JavaScript, and there's a concerted effort to migrate towards a more secure and well-documented codebase. Challenges in migrating the codebase include ensuring type safety throughout the migration process, effectively parsing the schema with Zod, maintaining the functionality of node tests, and guaranteeing the runtime safety of the Zulip codebase through the implementation of safer runtime code.
<p>Proposal for commited work over the summer, built on my already acquired experience and knowledge of the Zulip codebase - continuing my work on implementing PGP email features, addressing any current or future email mirror and rate limiter issues/TODOs (areas of the codebase that I'm most familiar with) as well as a couple of other interesting issues in other areas.</p>
<p>The idea behind this project is to improve the current CSS code quality by refactoring it and utilizing more SCSS rules, improve UI of commonly used widgets like polls, todo-list, etc, improve the overall UI of the main application and improve the documentation in the Help centre area by adding the documentation for new features and updating the documentation for the recently changed application part.</p>
The Zulip messaging app currently relies heavily on JavaScript, which lacks certain types and safeguards for developers. To improve the experience and speed of creating modules, the project aims to migrate to TypeScript, which provides missing types and additional safeguards. In addition to the migration, improving the UI and Integrations of the Zulip Web App could bring significant enhancements to the app.
The main goal of this project is to improve the user experience of Zulip Terminal by porting features from Zulip web which are not already implemented in ZT. The features to be implemented include supporting unsubscribed streams, direct message side panel and custom profile fields, while also improving unread cycle algorithms and topic matching.
<p>This project will focus on solving several of the high priority issues related to the general user experience of Zulip. This would involve improving the user interface in some areas, adding requested features in some places, as well as fixing some areas where the behavior is not as expected. All of this, in the hopes that it would improve the feel of Zulip for existing users and make it easier for new users to adopt.</p> <p>Though it was not intentional, several of the issues to be tackled here are requests made by large communities as their major blockers to switching over to Zulip. This project consists of work that goes over a few areas, broadly, these could be clumped together as the following goals:</p> <ul> <li>Info density enhancement requests.</li> <li>Public streams and guest user support.</li> <li>Better support for appearance and interaction of muted streams.</li> <li>Misc UI improvements.</li> <li>markdown processing improvements.</li> <li>search behavior improvements.</li> </ul>
<p>The first part of this project involves improving certain parts of Zulip's webhooks/integrations system.</p> <p>1.Make it much easier to quickly and conveniently test any incoming webhook integrations. This will make things a whole lot easier for developers creating or reviewing new bots. I plan on creating a web-based GUI for this purpose.</p> <p>2.Enable us to store the headers for each sample payload alongside their fixtures. But at the same time allow them to be dynamically generated (instead having them necessarily be fixed/static).</p> <p>3.Allow user's to configure their incoming webhooks bots based on certain parameters that we can specify on an integration-per-integration basis.</p> <p>4.Create a systematic and convenient way to allow integrations to make a callback request to a third-party API to gain extra information about events as required.</p> <p>5.Making miscellaneous improvements and tweaks that pop up over the course of the summer to specific integrations. Add new integrations as needed.</p> <p>The second part of this project involves improving Zulip's OpenAPI documentation system (the supporting code and tests, not necessarily writing the actual documentation itself).</p>
This project proposal aims to implement a cluster of priority features in zulip/zulip related to the settings system and write API documentation for various endpoints.