First of all, maybe this is an empathy bug, but since it can also be caused by tp-idle I will file it here: I'm using an IRC account to freenode.net and when I join a channel the first time I don't see the topic. to see it I have to quit and join it again. Can you check your code?
You could run dbus-monitor, join the channel, and see if tp-idle emits the PropertiesChanged signal containing the topic. If so, it's likely an Empathy bug, or a mutual misunderstanding of the (admittedly hairy) properties interface.
I see it: signal sender=:1.100 -> dest=(null destination) serial=38 path=/org/freedesktop/Telepathy/Connection/idle/irc/yelo3_40chat_2efreenode_2enet0x1357000/MucChannel1; interface=org.freedesktop.Telepathy.Properties; member=PropertiesChanged variant string "Telepathy Real-time Communications Framework: http://telepathy.freedesktop.org | http://git.collabora.co.uk/ | http://live.gnome.org/Empathy/FAQ"
This doesn't look like a bug in Idle to me.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.