Page MenuHomePhabricator

AjaxLogin is incompatible with latest MW core
Closed, DeclinedPublic

Description

ApiAjaxLogin:

  • Calls nonexistent methods authenticateUserData() and mailPasswordInternal() of deprecated class LoginForm.
  • Attempts to access protected field LoginForm::mName.
  • Calls deprecated method User::isPasswordReminderThrottled() that only throws exceptions.

JavaScript parts call a removed jQuery function: https://www.mediawiki.org/wiki/Extension_talk:AjaxLogin#.24.browser_not_working_in_MW_1.27.1

Is there an interest in maintaining this extension?

Event Timeline

MaxSem created this task.Dec 16 2016, 12:21 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 16 2016, 12:21 AM
ashley added a subscriber: ashley.Dec 16 2016, 3:04 AM

I'm not volunteering for anything, but having written parts of it I'm offering my thoughts anyway...

AjaxLogin is incompatible with latest MW core

Latest as in latest stable (1.28) or latest git master (1.29alpha)?

Is there an interest in maintaining this extension?

I would certainly hope so, but if nobody's volunteering, it might need to be archived -- it can be resurrected at a later date if necessary (kinda like what I did with RegexBlock and SpamRegex).

The main issue with the API module is that it really shouldn't exist. IIRC at some point (years ago, though) the difference between that and core ApiLogin.php was a few lines of code. This ticket is a prime example of why such code duplication is ugly and not future-proof enough.

The JS issue seems to be easy enough to patch -- just remove the ie6 variable and things which check for it since we don't load JS for IE8 and older these days. A bigger issue with the JS (IMO) is that the current version of jqModal library is from 2009 and the newer version (currently unused by AjaxLogin, but resides in /extensions/AjaxLogin/lib/ dir as jqModal.r16.js) from early 2014 does not work with AjaxLogin's custom JS, as per my notes in jqModal.r16.js.

AjaxLogin is incompatible with latest MW core

Latest as in latest stable (1.28) or latest git master (1.29alpha)?

Since at least 1.27 where lots of login stuff was overhauled.

ashley closed this task as Declined.Jul 4 2017, 1:40 PM

Given the existence of Florian's awesome OOJsUIAjaxLogin extension, which actually works, looks modern and isn't a horrible pile of hacks on top of hacks, I'm going to say that AjaxLogin is deprecated in favor of OOJsUIAjaxLogin and thus I'm declining this task.

MaxSem added a comment.Jul 4 2017, 6:29 PM

Cool, does the extension need to be archived then?