Oh, I didn't know that, thanks for making me aware of that!
I think it's because I only have a singular raycast checking directly down the middle of the player sprite for ground collision. When that raycast goes over a ledge, but the collision still keeps the player on, the player script will think it's airborne, and so you can't jump. I did add some coyotetime for making the jumps smoother, but that doesn't apply when you're standing at a ledge for more than 0.1 seconds :[
Thanks for playing, and taking the time to leave a comment, I'll keep your feedback in mind for the next time I'm making a platformer :D