44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
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]]
|