mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
contributor docs: Drop outdated GSoC projects.
This commit is contained in:
@@ -31,7 +31,7 @@ amazed at what you can accomplish.
|
|||||||
|
|
||||||
## Focus areas
|
## Focus areas
|
||||||
|
|
||||||
For 2024, we are particularly interested in GSoC contributors who have
|
For 2025, we are particularly interested in GSoC contributors who have
|
||||||
strong skills at full-stack feature development, Typescript, visual design,
|
strong skills at full-stack feature development, Typescript, visual design,
|
||||||
HTML/CSS, Flutter, or performance optimization. So if you're an applicant with
|
HTML/CSS, Flutter, or performance optimization. So if you're an applicant with
|
||||||
those skills and are looking for an organization to join, we'd love to
|
those skills and are looking for an organization to join, we'd love to
|
||||||
@@ -81,22 +81,17 @@ Django, TypeScript/JavaScript, and CSS.
|
|||||||
significant existing work to start from and polish, rather than
|
significant existing work to start from and polish, rather than
|
||||||
projects that have not been seriously attempted previously.
|
projects that have not been seriously attempted previously.
|
||||||
|
|
||||||
Recent sweeps through the Zulip server and web app tracker have
|
We maintain a [completion candidate label][completion-candidate]
|
||||||
identified about 100 open pull requests where a previous contributor
|
for pull requests where a previous contributor
|
||||||
(sometimes via GSoC!) did significant work towards something
|
(sometimes via GSoC!) did significant work towards something
|
||||||
valuable, and there's significant feedback from maintainers, but the
|
valuable, and there's significant feedback from maintainers, but the
|
||||||
project was never finished, and requires significant further effort
|
project was never finished, and requires significant further effort
|
||||||
from a new contributor in order to progress. These are tracked via
|
from a new contributor in order to progress. One of our
|
||||||
the [completion candidate label][completion-candidate]. One of our
|
|
||||||
goals for this summer's GSoC is to complete many of these
|
goals for this summer's GSoC is to complete many of these
|
||||||
issues. Start by picking something that's interesting to you, and
|
issues. Start by picking something that's interesting to you, and
|
||||||
you feel you have the skills required to complete. Read the code and
|
you feel you have the skills required to complete. Read the code and
|
||||||
the feedback, and then create your own PR for the issue. Remember to
|
the feedback, and then create your own PR for the issue. See the [guide on
|
||||||
carefully test your work (there may be problems that the reviewers
|
continuing unfinished work][continuing-work] for details.
|
||||||
missed, or that were introduced by rebasing across other changes!),
|
|
||||||
and credit the original contributor [as documented in our commit
|
|
||||||
guidelines](../contributing/commit-discipline.md). We expect to have
|
|
||||||
a more detailed guide on this process available this Spring.
|
|
||||||
**Skills required**: Varies with project; a common skill will be
|
**Skills required**: Varies with project; a common skill will be
|
||||||
good reading comprehension and organization/communication skills, to
|
good reading comprehension and organization/communication skills, to
|
||||||
walk maintainers through how you resolved problems, addressed any
|
walk maintainers through how you resolved problems, addressed any
|
||||||
@@ -108,64 +103,7 @@ Django, TypeScript/JavaScript, and CSS.
|
|||||||
Experts: Tim Abbott and various others depending on project area
|
Experts: Tim Abbott and various others depending on project area
|
||||||
|
|
||||||
[completion-candidate]: https://github.com/zulip/zulip/pulls?q=is%3Aopen+is%3Apr+label%3A%22completion+candidate%22
|
[completion-candidate]: https://github.com/zulip/zulip/pulls?q=is%3Aopen+is%3Apr+label%3A%22completion+candidate%22
|
||||||
|
[continuing-work]: ../contributing/continuing-unfinished-work.md
|
||||||
- Help **migrate our JavaScript codebase to Typescript**. Zulip is in
|
|
||||||
the process of porting the main web app JavaScript codebase to
|
|
||||||
TypeScript; at present, about 40% of the project is written in
|
|
||||||
TypeScript. We've resolved most of the roadblocks to completing this
|
|
||||||
migration, so it's mostly a matter of carefully translating modules,
|
|
||||||
putting in the effort with preparatory commits to make it any
|
|
||||||
refactoring easy to verify. Our goal is to leave the resulting code
|
|
||||||
more readable than it was before, always test the module works after
|
|
||||||
the migration, and avoid introducing logic bugs during this large
|
|
||||||
refactor. [This topic in the Zulip development
|
|
||||||
community][typescript-migration] is a good place to coordinate work
|
|
||||||
on this project. Multiple students are possible; 175 or 350 hours;
|
|
||||||
difficult. **Skills required**: TypeScript and refactoring
|
|
||||||
expertise; we're specifically interested in students who are a type
|
|
||||||
theory nerd and are invested in writing types precisely (Often using
|
|
||||||
[Zod](https://zod.dev/) to parse and verify data received from the
|
|
||||||
server) and checking their work carefully.
|
|
||||||
|
|
||||||
Experts: Zixuan James Li, Evy Kassirer, Anders Kaseorg
|
|
||||||
|
|
||||||
[typescript-migration]: https://chat.zulip.org/#narrow/channel/6-frontend/topic/typescript.20migration
|
|
||||||
|
|
||||||
- Contribute to Zulip's [**migration to user groups for
|
|
||||||
permissions**][user-group-permissions]. This migration is intended to replace
|
|
||||||
every setting in Zulip that currently allows organizations to assign
|
|
||||||
permissions based on role (admin, moderator, etc.) with a setting based on
|
|
||||||
arbitrary "user groups", making it much more customizable. This is very
|
|
||||||
important for large organizations using Zulip, including businesses and
|
|
||||||
open-source projects. Much of the basic design, API structure, and scaffolding
|
|
||||||
is complete, but there is a lot of work that remains to complete this vision.
|
|
||||||
The project can likely support a couple students; there is considerable work
|
|
||||||
to be done on the settings UI, both for user groups and for channel and
|
|
||||||
organization-level settings, dozens of existing settings to migrate, and [many
|
|
||||||
new settings][organization-settings-label] that users have long requested that
|
|
||||||
we've delayed adding in order to avoid having to migrate them. 175 or 350
|
|
||||||
hours; moderate difficulty. **Skills required**: Python, JavaScript, and CSS.
|
|
||||||
Attention to detail around code reuse/duplication, thoughtful testing, and
|
|
||||||
splitting large migrations into reviewable chunks.
|
|
||||||
|
|
||||||
Experts: Sahil Batra
|
|
||||||
|
|
||||||
- Improve the framework and UI in **Zulip's overlays for managing
|
|
||||||
channels and groups**. These two components have very parallel design
|
|
||||||
patterns and implementations (the groups one is quite new!). Coupled
|
|
||||||
with the user groups permissions migration, the goal of this project
|
|
||||||
is to make these important settings panels ergonomic for the large
|
|
||||||
number of new settings that we expect to migrate or add via the
|
|
||||||
groups migration. See the [user groups
|
|
||||||
settings][group-settings-issues] and [channel
|
|
||||||
settings][channel-settings-issues] area labels for starter projects.
|
|
||||||
|
|
||||||
Experts: Purushottam Tiwari, Sahil Batra
|
|
||||||
|
|
||||||
[group-settings-issues]: https://github.com/zulip/zulip/issues?q=is%3Aissue+is%3Aopen+label%3A%22area%3A+settings+%28user+groups%29%22
|
|
||||||
[channel-settings-issues]: https://github.com/zulip/zulip/issues?q=is%3Aopen+is%3Aissue+label%3A%22area%3A+stream+settings%22
|
|
||||||
[user-group-permissions]: https://github.com/zulip/zulip/issues/19525
|
|
||||||
[organization-settings-label]: https://github.com/zulip/zulip/issues?q=is%3Aopen+is%3Aissue+label%3A%22area%3A+settings+%28admin%2Forg%29%22
|
|
||||||
|
|
||||||
- Migrate Zulip's **[direct message recipient data
|
- Migrate Zulip's **[direct message recipient data
|
||||||
structures](https://github.com/zulip/zulip/issues/25713)** to a new
|
structures](https://github.com/zulip/zulip/issues/25713)** to a new
|
||||||
@@ -268,7 +206,7 @@ Django, TypeScript/JavaScript, and CSS.
|
|||||||
do careful manual testing of third-party products. Fluent English, usability
|
do careful manual testing of third-party products. Fluent English, usability
|
||||||
sense and/or technical writing skills are all pluses.
|
sense and/or technical writing skills are all pluses.
|
||||||
|
|
||||||
Experts: Zixuan James Li, Lauryn Menard
|
Experts: Niloth, Lauryn Menard
|
||||||
|
|
||||||
- **Make Zulip integrations easier for nontechnical users to set up**.
|
- **Make Zulip integrations easier for nontechnical users to set up**.
|
||||||
This includes adding a backend permissions system for managing bot
|
This includes adding a backend permissions system for managing bot
|
||||||
@@ -290,7 +228,7 @@ Django, TypeScript/JavaScript, and CSS.
|
|||||||
has a bunch of good starter issues to demonstrate your skills if
|
has a bunch of good starter issues to demonstrate your skills if
|
||||||
you're interested in this area.
|
you're interested in this area.
|
||||||
|
|
||||||
Experts: Zixuan James Li, Lauryn Menard
|
Experts: Niloth, Lauryn Menard
|
||||||
|
|
||||||
[all-settings-issues]: https://github.com/zulip/zulip/issues?q=is%3Aopen+is%3Aissue+label%3A%22area%3A+settings+%28admin%2Forg%29%22%2C%22area%3A+settings+%28user%29%22%2C%22area%3A+stream+settings%22%2C%22area%3A+settings+UI%22
|
[all-settings-issues]: https://github.com/zulip/zulip/issues?q=is%3Aopen+is%3Aissue+label%3A%22area%3A+settings+%28admin%2Forg%29%22%2C%22area%3A+settings+%28user%29%22%2C%22area%3A+stream+settings%22%2C%22area%3A+settings+UI%22
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user