#3914 closed defect (bug) (wontfix)
Two feeds on Dashboard don't work with application/xhtml+xml
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| 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 (16)
comment:1
JeremyVisser — 6 years ago
comment:2
foolswisdom — 6 years ago
- Description modified (diff)
comment:3
JeremyVisser — 6 years ago
Thanks, foolswisdom. I forgot about doing that.
comment:4
JeremyVisser — 6 years ago
Ooh, hang on. How'd you do that again?
comment:5
markjaquith — 6 years ago
He's a Trac admin.
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:8
JeremyVisser — 6 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
foolswisdom — 6 years ago
- Keywords reporter-feedback removed
- Milestone changed from 2.2 to 2.3
comment:10
JeremyVisser — 6 years ago
- Milestone changed from 2.3 (trunk) to 2.4 (future)
- Version changed from 2.1.2 to 2.3
comment:11
DD32 — 6 years ago
Been brought up again, this time in #4746
After looking at the source code, theres only really 2 options:
- serve the "ajax" data as text/html regardless of the get_option('html_type') setting
- 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
JeremyVisser — 6 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:
↓ 14
JeremyVisser — 6 years ago
Hmm, making index-extra.php serve as text/html doesn't fix it for me.
comment:14
in reply to:
↑ 13
DD32 — 6 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 » remove that and it even works as application/xhtml+xml (Just logs a few error warnings)
It works fine if you use » instead of » I guess that means » isnt defined in the default DTD which its being parsed as.
comment:15
JeremyVisser — 6 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
foolswisdom — 6 years ago
- Milestone 2.4 deleted

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