Page MenuHomePhabricator

[SPIKE] Document the changes IP Masking will require the Editing Team to make
Closed, ResolvedPublic

Description

This task represents the work with identifying the known changes the Editing Team will need to consider making in order to ensure that the experiences they are responsible for will continue to work in the ways people have come to expect after IP Masking changes are deployed.

Interface Message Inventory

Interfaces

The list of interfaces that A) the Editing Team is responsible for and B) is likely to be impacted by the IP Masking work:

  • CodeEditor
  • ConfirmEdit
  • DiscussionTools
  • TemplateData
  • VisualEditor
  • WikiEditor
NOTE: the list above may not be exhaustive. It's borrowed from T326759.

Implementation plan

@ppelberg to document once finalized.

Done

  • The Interface Message Inventory section contains a list of the places within the Interfaces the Editing Team is responsible for where messages/functionality is displayed depending on a person's account state (read: whether they are logged in or out).
  • How – if at all – will we adjust the interfaces to cope with the new "temporary account" state the IP Masking is introducing

Event Timeline

Note: It isn't clear to me whether temp users are supposed to be able to save preferences and receive notifications. For preferences, the API works for them, but the special page doesn't display. For notifications, everything works (including mentions), but the only skin that displays notification for them is the new Vector. I marked some items below with ?! when the resolution of this would affect them. We'll need to work out first (with AHT team and whoever else is interested) how these features are supposed to work.

CodeEditor

  • ?! Don't try to save preferences for temp users, if they can't have them (trivial)

ConfirmEdit

  • Temp users have the same CAPTCHA requirements as normal users. This might allow bypassing CAPTCHA for actions that require it if it's possible to create a temp user account by performing some action that doesn't require it, so it should probably be changed to use the same requirements as logged out users, unless specified otherwise in the config.
  • Some throttle for login attempts treats logged in and logged out users differently, not sure what should be done there.

DiscussionTools

  • Update messages about revealing your IP address in the tools
  • Correct signature in the preview when a temp user would be created
  • New empty state messages are needed for temp user talk pages
  • ?! Temp users probably shouldn't be listed in the mention dropdown, if they can't receive notifications
  • ?! Temp users shouldn't see a link to change their preferences, if they can't have them
  • New topic tool doesn't seem to work for temp users, investigate
  • Topic subscriptions should be consistently unavailable for temp users
  • Changes to EditAttemptStep and other schemas and logging to support temp users – large parts of this code are duplicated in the three extensions, this might be a good opportunity to centralize it in WikimediaEvents

TemplateData

  • Changes to TemplateDataEditor schema and logging to support temp users (trivial)

VisualEditor

  • ?! Don't try to save preferences for temp users, if they can't have them – use cookies or local storage instead where applicable, like for logged out users
  • Update code using VisualEditorDisableForAnons config option – this might be a good opportunity to reach out to the wikis using it (enwiki, eswiki, zhwiki) and figure out if it's still needed. The option doesn't actually disable the editor, but it affects edit tabs and the default editor.
  • Update code that deals with refreshing session info when the user logs in / log out in another tab while editing, to also handle transitioning to/from a temp user account
  • Update messages about revealing your IP address in edit notices – this might be a good opportunity to centralize our edit notice code with MediaWiki core
  • Correct signature in the preview when a temp user would be created (VE, NWE)
  • Changes to EditAttemptStep and other schemas and logging to support temp users – large parts of this code are duplicated in the three extensions, this might be a good opportunity to centralize it in WikimediaEvents

WikiEditor

  • Changes to EditAttemptStep and other schemas and logging to support temp users – large parts of this code are duplicated in the three extensions, this might be a good opportunity to centralize it in WikimediaEvents

I think that's about it!

Next steps

  • Open question: for the purposes of deciding whether to require someone to complete a Captcha in the process of publishing an edit, we first need to decide whether we conceptually consider temporary accounts to behave as logged out accounts do or logged in accounts do? Note: if we were to decide to have them behave like logged out accounts this would technically be an exception to what is currently being proposed.

(I'm moving this to Blocked / Needs More Work until after we meet with AHT Team tomorrow)

Next steps

  • Open question: for the purposes of deciding whether to require someone to complete a Captcha in the process of publishing an edit, we first need to decide whether we conceptually consider temporary accounts to behave as logged out accounts do or logged in accounts do? Note: if we were to decide to have them behave like logged out accounts this would technically be an exception to what is currently being proposed.

Some additional action items that surfaced during today's (22 Feb) meeting with AHT:

  • Editing needs to figure out the work required with enabling temporary accounts to set hidden preferences in service of Wikipedia "remembering" things like the last editing interface they used to edit

I realized that MobileFrontend's mobile wikitext editor is probably also in our scope.

  • Update messages about revealing your IP address
  • Correct signature in the preview when a temp user would be created
  • Changes to EditAttemptStep and other schemas and logging to support temp users