WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#3914 closed defect (bug) (wontfix)

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

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

comment:1 @JeremyVisser8 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'

comment:2 @foolswisdom8 years ago

  • Description modified (diff)

comment:3 @JeremyVisser8 years ago

Thanks, foolswisdom. I forgot about doing that.

comment:4 @JeremyVisser8 years ago

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

comment:5 @markjaquith8 years ago

He's a Trac admin.

comment:6 @rob1n8 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.

comment:7 @rob1n8 years ago

  • Keywords reporter-feedback added

comment:8 @JeremyVisser8 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?

comment:9 @foolswisdom8 years ago

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

comment:10 @JeremyVisser8 years ago

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

comment:11 @DD328 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: 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

comment:12 @JeremyVisser8 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.

comment:13 follow-up: @JeremyVisser8 years ago

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

comment:14 in reply to: ↑ 13 @DD328 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.

comment:15 @JeremyVisser8 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.

comment:16 @foolswisdom8 years ago

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