IRC Not Recognizing "ping timeouts" and some joins/parts

Hey, Just thought I’d give you a few puzzles for you

Essentially, if a user times out they basically quit, the problem is the gateway doesn’t seem to be picking up on these leaving the room occupants list all over the place and including users who aren’t actually there anymore.

Another thing that it seems to be missing out is that some parting’s, essentially also leaving some occupants there, although i think that this is linked to the original ping timeout problem.

Also, the gateway doesn’t show people joining, the most logical explanation for this is because they are already in the room so how could they possibly join twice (seen as they actually left but it was never updated that they left in the first place).