Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#12044 closed defect (fixed)

html tags not send in ICQ

Reported by: xorik Owned by: MarkDoliner
Milestone: 2.7.4 Component: ICQ
Version: 2.7.0 Keywords: ICQ SoC
Cc: ivan.komarov

Description

Any html tags are cut in ICQ messages.

I try pidgin 2.7.0 and pidgin from MTN builded after fix http://developer.pidgin.im/ticket/11836 . In previous versions all worked.

here is a test:

(18:05:21) xorik: send something with html
(18:05:48) aaa:
(18:05:59) xorik: bad
(18:06:01) xorik: <a href='blah'>test</a>
(18:06:11) aaa: xorik (18:06:01 29/05/2010)
test
(18:06:16) xorik: bad...

I am a web developer and I have to send html text sometimes

Change History (17)

comment:1 follow-up: Changed 9 years ago by MarkDoliner

  • Status changed from new to pending

You're saying that someone manually types HTML into their input box, but when you receive the message Pidgin interprets the HTML? And you think Pidgin should display the HTML code literally? Do you know what ICQ client the other person is using?

comment:2 in reply to: ↑ 1 Changed 9 years ago by xorik

  • Status changed from pending to new

Replying to MarkDoliner:

You're saying that someone manually types HTML into their input box, but when you receive the message Pidgin interprets the HTML?

Yes, HTML is entered manually, but pidgin don't show it since 2.7.0.

And you think Pidgin should display the HTML code literally?

Yes, I would like to see a text like "<a href='#' class='test'>link</a>"

Do you know what ICQ client the other person is using?

Other person use QIP, but I think it does not matter what the client using

comment:3 Changed 9 years ago by MarkDoliner

  • Cc ivan.komarov added

Hmm, I think it does matter what client the other person is using. Does the same problem exist if a QIP user sends a message to someone using the official ICQ 7 client?

Maybe if a client sends the 0x400 flag in SNAC 0x0004/0x0005 then that client should send messages as HTML instead of plaintext? (And I think QIP does send the 0x400 flag.)

comment:4 Changed 9 years ago by xorik

Hmm, I think it does matter what client the other person is using. Does the same problem exist if a QIP user sends a message to someone using the official ICQ 7 client?

If the problem depends on the client, then why versions before 2.7.0 are not affected? Other person used the same version of QIP.

Maybe if a client sends the 0x400 flag in SNAC 0x0004/0x0005 then that client should send messages as HTML instead of plaintext? (And I think QIP does send the 0x400 flag.)

Too hard question for me :)

UPD: I just checked ICQ 7.2. It works just like Pidgin 2.7.0: unable to send or receive any HTML string from QIP... If the problem is not fixed in upstream, perhaps you can help me with the patch to return the same behavior as in versions 2.6.X

comment:5 Changed 9 years ago by MarkDoliner

I think prior to 2.7.0 the ICQ servers stripped HTML from IMs being sent to Pidgin. I think this changed because we started sending the 0x400 flag. But I'm not sure why the ICQ servers wouldn't be stripping hand-written HTML from messages sent from QIP... and unfortunately I don't have time to investigate right now :-(

comment:6 Changed 9 years ago by MarkDoliner

I had a long discussion with Ivan, who is working on some of this stuff and is super smart. I'll try to summarize here:

  • We think all channel 1 ICBMs should be sent as HTML (never plaintext)
  • Clients can optionally set flag 0x400 in SNAC 0x0004/0x0005 that tells the server "I want to receive HTML-formatted IMs"
  • The server will strip HTML from channel 1 ICBMs sent to non-HTML clients
  • The server will NOT strip HTML from channel 2 ICBMs sent to HTML clients
  • Miranda does not set this flag
  • QIP DOES set this flag
  • Pidgin < 2.7.0 does not set this flag (and expects to receive plaintext IMs)
  • Pidgin >= 2.7.0 DOES set this flag (and expects to receive HTML IMs)

QIP messages sent to Miranda are sent as channel 2 ICBMs, for some reason. We think the "correct" fix is for QIP to HTML-encode all outgoing channel 1 ICBMs. But in the mean time Ivan wants to try making Pidgin look like Miranda from QIP's point of view, in which case QIP would send us channel 2 ICBMs and everything would be peachy.

comment:7 Changed 9 years ago by darkrain42

Ticket #12061 has been marked as a duplicate of this ticket.

comment:8 follow-up: Changed 9 years ago by ivan.komarov@…

  • Resolution set to fixed
  • Status changed from new to closed

(In 5d7f417b73c2c02920d3342edf6ab5f6431f0432):
Fixes #12044. We send a dummy packet with DC version = 8 to make Miranda and QIP think we come from a respectable family and deserve being sent channel 2 messages (which we now treat as plain text).

Also, we now send HTML_MSGS capability to convince Trillian to not strip HTML before sending us messages.

comment:9 Changed 9 years ago by Robby

  • Keywords ICQ SoC added

comment:10 Changed 9 years ago by darkrain42

  • Keywords html tags icq removed

comment:11 in reply to: ↑ 8 Changed 9 years ago by xorik

Thanks for helping, but now fix is not full: buddy with QIP see my html code, but I don't see html code from buddy :(

comment:12 Changed 9 years ago by xorik

One more bad news: when i send "<a>" tag, buddy see only content inside this tag. E.g. I send "<a href='test'>link</a>", buddy see only "link"

comment:13 Changed 9 years ago by ivan.komarov

I assume you're seeing this behaviour with QIP 2005 on the other side? Unfortunately, I see no way to make this work with 2005 version, and I suggest your buddy upgrade to either QIP 2010 or Infium (the above fix was for these versions). QIP 2005 was deprecated by its authors anyway.

Sorry for the confusion.

And, just to be sure, are you using the correct MTN branch? The fix was committed to im.pidgin.soc.2010.icq-tlc, not im.pidgin.pidgin (you probably know that, I'm just checking).

comment:14 Changed 9 years ago by xorik

im.pidgin.soc.2010.icq-tlc, not im.pidgin.pidgin

oops, my mistake

Unfortunately, I see no way to make this work with 2005 version

That's the problem. Unfortunately buddy don't want new versions of QIP. Thanks for helping anyway.

P.S. Maybe there may be a way to return the old pidgin behavior (use plain-text instead html)?

comment:15 Changed 9 years ago by ivan.komarov

Maybe there may be a way to return the old pidgin behavior (use plain-text instead html)?

I don't think so, unfortunately (meaning, I'm not planning to revert to the old behaviour, nor to implement an option to do so, nor anything like that). You can continue using Pidgin 2.6.X until your buddy changes his/her mind and upgrades. :)

comment:16 Changed 9 years ago by xorik

You can continue using Pidgin 2.6.X

Its not support x-statuses. Thak you anyway.

comment:17 Changed 9 years ago by MarkDoliner

  • Milestone set to 2.7.4
Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!