When Empathy connects it does one RequestAliases() call with all handles of the roster, causing gabble to fetch all vCards... It takes too long and the dbus call timeouts so empathy sometimes don't show aliases.
Now that empathy uses tp-glib API for requesting aliases I fixed the bug by overriding the default dbus timeout, it set it to 5minutes and it seems to work pretty well.
Now that GetAliases (and indeed Contacts) exists, I think this is not a bug: RequestAliases is the method you use when you really, really want the alias, whereas GetAliases and AliasesChanged are the API you use to opportunistically discover aliases as they come in.
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.