Page MenuHomePhabricator

Increase maximum duration for IP auto-reveal to 3 months
Open, HighPublic

Description

Background

The IP auto-reveal feature lets certain trusted users enable a mode where temporary account IP addresses are displayed by default next to their name (in most places where the user name is displayed). This is to aid patrolling work once temporary accounts are rolled out.

Currently to enable the mode, the user clicks a tool link, then is asked to choose an expiry time (1 hour or 30 minutes), but we have heard feedback that this adds too much extra work for patrollers on wikis with a high volume of edits.

Increase the maximum duration to 3 months, and add an option for this in the auto-reveal dialog.

Acceptance criteria
  • The maximum allowed duration for IP auto-reveal is 3 months
  • The options to choose from in the dialog that appears when switching on auto-reveal are: 1 hour; 1 day; 3 months

Event Timeline

Change #1195559 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Make maximum expiry time configurable

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

Change #1195560 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Increase default maximum expiry to 3 months

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

Change #1195645 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Add longer expiry options

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

Moving to code review for the first 2 patches, but I have a specification question too.

@KColeman-WMF How should we display the expiry time on the dialog that appears when switching off auto-reveal, now that it can be longer than 1 day? Here's how it currently appears:

image.png (297×559 px, 30 KB)

(meaning 89 days, 23 hours, etc)

@Tchanders I explored a few approaches for displaying the timer.

auto-reveal-timer-ux-14Oct.png (1×2 px, 111 KB)

The consensus on the team is to go for option 1:

Time remainingExample copy
Less than 1 day remaining0 days, 23:59:59
More than 1 day remaining89 days, 23:59:15

Change #1195559 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Make maximum expiry time configurable

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

Change #1195560 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Increase default maximum expiry to 3 months

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

Change #1196728 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IPAutoRevealOffDialog: Show maximum duration in error message

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

Change #1196728 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IPAutoRevealOffDialog: Show maximum duration in error message

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

Change #1195645 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Add longer expiry options

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

@Tchanders I am finding that occasionally the request to action=globalpreferences isn't being sent. I am not sure how to reproduce it reliably. I am seeing it locally and on testwiki.

Thanks @dom_walden . This is the same as the expiry issue found in T407257#11298877 - I'll push a fix.

Change #1198511 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Ensure maximum expiry is respected

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

Change #1198511 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Ensure maximum expiry is respected

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

Change #1198520 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Wait for success before updating UI on state change

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

I don't know if this matters, but when opening the dialog with auto-reveal off, I see this warning in the console:

[Vue warn]: There is already an app instance mounted on the host container.
If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.

When opening with auto-reveal on, I see the above message and also:

[Vue warn]: Invalid prop: type check failed for prop "expiryTimestamp". Expected String with value "1769090193", got Number with value 1769090193.

[Vue warn]: There is already an app instance mounted on the host container.

Per our convo, looks like this was already happening and isn't causing any problems.

[Vue warn]: Invalid prop: type check failed for prop "expiryTimestamp". Expected String with value "1769090193", got Number with value 1769090193.

Fixed with I20d370c2ecfdab69551b290ee9392b3bb9cbce0c

Change #1198520 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] IP auto-reveal: Wait for success before updating UI on state change

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

I have retested after patches T407222#11305681, T407222#11312565 and 1198554.

I have yet to see the bug in T407222#11303009.

The second warning message in T407222#11306241 no longer appears.

There are some bugs/improvements to the error handling, but nothing that I think should block the deployment (T408521, T408526, T408528 and T408539). There is also T408534.