The Open Sauced project leverages a GitHub repo as a data store, which the user creates as part of onboarding. For me, the repo is
mtfoley/open-sauced-goals. Each issue in it represents a GitHub repo that I intend to contribute to, so mine looks like this at the moment.
The data fields map like this:
- Issue title => repo full_name
- Issue description => my notes about it
The lifecycle events map like this
- Creating a goal => creating an issue
- Updating notes => editing issue description
- Removing the goal => closing the issue
This spring, @bdougieyo
was doing a stream on Twitch dealing with issue #955 and #833. Updating notes were not working and removing a goal was not working properly. I had a theory about these that there was some bug where a component that was supposed to be receiving data through a router was not getting what it needed. The
Repository component expected the issue number value to come from the upstream router but it wasn't being supplied by the upstream
Here's where the GIF I used about backseat driving comes into play. Once the stream got to the point where it was time to try to fix these issues, I got pretty excited to voice my theory about the router parameters bug. When I'd attempted to fix it myself the code mostly did what I wanted, but it had broken other things locally, so I had never done a PR. With me and several others watching the stream and making suggestions in the chat, Brian got the code working, and the issues were fixed in PR #980.
As someone who was still pretty new to all of this, it was nothing short of exhilarating to see my theory play out!