jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.38k stars 1.26k forks source link

Recommendations for First Time Contributors #3967

Open thornbill opened 2 years ago

thornbill commented 2 years ago

Contribute with Code

If you are looking for a code change to work on, then checkout the open issues or look for a new feature or task on the unoffical roadmap. Specifically the items labelled as Good First Issue should be good options for beginners.

Another great place to check for easy tasks to get started with is the list of code smells on SonarCloud. Some of these are more complex, but others are as simple as removing code that has been commented out or removing an unused variable. The list can be filtered for a specific Rule in the left pane. In most cases, it probably makes sense to make a separate PR per rule fixed. When possible add an eslint rule to prevent future issues of the same type.

If you have any questions or encounter any development issues, feel free to reach out via chat in one of our development chat rooms. Details can be found on the Contact page.

Adding new features

Other Ways to Contribute

pypp commented 1 year ago

is the unoffical roadmap still relevant ?

thornbill commented 1 year ago

Yes it is. I update it regularly.

strawHat121 commented 1 year ago

Hi @thornbill

There are a lot of issues on the sonarcloud and many of them are like 2 3 years old. Can those be picked by anyone to work on as many of them seems easy enough for a beginner to do ?

thornbill commented 1 year ago

Hey @strawHat121! They are all up for grabs. The only ones that I am aware of that may present some challenges for new contributors are the issues with catching errors for promises. Some places in the old code are expected to throw (in particular closing modals/dialogs/etc.) and that is not very obvious. Otherwise most are pretty easy fixes imho and sonar just flagged a bunch of new types of issues recently. 😅

strawHat121 commented 1 year ago

Thanks for the update @thornbill

I see some small tasks there like using of an Optional Chain expression and usage of nullish coalescing operator. Will start from there.