Changes to comments result in notifyemail sending emails with broken urls like "http://whatever/foo/comment_1_10a49d69282155c5c3e66dc58f64f956/"
notifyemail uses meta permalink if set, so it must not be set for comment pages.
In the comments plugin, there's this code, which is supposed to set permalink:
if ($params{page} =~ m/\/\Q$config{comments_pagename}\E\d+_/) {
$pagestate{$page}{meta}{permalink} = urlto(IkiWiki::dirname($params{page})).
"#".page_to_id($params{page});
}
comments_pagename
is comment_
so the above code needs a comment page to contain
two underscores. I think that is the root of the bug. --Joey
Removed the trailing underscore in the regexp, so it should be fixed, though I have not tested the fix. Leaving this bug open until it's confirmed fixed. (I deployed it to branchable.)
This will only fix the stored permalink metadata for a comment when its get preprocessed again, not immediately. That's ok for notifyemail, but other uses of permalink might need a wiki rebuild to get the bug fix. --Joey
I'm not sure that I see how the regexp was wrong? It's looking for, for example,
foo/comment_1_eaab671848ee6129f6fe9399474eeac0._comment sccccccccdu
where
- s marks the literal
/
- cccc marks
comments_pagename
- d marks
\d+
(one or more digits)- u marks the literal
_
The old regexp would have failed for the older format
foo/comment_1._comment
, though.--smcv