This week I continued to work on the issue for Mattermost. This issue required to migrate string ref to functional ones. Although this is an easy issue and easy fix, the environment set up is not easy at all. It took me at least 3 full days to set up the server and the web app environment.
First I had to set up Windows Subsystem for Linux on my machine. Then I followed the developer setup for the server. I encountered some issues with Docker during the setup. To solve these issues I used the “Developers” community channel and asked for help. The experience was pretty great. People are willing to help and this helped me to figure out the problem and not to give up.
After running the server successfully, I had to follow the developer setup for the web app. This was also time-consuming but eventually, everything was running smoothly.
When the server and the web app was working properly, I started working on the ticket. My strategy was to look for a similar ticket and follow the instructions that were in the issue. After completing code fixing, I run the test to verify that nothing got broken. Then committed the changes and created a pull request. During the code fixing the formatting of the code the hanged (VS Code do it automatically on save). Therefore it didn't pass some tests on Github. After the code was reviewed by one of the Mattermost developers, I got requested to fix the formatting.
Overall, it was a nice experience but also very challenging. I almost gave up because it took so much time to set up the environment but I am happy that I didn't.
This whole month was full of learning and trying new things. I really learned a lot and was exposed to different approached when working on different projects. I started the contribution with fixing a spelling mistake in a small project and end up migrating code in a very big project. Adding a badge to Survol extension is something that I really proud of because it required interpretation of several files and understanding of how things work.