Adium

Ticket #9591 (closed defect: fixed)

Opened 5 months ago

Last modified 5 months ago

Entering a closing html tag as a message stops chat logging for that contact until restart of Adium

Reported by: virsat Assigned to: nobody
Priority: high Milestone: Adium X 1.2.5
Component: Logging Version: 1.2.4
Severity: major Keywords:
Cc: Patch: None
Pending: 0

Description

If the /html (in brackets) code is entered during chat, logging stops immediately and will not resume until restarting of app.

Found this accidentally while trying to send html code instructions to an associate.

Change History

04/06/2008 06:40:05 PM changed by virsat

For additional clarification, it is the "<(slash)html>" code specifically, entered without quotes, into a message, that kills logging.

04/06/2008 09:47:57 PM changed by jas8522

  • priority changed from normal to high.
  • summary changed from html code in message window kills logging until restart of adium app to Entering a closing html tag as a message stops chat logging for that contact until restart of Adium.
  • component changed from Adium Core to Logging.
  • severity changed from normal to major.
  • milestone set to Adium X 1.2.5.

Confirmed on 1.3svn [23090]

For clarification (although this might seem obvious) it only stops logging for that contact. Logging for other contacts continues as normal.

For those that are unaware, this could be pretty critical - setting to higher priority.

04/12/2008 01:51:40 PM changed by evands

  • status changed from new to closed.
  • resolution set to fixed.

(In [23115]) We'll be running message through an HTML decoder. If we unescape all entities, we end up treating any typed HTML code as a real HTML code, because for example &lt;/html&gt; becomes </html> before the decoder even sees it. That's bad.

We apparently need to unescape ampersand immediately (I didn't retest that claim, made in #6850). We'll just do that rather than a full unescaping. Note that we can't use stringByUnescapingFromXMLWithEntities: with a dictionary specifying just the ampersand, the documentation for CFXMLCreateStringByUnescapingEntities(), which that method wraps, states "The standard XML entities are always replaced".

Fixes #9591

04/12/2008 01:52:22 PM changed by evands

(In [23116]) Merged [23115]: We'll be running message through an HTML decoder. If we unescape all entities, we end up treating any typed HTML code as a real HTML code, because for example &lt;/html&gt; becomes </html> before the decoder even sees it. That's bad.

We apparently need to unescape ampersand immediately (I didn't retest that claim, made in #6850). We'll just do that rather than a full unescaping. Note that we can't use stringByUnescapingFromXMLWithEntities: with a dictionary specifying just the ampersand, the documentation for CFXMLCreateStringByUnescapingEntities(), which that method wraps, states "The standard XML entities are always replaced".

Fixes #9591