This happens a lot. The opponent can't move and I can't reach them, so I have to give up. I also end up in a stalemate a lot. The game should recognize when no action can be taken.

Yeah, that sucks. But it should happen that much really, maybe you were just very unlucky. Detecting stalemates would be a bit tricky. With just the chess pieces it would be pretty doable but with all the different possible effects and their combinations, it seems safer to leave it to the player to decide. And I already changed the island generation to do way less of these 1 wide choke points and completely avoid them on the first islands too. But I guess it's gonna be a bit of a wait before I can patch the game again.
I am surprised that stalemate detection would be challenging. Iterate over the current player's pieces and count the number of available moves. If they are fewer than 1 -> stalemate. What could I be missing? I assume that you have something that detects valid moves as the board tiles are properly highlighted when a piece is selected.
In terms of priorities , probably not the most urgent issue.