The gamepigeon app is declaring I lost (I am black). This simply does not make sense since it is white's turn and they are in check. The game abruptly ends.
Is this erroneous logic? How can I lose if I am not in check?
This is a bug. The GamePigeon app was written by non-chess programmers, their focus is not on chess. They're not specalized in chess apps, chess is just one of the many things they do.
Well, the app was wrong to declare the game over at that point. But it is a losing position for black.
6Q1/8/7R/8/4P3/1P3K2/P4P1n/7k w - - 0 0 1. Rxh2 Kxh2 2. Qg2#
Notably, white must capture the black knight rather than move his king, as that would immediately lead to stalemate and a draw.