Front-end standards group/2015-12-02

From mediawiki.org

Agenda[edit]

Social[edit]

No social items on agenda this time.


Action & Code[edit]

New quests[edit]

Spike: Does HTML minification gain us anything? (JR)
https://phabricator.wikimedia.org/T110612
ES: A typical HTML minification gains about ~ 3% of file size before gzipping

Great to see work on requestIdleCallback completed! Any announcements or suggestions on how to use it (other than what's in the code and the commit message)? (AG)
https://phabricator.wikimedia.org/T111456
> Timo to write release notes and send announcement to wikitech to encourage adoption.
TT: Standardized way to know how much rendering time is left per frame, action items as above

Migrating from cookies to sessionStorage and localStorage as current performance guidelines suggest (AG)
For this purpose, CentralNotice added a LocalStorage-based key-value store[2][3], developed in part following suggestions from Performance folks. The store provides an expiry mechanism (which LocalStorage on its own does not). Might there be any interest in including this or something like it in core?
[1] https://www.mediawiki.org/wiki/Performance_guidelines#Cookies
[2] https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FCentralNotice.git/3896f0baceb52bbc6202d57b92570e4fa7bd117c/resources%2Fsubscribing%2Fext.centralNotice.kvStore.js
[3] https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FCentralNotice.git/3896f0baceb52bbc6202d57b92570e4fa7bd117c/resources%2Fsubscribing%2Fext.centralNotice.kvStoreMaintenance.js

JR: A lightweight API mw.storage.
TT: Doesn't do anything besides get/set. Would propose something upstream lib, instead of writing our own. jStorage http://www.jstorage.info/ is heavyweight, seems like ttl is a popular use case, we shouldn't reinvent the wheel, but external lib.
AG: Eventually, we hope to use this to replace most or all of the cookies that Fundraising uses for banner display logic. A recent sample of banner history logs seems to show that LocalStorage is unsupported on only 0.06% of pageviews for clients that can show banners. So a fallback mechanism to cookies may not be needed.
TT: With drop of IE7, there's no browser left without localStorage -> Op Mini (interrupted JS) or users without Cookies enabled
AG: Will file Phab task

Standardise on how to access/register JavaScript interfaces (TT, JR)
https://phabricator.wikimedia.org/T108655

Proof-of-concept for RL module public interfaces without globals
https://gerrit.wikimedia.org/r/#/c/253964/1


Postponed to/scheduled for next meeting[edit]

  • Skinning System: current problems, possible future solutions
  • TP: We should switch to BlueJeans for capacity reasons (+1mtg)


Discussion[edit]

RobLa used the first part of the meeting with a request for help coordinating (<https://phabricator.wikimedia.org/T119162>). RobLa explained the larger context that this working area fits into (<https://phabricator.wikimedia.org/T119018>). Volker volunteered to take this on, provided he is able to get assistance from someone on the team. Timo volunteered to help out.

Participants[edit]

  • Andrew (AG)
  • Bartosz (BD)
  • Ed (ES)
  • Julien (JG)
  • Prateek (PS)
  • Roan (RK)
  • Rob (RL)
  • Trevor (TP)
  • Timo (TT)
  • Volker (VE)