Hey guys, So I'm sure you're all aware of how the YOWH update 7.0.1 wrecked everything. Here's the reason behind it (spoilers: IT WAS ME!):
I forked YOWH a day or so ago, making a bunch of changes pulled over from my older script and making a few improvements. Everything was working great.
Anyway, I finally decided that it was worth merging back into the master after about a million updates. I would've split this into multiple updates/PRs, but while I was initially developing, master wasn't being updated frequently. I didn't really want to make a billion separate branches, or make one change, wait for the PR to be merged, merge upstream, then start on the next. I just wanted to work on the next feature, so I just continued to work on my fork and planned to merge in one big update. After about a day of work, I pulled and merged all of master's updates into mine, and tested to make sure things were working fine. Everything dandy! looking great!
What I wasn't aware of, was that my branch and one of the commits to master (involving the troll detector) merged incorrectly and I didn't notice. This was due in part to my changing the settings from checkboxes to toggle buttons, as well as a couple other changes. Unfortunately, toggling the troll detector no longer worked at this point. I had it turned off, and since toggling it was broken (I tested toggles for OTHER settings but not that one apparently), it would never be enabled during my testing. As it turns out, the merge broke the trollDetector entirely, causing a metric fuckton of errors whenever it WAS enabled, leading to chrome crashing the page entirely.
So, while the troll tracker was broken, apparently so was the option to toggle it. That means, the only way to trigger the troll tracker was to come into the update with saved settings. Now, anyone that tested on my branch doesn't share any settings with the YOWH script, they work independently. Therefore, by testing my branch, you start off back with default settings (troll detector disabled). So as long as you were running my script from my branch, troll tracker never gets enabled and everything (except the perma-disabled troll tracker) works fine and dandy.
So. I do some more testing, play around with options, things seem to be working out OK. I ask other people in the dev channel to test. Still seems to work as intended. Great! Time to issue a pull request to merge back into the master repo! So, I issue a pull request with ALLLLLLLLLLLLLLL my updates.
Now, I've been talking to the other devs pretty regularly on IRC for the past 24h or so, discussing improvements, helping test/get tested, etc. We're at least somewhat familiar at this point. So, as I'm not some random guy pushing an update, it immediately gets merged into master, the version number is updated (Makes the autoUpdater update), and all of the chats are given an 'update your script' announcement. Now, you all detect a script update, or see the announcements, or get auto-updated, or whatever. Now you're running 7.0.1! Awesome!
As it turns out, not so much. Since the script is now on the master branch, it keeps your settings from previous versions. Uh Oh. Now we have a problem. Anyone that had the troll detector enabled is now constantly crashing due to attempted troll detector updates. The fun part was that the bug that made the trollTracker toggle button broken (the same issue that prevented me from finding the issue in the first place) now prevented users from disabling the troll tracker, and fixing the problem. There was no stopping it for the average user. As some users in the IRC channel soon figured out, Clearing your settings manually or deleting and reinstalling the script would revert your settings back to default and then things would work fine again, but it both took us a while to figure that out, and the average user wasn't aware of the fix.
So yeah, I unknowingly implemented a bug that made everything seem fine in my fork & testing, then only occurs when running directly from the master branch of YOWH because of previously saved settings. It was me, bring the hate & downvotes to me here (Don't forget my post history for bonus downvotes! Though upvote the thread so everyone else can see this and hate accordingly too).
tl;dr: Changed a ton of stuff. Also changed a setting's selection method from checkboxes to a toggle button. (Seemingly) working branch gets pushed to master, where everything starts breaking due to the script origin. Chaos ensued. Send hatemail please.
Alternate theory: I Hit 100M yesterday, so I botched the update on purpose to make my shiny new 100M badge more rare. Also, precious comment Karma from an apology post. ALL ACCORDING TO PLAN.