On Jun 11, 2010, at 1:07 PM, Moses Lei wrote:

Sorry for the long delay; this has languished near the bottom of my inbox for 
some time.

> For #14026 I'm having trouble figuring out what exactly sets the value 
> returned by aliasForContact for IRC. Specifically I'm trying to figure out 
> how to make sure that aliasForContact (which should probably be renamed 
> "nickForContact" to reduce confusion with contact aliases) always returns the 
> nick of the IRC contact, not the contact's alias.

Libpurple provides us with updates on users via 
static void adiumPurpleConvUpdateUser(PurpleConversation *conv, const char 
*user)

in adiumPurpleConvUpdateUser(), based on information provided by the server.

That calls to AiAccount's
- (void)updateUser:(NSString *)user
                   forChat:(AIChat *)chat
                         flags:(AIGroupChatFlags)flags
                         alias:(NSString *)alias
                attributes:(NSDictionary *)attributes

Which then calls -[AIChat setAlias:forContact:].

If an update for a given user is never received, then the contact's own alias 
(as known by Adium through other means, such as something the user set or 
something that was pulled from the address book) is used.

Does that help?

Cheers,
Evan

Reply via email to