Page MenuHomePhabricator

Remove e.timeStamp from mw.trackSubscribe interface
Closed, ResolvedPublic

Description

This isn't used anywhere. The only search results for \.timeStamp\b in Codesearch are:

  1. Uses of the DOM EventListeners's timeStamp property.
  2. Uses of ve.track's (not mw.track) timeStamp property.

Steps:

  • Identify and migrate any uses of the timeStamp field, in mw.trackSubscribe callbacks.
  • Remove timeStamp field to mw.track.
  • Consider moving mw.now definition from startup module (critical path, short cache) to mediawiki.base (parallel, long cache).

Event Timeline

Krinkle moved this task from Inbox to Accepted Enhancement on the MediaWiki-ResourceLoader board.

Change 570424 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/VisualEditor@master] ve.init.mw.trackSubscriber: Remove 2015 compat for this.timeStamp

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

This isn't used anywhere.

Looks like between last year and now, the VE code was copied to MobileFrontend and subsequently changed to use mw.track instead of ve.track. I'll patch this by generating the timestamp inline, which should be fine for that one use case.

Change 570427 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/MobileFrontend@master] mobile.init: Migrate edit steps from this.timeStamp to mw.now()

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

Consider moving mw.now definition from startup module (critical path, short cache) to mediawiki.base

Unfortunately, this isn't possible yet because mw.loader needs mw.requestIdleCallback which also needs mw.now. Given that no Safari version has implemented requestIdleCallback natively yet, it would be quite a big compromise to not have monotic time offsets anymore in our fallback for that. So let's keep this in the startup module for now. It's ~ 100 bytes. Compared to several KB we can save with T235350.

Change 570428 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] mediawiki.base: Remove 'timeStamp' property from mw.track()

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

Change 570424 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] ve.init.mw.trackSubscriber: Remove 2015 compat for this.timeStamp

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

Change 570427 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] mobile.init: Migrate edit steps from this.timeStamp to mw.now()

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

Change 570428 merged by jenkins-bot:
[mediawiki/core@master] mediawiki.base: Remove 'timeStamp' property from mw.track()

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

Krinkle removed a project: Patch-For-Review.
Krinkle updated the task description. (Show Details)