For release 0.2, I decided to chose issues based on the brackets repository rather than Thimble. The issues I choose are:
- Remove or Update issue template #593
- Update node deps #589
These issues are fairly simple to fix. They do not involve modifying code but rather focus on documentation. I believe having proper and up to date documentation is important in open source projects. This makes it easier for contributors to find the information they need.
The first issue “Remove or Update issue template #593” was an issue filed by humphd. The issue is that when the Brackets repository got merged with the Adobe Brackets repository a file named “ISSUE_TEMPLATE.md” got merged into the repository. The purpose of this file is to provide the user with a template they can use when they want to file an issue they faced with Brackets. Since Mozilla Brackets has different features and requirements than Adobe Brackets, the template needs to be updated to fit with Mozilla Brackets.
Initially there were two options we could take to fix this issue, remove the file completely from the repository or modify the file to fit with Mozilla Brackets. I found the second option better because every repository should have an issue template for users to use and it makes filing an issue easier and more manageable.
humphd suggested some ideas on what information to modify in the file. They are:
- Get rid of the Prerequisites section
- Keep the section on Steps to Reproduce, Expected and Actual behaviour
- Change the Versions section to be about which Browser (name and version) and OS the user is using
I plan on modifying the file by using these suggestions and making sure the formatting of the file is clear for the user to understand.
The second issue I chose is “Update node deps #589”, which was also created by humphd. The issue is that the dependencies and devDependencies in the package.json file needed to be updated. It is important to update the package.json file so that the users know the versions of the dependencies that are used my Brackets.
In order to fix this bug I plan on following the suggestion given by humphd. Which is to examine the dependencies and devDependencies in the package.json file and see which one’s we are using that need to be updated. The professor suggested using a tool to accomplish this task such as npm-check. This tool is used for checking outdated, incorrect, and unused dependencies. Using this tool can make the process of checking each dependency easier. After I find which dependencies need to be updated I plan on changing the package.json file to fit with the updated dependencies and devDependencies.
The bug I chose to fix on Mozilla Thimble was: The delete button is scary, because I don’t know what it’ll do
The problem with this bug is when the user wants to delete a project from their list of projects the pop-up warning message isn’t clear for the user. The warning message says “OK to Delete this project?”. This message doesn’t inform the user that if they delete their project, the published version of their project will also get deleted. Therefore this results in the user becoming scared to use the delete button.
The fix to this problem was relatively simple. I had to change the text that appears in the pop-up window to a more descriptive message. The message that was suggested by flukeout was “Are you sure? The published version of this project will also be deleted”. This message is more detailed than the previous message and informs the user that the published version of their project will also get deleted.
To fix this bug I changed the message from the previous one to the suggested one like this:
The fix was simple and didn’t take much time for me to accomplish.
This is my pull request: Fix #1001: Changed text for deleteProjectConfirmText
The struggle I faced when working on this lab was using vagrant to get the virtual machine to work properly. I didn’t have much trouble getting bramble to work but getting thimble to work wasn’t as easy.
I installed the virtual machine and got bramble and thimble working on my browser:
However for some reason when I make a change to a file in thimble it doesn’t automatically update on the browser. The only way it would show the changes I made was if I uninstalled the virtual machine by using the command vagrant destroy and re-installed it again by using vagrant up.
Overall contributing to my first bug in a project as complex as Mozilla’s Thimble editor was successful and accomplishing. Other than having to figure out how everything works and getting the virtual machine working properly, I found it fun and encouraging to contribute to this project. Although the bug I fixed wasn’t a big bug, it showed me the process that is required to contribute to an open source project.
In the future I would like to contribute more to the Mozilla Thimble project.
This week I got to learn more about using branches, merging, rebasing, and gh-pages on git. I have had experience with using branches before but I never merged branches together or rebased my commits into one commit.
I found rebasing to be really helpful and useful to use in git. I always have different commits and don’t always want to share them when publishing to GitHub. Learning about rebasing helped me understand how to combine all of these commits into one commit which I found to be awesome.
Learning about GitHub’s gh-pages branch was also interesting. I never knew GitHub had this feature. The gh-pages branch is a special branch on GitHub that allows you to host static web pages. I found this to be useful to use when you want to play around with HTML and test your work. I also found it to be simple to use, all you need to do is create a gh-pages branch, add and commit the branch with the HTML file and publish that branch on GitHub using the push command.
Overall, I found these features to be useful to use in the future when using git.
Setting up Bramble was not a difficult task for me. I forked the brackets repository on GitHub and than cloned it. After that I installed it using these commands:
- npm install
- npm run build
After I finished installing Bramble I ran it using the command npm start.
Setting up Thimble on the other hand I found to be difficult. I ran the vagrant up command and waited for it to download and provision the Virtual Machine. After it was done I connected to the server by going to http://localhost:3500/. Thimble loaded up and here’s a screenshot of it working.
The problem I faced with vagrant is that when I modified a file from my cloned copy of the Thimble repository and wanted to see the changes on Thimble it would not show me the changes I did. For some reason the only way it would show me the changes is if I deleted the Virtual Machine using the vagrant destroy command and ran the vagrant up command again.
The Thimble issue I chose to do was: https://github.com/mozilla/thimble.mozilla.org/issues/1001
The issue was that when a user wanted to delete a project the message that would display after the user clicks the delete button wasn’t clear enough. It would just say “OK to Delete this project?”. This wasn’t a clear enough message for the user and doesn’t specify if the web-published project will also get deleted.