Page MenuHomePhabricator

Remove dependency on jquery.cookie
Closed, ResolvedPublicFeature

Description

The jquery.cookie module is used in Foreground but has been merged with mediawiki.cookie and removed (T271995).

Event Timeline

$.cookie is only used in this skin by the joyride component, which doesn't seem to ever be started within the skin. It's supposed to be started with e.g. $(document).foundation('joyride', 'start'); — I guess that's meant to be left to individual wikis to load on the pages on which they use joyride (via MediaWiki:Foreground.js perhaps), but there's nothing in the docs about that and I wonder if it's ever used.

The skin comes with assets/scripts/foundation/foundation.cookie.js but it's never loaded.

As mediawiki.cookie sets $.cookie = jar.cookie; it appears that simply substituting that module works perfectly.

Here's an example of a joyride, if anyone wants to test:

<ol class="joyride-list" data-joyride data-options="cookie_monster:true">
  <li data-id="firstHeading" data-text="Next"><p>This is the first heading</p></li>
  <li data-id="page-content" data-class="custom so-awesome" data-text="Next"><p>This is the page content</p></li>
  <li data-id="navwrapper" data-button="End"><p>This is the navwrapper, and last joyride thing</p></li>
</ol>

(You still have to add the above start statement to your wiki.)

Change 998657 had a related patch set uploaded (by Samwilson; author: Samwilson):

[mediawiki/skins/Foreground@master] Use mediawiki.cookie instead of jquery.cookie

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

Change 998657 merged by jenkins-bot:

[mediawiki/skins/Foreground@master] Use mediawiki.cookie instead of jquery.cookie

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

Samwilson claimed this task.