Lucas_Werkmeister_WMDE reopened this task as "Open".
Lucas_Werkmeister_WMDE added subscribers: Cparle, Tgr.
Lucas_Werkmeister_WMDE added a comment.


  I’m afraid we have to reopen this (and other IP Masking tasks in Wikibase 
aren’t as done as we thought they were either). During discussions with @Tgr, 
@Tchanders and @Cparle in Slack, it turned out that we should redirect the user 
to the central login wiki (based on the `TempUserCreatedRedirect` hook, which 
CentralAuth interacts with) to ensure they’re centrally logged in as well.
  
  For Special:NewItem and other special pages that already redirect the user on 
success, that should be straightforward enough – we just call the hook and 
adjust the redirect target accordingly. (The hook can be configured such that 
the resulting URL redirects to the title that we were going to redirect to 
anyways.) For special pages that don’t redirect the user on success (such as 
Special:RedirectEntity, T356149 <https://phabricator.wikimedia.org/T356149>), 
we’ll have to add a new “success” state that the redirect URL can return back 
to (the page that shows “Q1 was redirected to Q2”), but that should be doable.
  
  For interactive edits using the API, I’m not even sure what the UX should be. 
Suppose an anonymous user has started to edit a bunch of data on an item:
  F41752637: image.png <https://phabricator.wikimedia.org/F41752637>
  Now they click one of the “publish” buttons, the API makes an edit, and 
returns a URL that we should redirect to. What do we do?
  
  I think the options we have are:
  
  1. Redirect the user to that URL immediately.
    1. Just throw away the other edits they made.
    2. Stash the other edits in the `returntoquery` and/or `returntoanchor` of 
the redirect URL, and hope it fits there (URLs have length limits after all).
    3. Stash the other edits server-side, and put some kind of identifier for 
that stash into the `returntoquery` and/or `returntoanchor`. But now we have to 
worry where that stash is stored server-side, when it expires, how to protect 
it against vandalism…
    4. Stash the other edits client-side (`localStorage` or similar).
  2. Wait until the other edits are done, then redirect the user. As far as I 
understand the purpose of the redirect, that should be fine-ish – it’s only 
needed for logging in on other wikis, additional edits on the same wiki should 
already use the temporary account anyway. But there’s a risk that the user will 
close the tab before finishing all the edits, and then the redirect never 
happens.
  3. Prevent the user from editing more than one thing at a time (if they’re 
not logged in), by disabling other “edit” buttons or similar.
  4. Don’t redirect at all. In that case, “your temp user identity will be 
irrecoverably limited to that single wiki” (@Tgr).
  
  (For the record, I don’t think all of these solutions are realistic – they’re 
just theoretic options I can think of. 1.A and 5 are by far the easiest, and I 
have a feeling they’re almost the only realistic options if we don’t want to 
block IP Masking for longer than we’d like to. But it’s possible I’m being too 
pessimistic about how difficult the other options are to implement in the 
Wikibase UI.)

TASK DETAIL
  https://phabricator.wikimedia.org/T354730

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Arian_Bozorg, Lucas_Werkmeister_WMDE
Cc: Tgr, Cparle, GMikesell-WMF, Lucas_Werkmeister_WMDE, dcausse, Tchanders, 
Michael, Lydia_Pintscher, Arian_Bozorg, Aklapper, ArthurTaylor, 
Danny_Benjafield_WMDE, Astuthiodit_1, karapayneWMDE, Invadibot, maantietaja, 
ItamarWMDE, Akuckartz, Nandana, kostajh, Lahi, Gq86, GoranSMilovanovic, 
QZanden, KimKelting, LawExplorer, JJMC89, _jensen, rosalieper, Scott_WUaS, 
Wikidata-bugs, aude, Mbch331, Ltrlg
_______________________________________________
Wikidata-bugs mailing list -- wikidata-bugs@lists.wikimedia.org
To unsubscribe send an email to wikidata-bugs-le...@lists.wikimedia.org

Reply via email to