Page MenuHomePhabricator

[8 hr] Investigate behavior of temporary accounts with cross-wiki API actions
Closed, ResolvedPublic

Description

See parent task for details.

Event Timeline

At the moment, temporary accounts are enabled on beta cswiki and beta dewiki (config change, see also T327420), so I think we should be able to investigate this on the beta cluster reasonably well.

In a private window, I created a beta dewiki test page (and, non-anonymously, a corresponding beta enwiki one), triggering the creation of a temporary account. I then used the menu in the sidebar to connect the dewiki page to the enwiki one. The resulting beta wikidata item was created by the temporary account. (This worked despite the fact that temporary accounts aren’t even enabled on beta wikidata yet.) To me this seems like the behavior we want, so I’m quite happy that it’s working.

Another important thing to test is probably change dispatching – if a temporary account makes a Wikidata edit, it should get dispatched to other wikis under that temporary account name as well. But for that we’ll have to enable IP Masking on Beta Wikidata, I think.

I also thought about testing connecting wiki pages (like above), while not logged into a temporary account yet (which is closer to the scenario in T343799#9077326), but in that case the item linking interface isn’t available in the first place – we only show that to registered users. (Whether temporary accounts should count as registered here is a question for T343799.)

Another important thing to test is probably change dispatching – if a temporary account makes a Wikidata edit, it should get dispatched to other wikis under that temporary account name as well. But for that we’ll have to enable IP Masking on Beta Wikidata, I think.

It seems to work in this direction as well: temporary accounts can get autocreated and the dispatched edits be credited to them \o/

image.png (250×1 px, 88 KB)

(Note that I first made a regular wikitext edit in order to be logged into a temporary account; as @Michael noted in T343799, Wikibase edits don’t trigger automatic account creation on their own.)

Edit: I think wrote this ambiguously. The regular wikitext edit was on Beta Wikidata, and the test item edit was also made there; the Data Bridge pages in the screenshot are just used as an example of another wiki subscribing to changes, but the edit was not made via the Data Bridge and it originated on Beta Wikidata.

My conclusion so far is that temporary accounts work just fine with cross-wiki actions: both client-side ForeignApi requests and server-side dispatch jobs can automatically create the temporary account on the other wiki (even if that wiki doesn’t have temporary accounts enabled yet) and attribute edits to them.

Five hours left in the timebox, I reckon.

Less related to Wikidata because we have CentralAuth, but maybe relevant to the ecosystem at large: I noticed that linking a Wikipage to an Item on different wiki failed in my local dev setup with the user being unknown. So, if wikifarms want to enable that, they probably have to take steps to make sure that their temporary users are synced as well.

Lydia_Pintscher subscribed.

Thank you! Looking good. Moving this to tech verification.

While it is good to have all the history here on the ticket, I would prefer if you summarized it all in one place as well, for posterity.

Content transferred to https://wikitech.wikimedia.org/wiki/WMDE/Wikidata/Reports/2023/2023-09-18_Ramifications_of_IP_masking_on_Wikidata_related_extensions
Further discussion of the results should probably happen in the parent story, not in this subtask here.

My conclusion so far is that temporary accounts work just fine with cross-wiki actions: both client-side ForeignApi requests and server-side dispatch jobs can automatically create the temporary account on the other wiki (even if that wiki doesn’t have temporary accounts enabled yet) and attribute edits to them.

Note: we’ve been told that this has changed in the meantime (T342475); we’ll need to update parts of the investigation outcome. (Possibly as a new investigation / Phabricator task.)