Getting signature mismatch cause batchId is 0

Trying to use personal sign with a relayer contract.
I spend two hours trying to decipher why we were getting ‘signature mismatch’
(even though the req.from and wallet signing is the same)
After a lot of trial and error (very annoying),
I figured that if I set batchId to something random, it works again.

Bad devX, no documentation anywhere about batchId.
If anyone faces this, hope it helps.