Help:DiscussionTools/Why can't I reply to this comment?
Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. |
Discussion pages have no limits on the available formatting. While DiscussionTools is able to recognize comments in most cases, there are some situations where it's ambiguous or impossible to tell whether some fragment of the page is a comment, or where the reply to it should be added. Whenever the correct behavior isn't clear, the tool will not allow replying rather than guess and potentially further mess up the page.
This page documents some of the errors you might encounter, their causes and solutions.
No "reply" link appears
This occurs when the signature for a given comment could not be detected.
Replying is disabled
Replying can be disabled in archived discussions using __ARCHIVEDTALK__
or <div class="mw-archivedtalk">…</div>
, as described at Help:DiscussionTools/Magic words and markup .
Unsigned comment
This may be obvious, but just for completeness. If there is a comment that has no signature, it won't be detected. Discussion pages may contains content other than comments (e.g. various header templates), which can't be reliably distinguished from unsigned comments, and adding reply links to it would be unexpected.
If someone else already replied to that comment manually, their reply and the original unsigned comment will be treated as a single multi-line comment, possibly leading to unexpected behavior.
No date and time
If a signature is missing the date and time, the comment also won't be detected. Such signatures can't be reliably distinguished from user mentions, and adding reply links to them would often be unexpected.
The most common cause of this is someone adding a signature to an unsigned comment, but not adding the date and time when doing it.
Templates like {{Unsigned}}
often have a separate parameter, where you can copy the date and time from the page history.
Unrecognized namespace
The Reply tool is available in most of the namespaces that are used for discussions, but not in all namespaces.
When this is the problem, you will be looking at a page that does not have "talk" in its namespace (e.g., Wikipedia:Village pump
), and you will not see the "reply" link anywhere on the page.
Usually, it follows your wiki's configuration for the Signature tool in the full-page editor.
In particular, it may not be available in the Project:
namespace.
It can be enabled in any reasonable namespace.
If you need it to work in a different namespace, then ask the Editing team for help.
Ambiguous "unsigned" templates
When a template is used to sign an unsigned comment, the template must output the following:
- A link to a user's user page, talk page or contributions page
- A date and time (a "timestamp"), in the same format as in signatures, including the timezone in parentheses
- The user page, talk page or contributions page link must be before the date and time (like in normal signatures)
Non-standard date or time format
If someone signs their comments with a different date or time format than the default for the wiki, their comments won't be detected.
Sometimes editors may accidentally edit another signature when adding their comments manually, breaking the format.
Another common case is a signature added to an unsigned comment without the timezone indicator (e.g. "(UTC)"), or with a different timezone than the wiki uses.
No link to the user page
Signatures must include a link to the user page, talk page or contributions of a user.
The "reply" link cannot be used to reply to this comment
You'll see this error message when the comment appears to be transcluded from another page, but the tool can't determine from which page, and therefore can't determine where to add your reply. This can be caused by:
Accidental complex transclusion
Parsoid transclusions must be well-formed HTML fragments. When the wikitext of a transcluded page doesn't generate well-formed HTML (e.g. has unclosed tags, or it generates a table row without a table), the transclusion will be extended to cover wikitext belonging to the transcluding page (or other transcluded pages).
For example, if a subpage transcluded earlier on the page has an unclosed <div>
tag, all following transcluded subpages will be marked as part of the same transclusion, until the tag is closed (or until the end of the page).
DiscussionTools only supports following simple transclusions (which consist of exactly one transcluded page, and which don't leak to surrounding wikitext).
You can often debug this by opening the page for editing in visual editor (even if visual editor is disabled in that namespace, you can do it by adding ?veaction=edit
to the URL), clicking in the offending fragment of the page, and looking at the "sidebar" in the template dialog to see if it includes more than one page or "Content" transclusions.
TemplateStyles
A common cause of the above is templates using TemplateStyles.
When a template begins with a <templatestyles …>
wikitext tag, and it is used at the end of a paragraph (or similarly, if it ends with the tag and is used at the beginning of a paragraph), the generated <style>
HTML tag can be placed inside the <p>...</p>
HTML tags corresponding to the paragraph, while the rest of the template contents are placed outside of it.
The transclusion is then extended to cover the whole paragraph, preventing the reply tool from being used to respond to such comments.
You can fix this by moving the <templatestyles>...</templatestyles>
wikitext tag inside of the markup generated by a template – e.g., if it generates a <div>…</div>
tag, move it after the opening <div>
; if it generates a table using {| … |}
, move it inside of a table cell (take care not to place it directly after the table markup, as that causes other issues).
Wrapper templates
When a fragment of a discussion is wrapped in templates like e.g. {{Discussion top}}
+{{Discussion bottom}}
, the wrapped comments can't be replied to.
DiscussionTools relies on Parsoid to add replies into the HTML document, but contents of transclusions are only editable as wikitext.
Usually wrapper templates are used to archive or end a discussion, so it's rarely a problem that you can't reply to these comments. If someone adds a wrapper template to a comment while you are replying to that comment, you will see an error message and will not be able to post your reply with DiscussionTools.
Sometimes an entire page may be wrapped in a template to add a decorative frame or background. In these cases, plain HTML syntax may be used instead.
Comments in template arguments
Comment which appears in template arguments, for example {{Vyznamenat/oznam|text=Hello. ~~~~}}
, can not be replied to.
Nested transclusion or parser function syntax
When a discussion page has separate subpages for e.g. each month, dynamic transclusions depending on the current date are often used to only transclude the latest few subpages, without the need to manually archive them.
When the subpage transclusion is inside a parser function like {{#ifexpr:
, DiscussionTools can only see the parser function, and can't determine which page is transcluded within it.
You can fix it by putting the conditional parser functions inside the transclusion syntax instead. See example.
Could not find the comment you're replying to on the page
Usually this error message indicates that someone else removed the comment from the page while you were reading it. It might have been reverted, archived, moved to another discussion page, or the signature might have been changed (e.g. if someone commented while logged out and then corrected the username, or if they expanded their comment and signed it again).
If you can still see the comment after refreshing and purging the page, and you still receive this error, it might indicate a bug in Parsoid causing it to render the page differently from the PHP parser (DiscussionTools uses Parsoid internally to add new comments). Please file a task!
Comments on this page can't be replied to because of an error in the wikitext
You'll see this error message when there is a lint error on the page caused by fostered content.
A common cause of this is content or markup placed directly after a table start {|
or a table row start |-
, rather than inside a table cell.Editing these pages using tools that rely on Parsoid, such as DiscussionTools or VisualEditor, can cause the content to be corrupted (large fragments of the page become duplicated).
To resolve this, you can fix the lint error in the wikitext editor. The error message includes some links that hopefully are helpful.