I think that both are correct, but what's the difference?
It hasn't happened yet. It's all in the future.
Before you find out what happened I'll have known about it for a few hours.
Before you find out what has happened I'll have known about it for a few hours.