Page MenuHomePhabricator

Child comments inherit indentation from end of parent comment
Closed, ResolvedPublic

Description

As see on here on nl.wiki: https://w.wiki/RDW

Replying to a comment indented with a bullet point results in the reply also being i.dented with a bullet point.

This behaviour is fairly common and considered "correct" on ru.wiki, but on other wikis they may expect plain indentation.

* Comment ~~~~
*: Expected reply indentation. ~~~~
* Comment ~~~~
** Actual reply indentation. ~~~~

Note: when closing this ticket out, ping Eniport and Daehan

Event Timeline

During today's team meeting we determined to implement the behavior this ticket is describing, we would need to change the Reply tool in the following way(s):

  • The Reply tool will no longer "inherit" the indentation syntax used in the parent comment.
  • Instead, the Reply tool will always assume : is the proper indentation syntax.

Doing the above will mean that when the tool is deployed to a wiki that does not use : for its indentation syntax (e.g. ru.wikipedia which uses *) we will need to add a configuration that allows the tool's default indentation syntax to be customized on a per-wiki-basis.

That work will happen in this task: @ppelberg to create task.

Note that indentation style can change on a per-page or per-section basis. * or # is common for voting-style discussions.

@ppelberg , I tested on French Wikipedia (after your ping on T250127): the solution of having a : in both cases seems to work everytime :)

Note that indentation style can change on a per-page or per-section basis. * or # is common for voting-style discussions.

If we are to support these in the future (they did come up in the consultation) we will probably need extra syntax on the page to identify these voting-style discussions programmatically. Consequently I don't think we need to be concerned about that for this version of the tool.

During today's team meeting we determined to implement the behavior this ticket is describing, we would need to change the Reply tool in the following way(s):

  • The Reply tool will no longer "inherit" the indentation syntax used in the parent comment.
  • Instead, the Reply tool will always assume : is the proper indentation syntax.

The issue in this ticket is that we are inheriting the indentation from the *end* of the comment, not the *start*. Always using ':' is a different task (as you say, to be filed).

Esanders renamed this task from Child comments inherit bullet point from parent comments to Child comments inherit indentation from end of parent comment.May 19 2020, 8:00 PM

I've updated the task to show the issue. The "always use ':'" task is this one:

* Comment. ~~~~
** Actual reply. ~~~~
* Comment. ~~~~
*: Expected reply. ~~~~

Each of the three diffs provided in the original description have the same symptom (bullet list when not expected) but are different bugs:

  1. https://w.wiki/QkZ
  2. https://w.wiki/RCA
  3. https://w.wiki/RDW
  1. This is the mixed indentation issue. @matmarex pointed out that we already have an issue for that: T252702
  2. This is a different issue completely: replying to numbered lists gives a bullet list. Filed as T253314.
  3. This is the issue this task was originally described as ("Child comments inherit bullet point from parent comments"). As we already have a task for (1), we can revert this ticket to be about that case, and update the description to remove the references to the other issues.

Hello @Esanders , you may say T253314 is a "different issue completely", but the solution of having always : as an indentation syntax for * will also work for #.

Yeah, I mentioned in the description of T253314 that "fixing" this task would make that task redundant. However we could also fix that task independently of this one.

@Graham87, would you ask the https://meta.wikimedia.org/wiki/WikiBlind_User_Group members if one of those "indentation" options is less-bad than the others? The question at hand is about a discussion that is already using an unordered bullet list (with * for the wikitext), and I want to add a reply to that list item. Is it better from your perspective to for me to add my comment with **, with *:, or does it not make any difference?

Change 618399 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] Always use ':' (<dl><dd>) for indentation of replies

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

Change 618399 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] Always use ':' (<dl><dd>) for indentation of replies

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

Editing Engineering: when reviewing the patch above, please do not +2 it as it being merged is blocked on me commenting the approach for us to go with.

(@matmarex: I told you I would do the above before today was over; it didn't happen. I will make sure it's done this week.)

(@matmarex: I told you I would do the above before today was over; it didn't happen. I will make sure it's done this week.)

Decision
Let's merge what Change 618399 implements: changing the Reply Tool such that it will always assume : is the proper indentation syntax.

Rationale

  • Many of the Wikipedias where the Reply Tool is currently deployed share explicit guidance about what syntax ought to be used to indent comments posted in talk page discussions [iii]
  • Doing the above will likely resolve the issues reported in this task description and in doing so, make conversations easier for people to read/understand for the formatting will not "bleed" between them.

Considerations

  1. As @Tgr alluded to in T252708#6135131, if the Reply Tool does not inherit the syntax people are writing in the conversation where the tool is being used, the tool will be less useful in non-commenting contexts (e.g. votes/polls).
    • We accept this tradeoff because the Reply Tool being useful in voting contexts depends on more than indentation syntax, it depends on the software's ability to programmatically detect votes. See "2." for details.
  2. As @Esanders mentioned in T252708#6149739, there seems to be demand for and value in offering a Reply Tool-like experience for conducting polls [i]; however, it would be difficult for the software to reliably detect them [ii] without explicit syntax.
    • As such, we will consider the polls/voting to be a distinct use case. If/when support for this use case is prioritized, work on it will happen in this ticket: T259865
  3. As mentioned in T252708#6134747, implementing Change 618399 will mean that when the tool is deployed to a wiki that does not use : for its indentation syntax (e.g. ru.wikipedia which uses *) we will need to add a configuration that allows the tool's default indentation syntax to be customized on a per-wiki-basis.
    • That work will happen in this task: T259864

i.

It would be useful if it were: Easier to conduct polls, which would be easier to respond to than today: no need to edit with multiple page loads that take time, but instead with buttons to Support or Oppose Oppose. Also, one could consider having registered contributors vote anonymously, and having the results displayed automatically ("X, Y and Z took part in the vote, resulting in 2 to 1 against."). — Akela NDE, French Wikipedia via Talk_pages_consultation_2019/Phase_1_report#Workflows

ii. Without analyzing the contents of a comment, it is difficult to know whether an unindented comment is the beginning of a conversation or the start of a vote considering there are a few syntactical differences between the comments that starts votes and comments that start conversations. Compare the following:

Start of a vote

;Unterstützer
Die Unterstützer sind mitverantwortlich dafür, dass dieses Meinungsbild nur startet, wenn es zur Abstimmung geeignet ist. Bitte trage dich deshalb erst ein, wenn das Meinungsbild startbereit und auch grundsätzlich sinnvoll ist. Solltest du das Meinungsbild unterstützen wollen, es aber noch unfertig vorfinden, beteilige dich stattdessen an der Fertigstellung, bevor du dich einträgst. Falls du feststellen solltest, dass du dich bereits vor Ausformulierung des Meinungsbildes eingetragen hast, solltest du deinen Eintrag hier zurückziehen. Nach Start des Meinungsbildes ändern Ein- oder Austragungen nichts mehr an der Gültigkeit des Meinungsbildes. Die Unterstützung ist unabhängig von der Befürwortung oder Ablehnung der Fragen im inhaltlichen Teil des Meinungsbildes. (mind. 10 stimmberechtigte Unterstützer erforderlich; [{{fullurl:toollabs:stimmberechtigung/}} Unterstützer-Stimmberechtigung überprüfen]) | source

1) The purpose of Wikipedia is to create a high-quality, free-content encyclopedia in an atmosphere of camaraderie and mutual respect among contributors. Contributors whose actions are detrimental to that goal may be asked to refrain from them, even when these actions are undertaken in good faith; and good faith actions, where disruptive, may still result in sanctions. | source

Start of a conversation

I tried to comment following the instructions. First time I tried to save, the message just disappeared. Second attempt the system humg up and I had to close the tab to get out. Firefox/windows 10 desctop. Logged out. [[User:NAME|NAME]] ([[User NAME|talk]]) 11:14, 20 January 2020 (UTC)

Following [[Wikipedia:Bot_requests#DYKN_image_resize_bot|this request]] at [[WP:BOTREQ]], I've made [[Template:DYK image]]. It's similar to [[Template:Main page image]], except it calculates the width automatically based off the dimensions of the supplied image (using a module), so it doesn't need to be manually supplied. Might prevent errors / forgetting to add the width. Feel free to use if it might help. Other than that, thanks for the great work you all do at DYK :) [[User:ProcrastinatingReader|ProcrastinatingReader]] ([[User talk:ProcrastinatingReader|talk]]) 10:23, 20 July 2020 (UTC) | source

iii.

Change 618399 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] Always use ':' (<dl><dd>) for indentation of replies

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

(no manual QA required, because this is covered by unit tests)

Adding two examples @Levivich encountered and shared in the conversation happening at WT:Talk pages project#Experiences:

  1. https://w.wiki/32bu (indented at level : (unexpected) instead of level ::: (expected))
  2. https://w.wiki/32bv (indented at level ::: (unexpected) instead of level :::: (expected))