The root cause of the problem is the logic in Util.pm::discover_tb. This is the subroutine that scans the retrieved page for of the trackback target URL. Unless the find_all flag is set (which it is not for autodiscovery, see Entry.pm::discover_tb_from_entry::446) then the first matching RDF data is used. However, the RDF data is matched on both the full URL and the URL with the anchor stripped (line Util.pm::1002). Of course, every URL in the weekly archive has the same base URL (the URL for the weekly archive page), the only difference being the anchor.
For a concrete example, consider the post at
CODE
http://junkyardblog.net/archives/week_2006_01_01.html#005204
The archive page URL isCODE
http://junkyardblog.net/archives/week_2006_01_01.html
The permalink for every post in this week has that as the base URL, differing only in the anchor. In the RDF checks in discover_tb(), the variables url_no_host and perm_url_no_host will both contain the URL fragmentCODE
archives/week_2006_01_01.html
for every RDF descriptor on the page. Therefore the logic will match the first post on the page every time.Obviously, even if 6A fixed this problem (and I can provide code to do that, if 6A would be interested), I would still have a problem because I would need the other weblogs to upgrade and that's not going to happen anytime soon. I would like to change the way the RDF is set up as a workaround, but I don't see how to do that without some external support (such as MOD_REWRITE). Any hints or suggestions would be appreciated.