Page MenuHomePhabricator

Opt-in is automatically enabling users who previously had the "Automatically enable all new beta features" checked
Closed, ResolvedPublic

Description

One report on IRC, and a confirmation using my "Quiddity" account.

I did not have Flow enabled this morning. I did have the userpreference for "Automatically enable all new beta features" checked. I visited Special:Preferences, and immediately my talkpage was converted.
(I did not change or save anything. Just visited Special:Preferences. Possibly related to T64815: BetaFeatures: "Automatically enable ..." should actually automatically enable, not require visiting Special:Preferences.)

I cannot reproduce this with a new test account, but it is probably reproducible with pre-existing accounts that have "Automatically enable all new beta features" enabled.

Event Timeline

Quiddity raised the priority of this task from to Unbreak Now!.
Quiddity updated the task description. (Show Details)
Quiddity subscribed.

I can reproduce it locally very easily. Here are the steps:

  1. Make sure $wgFlowEnableOptInBetaFeature = false;
  2. Create a new user
  3. Check "Automatically enable all new beta features" in it's preferences
  4. Set $wgFlowEnableOptInBetaFeature = true;
  5. Go to Special:Preferences
  6. Go to it's talk page -> it is a Flow board

Unfortunately, I don't see a simple way to opt-out of the auto-enroll-all by looking at the BetaFeatures code, and the possibility to opt-out was assumed but doesn't seem to have been confirmed or challenged in the original ticket T98270: Opt-in for Flow on your own user talk page.

Change 242714 had a related patch set uploaded (by Sbisson):
[WIP] Allow preferences to be exempted from auto-enroll

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

Change 242715 had a related patch set uploaded (by Sbisson):
[WIP] Disable auto-enroll for opt-in beta feature

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

Scenario for testing after the fix(the issue was confirmed in betalabs for ET20 user):

  1. Find a user that has wikitext talk page but does not have 'Automatically enable all new beta features' enabled.

2.Click ' Automatically enable all new beta features' - go to User Talk to confirm that it's not converted.

Note(helpful query)

SELECT up_user,  GROUP_CONCAT(up_property), up_value  
FROM user_properties  where up_property in ('beta-feature-flow-user-talk-page', 'betafeatures-auto-enroll' )  GROUP BY up_user;

Change 242714 merged by jenkins-bot:
Allow preferences to be exempted from auto-enroll

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

Change 242715 merged by jenkins-bot:
Disable auto-enroll for opt-in beta feature

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

Checked in betalabs - including for possible co-dependency upon opting-out between switches 'Automatically enable all new beta features' and 'Flow on user talk'.

However, the fix does not work retroactively - users who already had Flow User talk page incorrectly enabled due to enabling
'Automatically enable all new beta features' option, cannot return to their previous wikitext User talk page even after disabling 'Automatically enable all new beta features' .

You may check for user ET20 (will try to keep user settings intact): both settings for all Beta features and Flow page are disabled, but User talk page is still Flow-enabled:

[enwiki]> select * from user_properties where up_user=6916;
+---------+----------------------------------+----------+
| up_user | up_property                      | up_value |
+---------+----------------------------------+----------+
|    6916 | beta-feature-flow-user-talk-page | 0        |
|    6916 | cx                               | 0        |
|    6916 | timecorrection                   | Offset|0 |
|    6916 | uls-compact-links                | 0        |
|    6916 | visualeditor-enable              | 1        |
|    6916 | wikibase-otherprojects           | 0        |
+---------+----------------------------------+----------+
6 rows in set (0.00 sec)
[enwiki]>  select page_id, page_title, page_namespace, page_content_model  from page where page_id=129674;
+---------+------------+----------------+--------------------+
| page_id | page_title | page_namespace | page_content_model |
+---------+------------+----------------+--------------------+
|  129674 | ET20       |              3 | flow-board         |
+---------+------------+----------------+--------------------+
1 row in set (0.00 sec)

Note: Would be nice to check for all such discrepancies(in production too).

Catrope subscribed.