Hotkeys don't work (... sometimes)

Steps to reproduce

Ever since commit bf05a43, the admin UI depends on grunt-contrib-uglify with a version range specifier of ^3.3.0 for its minification needs, i.e. any version 3.x.y with x >= 3 is fine. The most recent version of this Grunt plugin is, in fact, 3.3.0, and it in turn depends on uglify-js^3.3.0, meaning---again---any version 3.x.y with x >= 3.

Normally, when building Opencast, Maven runs `npm install`, which should fetch the latest versions matching the given version ranges of all the dependencies. However, npm (and probably other systems in the chain between the npm registry and Opencast as well) does caching, and so it might happen that there is a matching but older version of a dependency still lying around somewhere, which is then used instead. Don't ask me to reproduce this; I couldn't, but the effects of this (see below) were seen a few weeks/months back on {legacy,stable,dev}.opencast.org and I saw it on at least one other machine.

The problem with all this is: Version 3.3.2 of UglifyJS (and potentially other versions before, I didn't check) had a bug (see https://github.com/mishoo/UglifyJS2/issues/2663), which in our case affected the registration of the hotkeys. The minification changed the semantics of the original code and thus broke it. This bug is fixed since version 3.3.3, but if you somehow get an older version into your build, keyboard shortcuts might be broken.

Status

Assignee

Julian Kniephoff

Reporter

Julian Kniephoff

Severity

Non Functioning

Tags (folksonomy)

Components

Affects versions

Priority

Minor
Configure