Page MenuHomePhabricator

Non-existent talk page archives should not have "start a discussion" button
Closed, ResolvedPublicBUG REPORT

Description

On English Wikipedia, and likely elsewhere, old discussions on talk pages are moved to a subpage of the talk page, often automatically by bots. Such pages are an archive of closed discussions and should not be edited to open new threads or reply to old ones. These pages are generally of the format "Talk:<pagename>/Archive <n>". Opening a page of this form that does not yet have any archives (ie, a non-existent page) will present the user with a "start a discussion" button. This is an error since it is encouraging the user to do something that is against protocol and convention.

List of steps to reproduce (step by step, including full links if applicable):

What happens?:
Observe that the "start a discussion" button is present. On a page with archives actually present such as https://en.wikipedia.org/wiki/Talk:Black_box/Archive_1 there is no button.

What should have happened instead?:
There should be no invitation to start a discussion. Ideally, there should be a message similar to the one on https://en.wikipedia.org/wiki/Template:Automatic_archive_navigator which is used on existential archive pages.

Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc.:
Firefox 101.0.1, Monobook skin (also tried default skin logged out), Windows 10 v.21H1

Event Timeline

Tacsipacsi subscribed.

MediaWiki itself doesn’t have a notion of “archives”. Archive header templates ({{Automatic archive navigator}} in this case) usually include __NONEWSECTIONLINK__ to disable the new topic links, but it’s of course impossible on non-existent pages. And there are a number of other pages that usually shouldn’t contain discussions (e.g. is Talk:Black box/Foo more likely to contain meaningful discussions?), but the question is how a random user would get to these pages in the first place—there’s no link, and it’s quite unlikely that someone puts exactly this in the search field.

(Explanation of the added projects: the Start a discussion button is added by DiscussionTools, but its presence should match whether there’s a New section tab at the top, which, in turn, is added by MediaWiki core.)

Esanders subscribed.

Agreed. Navigating to a non-existent archive page is certainly an edge case limited to fairly experienced users, who are unlikely to be confused by the "Start a new discussion" prompt, just as they are already ignoring the "Add topic" button. Also as @Tacsipacsi points out, determining what an archive page is (or will be) is non-trivial, and varies by language and wiki.

Esanders renamed this task from Talk page archives should not have "start a discussion" button to Non-existent talk page archives should not have "start a discussion" button.Jul 7 2022, 4:24 PM

This doesn't seem like a bug as there is nothing special about one subpage vs another. That a talk page is a subpage of another page isn't enough of a discriminator for the example in this use case.

Possibly this could be a feature request to implement some sort of new topic pagetitle blacklist (e.g. MediaWiki:Newtopic title blacklist) that could be queried to not run the newtopic tool on if there is a regex match. Then a project could put a regex to match /[A|a]rchive* (not actual regex, illustrative).

The other use case in the description "should not be edited to open new threads" is something that probably can be addressed and is open in T249293

Agreed. Navigating to a non-existent archive page is certainly an edge case limited to fairly experienced users, who are unlikely to be confused by the "Start a new discussion" prompt, just as they are already ignoring the "Add topic" button. Also as @Tacsipacsi points out, determining what an archive page is (or will be) is non-trivial, and varies by language and wiki.

The fact that this has been reported at Village Pump by an experienced user (https://xtools.wmflabs.org/ec/en.Wikipedia/Nimbus227) who was clearly confused shows that is not true.

I would think that having "archive" in the talk subpage name would identify virtually all cases in English. I can't think of a single (real) example that would be problematic. I don't know about other languages, but those that do use archive pages probably have a simple translation that can be used.

@Spinningspark based on your last note, would you agree this is a request for new functionality to be designed and implemented (a feature request) and not a malfunction of the existing system (a bug)?

@Spinningspark based on your last note, would you agree this is a request for new functionality to be designed and implemented (a feature request) and not a malfunction of the existing system (a bug)?

I'm not going to take a position on that. I view it as a bug, but I can see why coders will say it is working as intended. It's a new feature and how the community view "working as intended" can often be radically different to what it says in the feature specification document.

Maybe a UX "bug", certainly doesn't seem like a technical bug.

In any case, with a look forward:
Is what you are asking for along this line:


IF

(
 (Someone attempts to create a new page from a redlink <e.g. follows a link with &action=edit&redlink=1>)
 AND
 (The namespace is one where New Topic tool runs)
 AND
 (The new page title matches a certain string)
)

THEN

Do not open the New Topic tool

Possibly regardless of how they are starting the new page (i.e. not necessarily also requiring &redlink=1, just if it is a new page creation) ?

Yes and yes. &action=edit isn't needed either. https://en.wikipedia.org/w/index.php?title=Talk:Black_box/Archive_3 is enough alone to generate the "start a discussion" process. It's perfectly possible that a user could be navigating through the archives by directly changing the last character in the browser url box. Not all archive pages have navigation templates, especially the older ones.

Thanks, sounds like this will need a blacklist as the "certain string" would vary by project (and could support multiple strings)

I think this is just a special case of T288319. If we don't show the message on talk pages whose subject page doesn't exist, that will naturally also handle the archive pages (since their "subject page" never exists, only the subject of their root page). This way no one will have to maintain a list of patterns for every language.

Change 820812 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@master] Don't display the empty state if the subject page or user doesn't exist

https://gerrit.wikimedia.org/r/820812

Change 820812 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Don't display the empty state if the subject page or user doesn't exist

https://gerrit.wikimedia.org/r/820812