Page MenuHomePhabricator

Prevent blocked users from opening the DiscussionTools
Open, Needs TriagePublic

Description

Issues

  • People who are blocked are not made aware that they are blocked [and prevented from commenting] until attempting to publish the comment they just drafted using DiscussionTools. [i]
  • The message people who are blocked see does not describe why they are blocked and what they might be able to do to resolve/address the issue(s) that have led to them being blocked. [i]

Testing instructions

Scenario: person is blocked from editing

  1. Visit a talk page from an account that is blocked from editing.
  2. Notice [ reply ] link are: A) visible and B) appear as they normally do
  3. Click any [ reply ] link on the page
  4. Verify a modal dialog appears with error message similar to this (the exact wording will differ on different wikis):

Considerations

  • Block type: there are a variety of reasons that can cause someone to be blocked (partial block, sitewide block, global lock).
  • Blocky remedy: each block type can, potentially, be resolved differently.
  • Block messaging: there are different ways of delivering the message that informs people that: 1) They are blocked and prevented from commenting, 2) Why they are blocked, and 3) What action(s) they can take to appeal said block.

Open questions

  • What are all of the different reasons (read: "Block types") why someone could be blocked from commenting?
    • partial block, sitewide block, global lock; maybe others
  • How should people experience the message and call(s) to action for each "Block type" ?
    • For all of them: just do whatever visual/wikitext editor does, so that we don't have to handle all the special cases.

i. @matmarex spotted these issues in T270346:

save_failure_typesave_failure_messagecountNotes
responseUnknownblocked20User is blocked. Looks like we show the reply tool interface to blocked users, and only fail when they try posting (and the message lacks details). We should improve this.

Event Timeline

META

  • Updating task description with notes from the conversation @Esanders and I had this morning.

Change 674658 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] Check if you can edit the page before opening the tools

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

(see T276393 for more details and testing instructions)

Test wiki created on Patch Demo by ESanders (WMF) using patch(es) linked to this task:

https://patchdemo.wmflabs.org/wikis/1c60f714e1/w/

Test wiki on Patch Demo by ESanders (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/1c60f714e1/w/

Change 674658 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] Check if you can edit the page before opening the tools

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

Ryasmeen added a subscriber: Ryasmeen.

Need more info around expected behavior.

Need more info around expected behavior.

@matmarex can you please add testing instructions to the task description?

Testing instructions were written on T276393, it seems. Have you seen that, or are those unclear?

(I'll move them to this task, we should have done it that way in the first place, but most of the discussion about desired behavior happened on that task.)

Testing instructions were written on T276393, it seems. Have you seen that, or are those unclear?

(I'll move them to this task, we should have done it that way in the first place, but most of the discussion about desired behavior happened on that task.)

Thanks @matmarex! My question was more about the points mentioned under Considerations/Open questions section. Do I need to check this for different block types? If so, what are those types and what messages should I expect to see on the modal dialog for each type?

No, I don't think the difference matters in the end. As I understand, we were considering different treatments for different block types, but in end end we decided to just do whatever visual editor does (which in turn just does whatever the wikitext editor does), so all special cases are handled elsewhere and we just display the message.

The block types are partial block, sitewide block, global lock [sic, we call them locks for some reason] – and maybe others I'm not familiar with, but they'd be less common. If you test them, they'll probably result in different error messages, but I don't know what exactly they'll look like.

The block types are partial block, sitewide block, global lock [sic, we call them locks for some reason]

Global locks prevent a user from logging into their account, they're *lock*ed out, so you don't really have to test that as an error condition. However there are global *blocks* (from Extension:GlobalBlocking) that apply to IP addresses and users who are logged in over those IPs.