Make WordPress Core

Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#3914 closed defect (bug) (wontfix)

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

Reported by: jeremyvisser's profile JeremyVisser Owned by:
Milestone: Priority: normal
Severity: minor Version: 2.3
Component: Administration Keywords:
Focuses: 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 (16)

#1 @JeremyVisser
17 years ago

/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'

#2 @foolswisdom
17 years ago

  • Description modified (diff)

#3 @JeremyVisser
17 years ago

Thanks, foolswisdom. I forgot about doing that.

#4 @JeremyVisser
17 years ago

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

#5 @markjaquith
17 years ago

He's a Trac admin.

#6 @rob1n
17 years ago

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.

#7 @rob1n
17 years ago

  • Keywords reporter-feedback added

#8 @JeremyVisser
17 years ago

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?

#9 @foolswisdom
17 years ago

  • Keywords reporter-feedback removed
  • Milestone changed from 2.2 to 2.3

#10 @JeremyVisser
17 years ago

  • Milestone changed from 2.3 (trunk) to 2.4 (future)
  • Version changed from 2.1.2 to 2.3

#11 @DD32
17 years ago

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: 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)

#12 @JeremyVisser
17 years ago

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.

#13 follow-up: @JeremyVisser
17 years ago

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

#14 in reply to: ↑ 13 @DD32
17 years ago

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.

#15 @JeremyVisser
17 years ago

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

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

#16 @foolswisdom
17 years ago

  • Milestone 2.4 deleted
Note: See TracTickets for help on using tickets.