@GeePawHill I haven't looked into the algorithm yet, but even watching the video, I can see it's getting stuck in an unsolvable area (count of surrounded cells uncovered is not a multiple of 6). If the algorithm doesn't check that it's solvable, maybe that's why it's stuck.
If I was less busy, this would have nerd sniped me into a morning of playing with your code 馃榿