Steps to reproduce:
Try to create a PGN with the content
<pgn> [Event "Foo"] [Site "Bar"] [Date "2020.12.30"] [Round "?"] [Result "1/2-1/2"] 1. e4 e5 2. Qh5 h6 3. Qxh6 g6 4. Qxg6 a6 5. h4 Nf6 6. Qxf6 Rh6 7. Qxh6 Bg7 8. Qxg7 f6 9. Qxf6 b6 10. h5 c6 11. h6 d6 12. h7 Kd7 13. h8=Q Kc7 14. g4 Kb7 15. g5 a5 16. g6 b5 17. g7 Kb6 18. g8=Q Qf8 19. f3 Qh6 20. Qgf8 d5 21. Qf8xh6 1/2-1/2 </pgn>
Expected result:
It works
Actual result:
Considered invalid, see https://en.wikipedia.beta.wmflabs.org/wiki/User:Ori.livneh/Chess
The issue is likely validation of a move where both the rank and file of a piece are specified for the source of the move. At https://en.wikipedia.beta.wmflabs.org/wiki/User:Ori.livneh/Chess there is a working example of a game with all but the last move 21 for context. In move 21, a Queen on f8 takes a piece on h6. Since there is another queen that could make that move on the F file, and another queen that could make that move on the 8 row, both row and file must be specified to make it clear what the source of the move is. This PGN is valid per https://chesstempo.com/pgn-viewer/