DEV Community

Harshil Patel
Harshil Patel

Posted on

Hacktoberfest 2/4. PR to big open source repo.

If you have read my previous blogs, you would be familiar with my participation in Hacktoberfest. I already did my 1st PR last week and this blog is about my 2nd PR. I was looking for an issue to contribute; however, it was challenging to find a good issue. I was searching for a big open-source project to contribute but most of the issues in this kind of project were complex. I spent hours looking for a project to contribute but I didn't find any good issue. Then, I started exploring the PRs of other students on the release 0.2 page and luckily I found a repo called Wren AI. Wren AI is an open-source SQL AI agent for text-to-SQL. Basically, one can ask questions regarding the database and get responses without even looking at actual data.

I found a perfect issue for me which was not only belonged to a big project but also complex enough for me to learn something new. I started by forking the repo and cloning it on my local machine. I ran into many problems while working on this issue.

1st Problem

The first problem that faced was regarding installing packages. There were many services like wren-ai-service, wren-engine, wren-launcher, and wren-ui, which should run together to make the application work. The issue I was working on was related to wren-ui, so I followed the instructions given CONTRIBUTING.md in the wren-ui folder and tried to set up a local development environment. I ran yarn to install dependencies and it was taking long to install packages. I waited for 5 minutes and it was still installing packages, so I canceled that command and tried it again as I have been working with node packages for 3 years and it never took this much time to install packages. After 3rd attempt, I deleted the cloned repo and again cloned it as I thought there was some problem with that cloned repo. Again, it was taking the same time so this time, I decided to wait for it to complete and it took almost 10 minutes to install all dependencies.

2nd Problem

After installing the packages, I tried running it locally using npm run dev and it was taking much time to even load the page. Again it took somewhere around 5 minutes to load the page. Then, I tried to reproduce the bug, but I failed. It was mentioned in the issue that when a new dataset is uploaded, there is an unsync status on the top right which was supposed to be synced as the user just uploaded the data. I was not able to find that unsync status on the page so I messaged on the issue with the screenshot asking the same.

Image description

To which, the author replied that the "Undeployed changes" which can be seen on my screenshot is the unsync he mentioned in the issue.

Image description

3rd Problem

This project was using OpenAI API for interacting with LLM and I used my API key for running wren-ai-service. As I mentioned earlier this project has many services and to make the application work, I was running the remaining service on docker and wren-ui on the local machine. I was not working as expected and I was not sure which part was giving an error. The wren-ui was running as expected but there was some error in one of the other services which was running on docker. I read the logs of images running on docker and found that wren-ai-service was giving an error as I didn't have enough tokens on my openAI API key.

Finally, after going through all this, I was able to solve the issue and submitted the PR.

Top comments (0)