Ticket #3914 (closed defect: wontfix)

Opened 2 years ago

Last modified 1 year ago

Two feeds on Dashboard don't work with application/xhtml+xml

Reported by: JeremyVisser Assigned to: anonymous
Priority: normal Milestone:
Component: Administration Version: 2.3
Severity: minor Keywords:
Cc:

Description (Last modified by foolswisdom)

Env: WordPress SVN /branches/2.1/ (revision 4958, version 2.1.2)
Apache2/PHP5/MySQL5/Ubuntu 6.06.1

option 'html_type' set to 'application/xhtml+xml'

On my WordPress dashboard, both the Technorati incoming links and WordPress Planet feeds are broken, because of using application/xhtml+xml mime-type.

WordPress dev news still works.

Change History

03/06/07 03:13:16 changed by JeremyVisser

/me curses

Env: WordPress SVN /branches/2.1/ (revision 4958, version 2.1.2) - Apache2/PHP5/MySQL5/Ubuntu 6.06.1

option 'html_type' set to 'application/xhtml+xml'

03/06/07 05:36:19 changed by foolswisdom

  • description changed.

03/06/07 07:04:11 changed by JeremyVisser

Thanks, foolswisdom. I forgot about doing that.

03/06/07 07:04:42 changed by JeremyVisser

Ooh, hang on. How'd you do that again?

03/12/07 10:26:48 changed by markjaquith

He's a Trac admin.

03/27/07 02:54:51 changed by rob1n

What *exactly* is broken? I'm not sure if this is a problem with WP or the feeds themselves. Is this with Firefox? I assume it gives you that pasty orange screen of death about an XML parser error.

03/27/07 02:55:58 changed by rob1n

  • keywords set to reporter-feedback.

03/27/07 13:26:59 changed by JeremyVisser

I hate JavaScript?, and have virtually no clue on how to debug/diagnose the issue, so I'm not much help, but here's what I know:

Well, what happens is that the feeds simply don't show up on the Dashboard, as if JavaScript? is turned off. You get me so far? No JS errors that I can see. So, the Dev News feed shows up, but the Planet and Incoming Links feeds are invisible. You can't see 'em.

It doesn't give me a "pasty orange screen of death" as it's not a problem with the markup in the Dashboard, but a problem with the markup that's dynamically loaded or the method used to dynamically load them.

I apologise for the lack of information, but I'm really incompetent in this area.

Can I remove the reporter-feedback tag now?

03/27/07 19:42:09 changed by foolswisdom

  • keywords deleted.
  • milestone changed from 2.2 to 2.3.

08/14/07 02:33:08 changed by JeremyVisser

  • version changed from 2.1.2 to 2.3.
  • milestone changed from 2.3 (trunk) to 2.4 (future).

08/14/07 02:44:54 changed by DD32

Been brought up again, this time in #4746

After looking at the source code, theres only really 2 options:

1. serve the "ajax" data as text/html regardless of the get_option('html_type') setting 2. Modify the way the news is loaded, so that instead of HTML it returns a XML document or something.

The reason it only happens with one of the feeds is simply a fluke, They're all invalid documents being served as "application/xhtml+xml", Its just that 2 of the feeds manage to be parsed due to their simple nature, the planetnews feed result however includes <ul> which the XML parser gives up on.

Theres a XML Validator here: http://www.validome.org/xml/validate/ which will give the error messages of the feeds.

(NOTE: When i've refered to 'feed' in this message i've meant the ouput of index-extra.php, not the actual RSS feed that thats reading) D

08/14/07 03:16:03 changed by JeremyVisser

The underlying problem in this is that the innerHTML property is not properly supported in application/xhtml+xml. XHTML served as XML requires a strict document tree, not tag soup.

The only way I can see around this is by passing the feeds as perhaps JSON, and parsing and manually adding the XML nodes one-by-one in JavaScript?. That'd be painful.

Alternatively, we could have a filter or something that allows us to turn off the AJAX loading of the dashboard feeds and load them directly into the XHTML like we used to.

(follow-up: ↓ 14 ) 08/14/07 03:42:11 changed by JeremyVisser

Hmm, making index-extra.php serve as text/html doesn't fix it for me.

(in reply to: ↑ 13 ) 08/14/07 04:02:06 changed by DD32

Replying to JeremyVisser:

Hmm, making index-extra.php serve as text/html doesn't fix it for me.

Your right; Its choking on &raquo; remove that and it even works as application/xhtml+xml (Just logs a few error warnings)

It works fine if you use &#187; instead of &raquo; I guess that means &raquo; isnt defined in the default DTD which its being parsed as.

10/08/07 07:47:56 changed by JeremyVisser

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

No traction, and I don't think this is practical to fix. Better to transition to HTML 5 when it's out.

10/08/07 18:44:49 changed by foolswisdom

  • milestone deleted.