Yahoo Transport and iChat

Using the latest iChat on MacOS 10.4, everything works great except…

When my Yahoo buddies start typing, it wipes the previous message from the display. This makes it pretty much unusable. The Yahoo gateway works fine with Spark and Psi on Mac.

I’'m guessing this might be related to Link:http://www.igniterealtime.org/issues/browse/GATE-154 ?

I hate to say it but that sounds more like a user interface issue. There’‘s no reason why my code should/would have any control over what was already displayed to your screen. There’'s nothing in the protocol that offers such functionality. When you say previous message, you are referring to the last message someone sent you? or the last message you sent? or something you are actively typing?

Either way, like I said, there’'s no reason the plugin/protocol should even have the ability to -do- that. =(

Not sure if you’‘re familiar with iChat, but it maintains an interleaved display, with their messages on the left and yours on the right. With Yahoo, their messages appear, but as soon as they start typing again (I think) their message disappears. Normally, you’‘d expect a "I’'m typing" bubble to appear on a new line at the bottom of the display.

I accept your comment about the UI being out of your control, and clearly this is ultimately a bug in iChat. I presume that iChat sees the messages as regular Jabber messages? The question is, something is causing iChat to break. Whether it is Yahoo, the transport, or iChat that is causing the problems is anyones guess! Could this be because iChat is intolerant of minor protocol discrepancies?

dcrobinson1965 wrote:

Not sure if you’‘re familiar with iChat, but it maintains an interleaved display, with their messages on the left and yours on the right. With Yahoo, their messages appear, but as soon as they start typing again (I think) their message disappears. Normally, you’‘d expect a "I’'m typing" bubble to appear on a new line at the bottom of the display.

grin As a MacOS X user, I am indeed familiar with iChat. ;D Unfortunately I really don’'t know what I can do about that. =(

I accept your comment about the UI being out of your control, and clearly this is ultimately a bug in iChat. I presume that iChat sees the messages as regular Jabber messages? The question is, something is causing iChat to break. Whether it is Yahoo, the transport, or iChat that is causing the problems is anyones guess! Could this be because iChat is intolerant of minor protocol discrepancies?

But if it sees the messaage as regular messages, why doesn’'t it just put the “blank” messages on separate lines?

It’‘s possible it’‘s intolerant of the discrepancies . . . but … it shouldn’'t be -that- intolerant.

OOH OOH I think I know what’'s going on now! (i can duplicate it in my own ichat install)

I believe what’‘s happening is that ichat -is-, in theory, doing the right thing. I think my code isn’‘t . . . closing off a conversation? something like that. it’'s interesting that ichat has that functionality to see part of the conversation but keep it going. (note that … that shows up after the text of the message)

Are you only seeing this with Yahoo? Or not trying any of the others?

GATE-171

;D Yes, it’'s already closed.

The problem stemmed from the XEP saying I should always have an id tag with the composing event, but I can leave it blank, but this confuses ichat. Upon ditching the id tag all is well. Committed the patch to SVN.

It just double occured to me that, while I did fix this in my code, the fact that I -could- do this means that if I were a “jerk” other user in the XMPP world, I could screw with your session pretty easily by just passing blank id tags or something along those lines. =( Not very cool. Unfortunately, I know of no way to report bugs to apple that like, works.

Wow! I was just going to post the information that iChat does it with the MSN transport too, and then I read that you’'d already fixed it. Cool!

Keep up the excellent work!!!

Here’'s an updated .jar that has the fix in place btw. =)
gateway.jar (660840 Bytes)

It gets better, if that’'s possible

Many thanks!

Aaah, perhaps not… I get a blank screen on both the settings and registration pages.

I wiped the registration database (there’'s only 3 in it), but it is still blank.

(and it doesn’'t appear to work, either)

Message was edited by: dcrobinson1965

Oh crud, that’‘s because I built it against the latest code base. I’‘m running into problems under 3.2.0 at the moment. Interesting that you are seeing them though, that’'s useful for helping to track that down. Let me get back to you on this. What version of Wildfire are you running it under and also, what version of java are you using?

Server is 3.1.1, running under Windows XP Professional SP2, using the supplied JRE (1.5.0_08)

Hope that helps.

Turned out this situation helped us figure out what was causing the whitescreens. ;D Woot.

Anyway, I’'ve attached a version with the fixes in it that should work with your server.

Unfortunately, looks like the next real release is going to have to require wildfire 3.2.0. (API changes on the backend)
gateway.jar (655663 Bytes)

Daniel, that works brilliantly (at least with the MSN gateway), and doesn’'t break Psi either

Many thanks.