Page MenuHomePhabricator

Language change should use POST
Closed, ResolvedPublic

Description

The parameter setlang should use [[Post/Redirect/Get]].

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 22 2014, 1:33 AM
bzimport set Reference to bz44649.
bzimport added a subscriber: Unknown Object (MLST).

The "parameter" cannot use anything, since the user can type it in himself as well.

Redirect introduces latency, and the usual reasons (avoiding double forms submission) don't seem to apply here.

POST instead of GET for setlang

setlang changes a setting so it should use POST instead of GET.

A simple POST without redirect would also be possible. See patch.

But with a simple POST the problems described in [[Post/Redirect/Get]] still exist.

Attached:

Fomafix: Thanks! Could you put the patch into Gerrit, or is that not possible?

I don't understand what is the advantage of doing this. Can anybody explain? If there is no clear advantage, I'd go for WONTFIX.

Change 110360 had a related patch set uploaded by Gerrit Patch Uploader:
(Bug 44649) Use POST instead of GET with setlang to change user settings

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

With setlang the user setting will set again when you reload the page.

Change 110360 had a related patch set uploaded by Gerrit Patch Uploader:
Use POST instead of GET with setlang to change user settings

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

Change 110360 had a related patch set uploaded (by Gerrit Patch Uploader):
Do not use setlang to change user language

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

Patch-For-Review

Change 110360 merged by jenkins-bot:
Do not use setlang to change user language

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

Nemo_bis assigned this task to Fomafix.
Nemo_bis added a project: User-notice.
Nemo_bis set Security to None.
Tgr subscribed.

Setlang still doesn't use POST/redirect/GET. That means history navigation, closing and reopening a browser with multiple tags etc. will change user settings.

@Tgr ULS no longer uses setlang itself, so for that reason I consider this fixed. There are probably links with setlang sprinkled everywhere in many wikis, and we do not want to break them, so setlang itself is still recognized and supported.

I am not sure whether redirecting GET to POST and that back to GET is worth it. Do you have an opinion on that? If yes, can we use a new bug for that?

Nikerabbit renamed this task from Use Post/Redirect/Get for setlang to Language change should use POST.Apr 21 2016, 6:29 AM
Nikerabbit removed a project: Patch-For-Review.
Nikerabbit updated the task description. (Show Details)
Nikerabbit removed a subscriber: wikibugs-l-list.

A language change uses now a POST to the api.php and then a GET. This was the intension of this task.

The URL parameter setlang is not used anymore in ULS but still supported.