[Pkg-javascript-devel] Bug#740893: libjs-jquery-hotkeys: Incompatible ABI change

Philipp Hahn pmhahn at pmhahn.de
Thu Apr 6 07:25:55 UTC 2017


Package: libjs-jquery-hotkeys
Version: 0~20130707+git2d51e3a9+dfsg-2
Followup-For: Bug #740893
X-Debbugs-CC: Debian Haskell Group <pkg-haskell-maintainers at lists.alioth.debian.org>
X-Debbugs-CC: Debian Go Packaging Team <pkg-go-maintainers at lists.alioth.debian.org>
X-Debbugs-CC: Ben Finney <ben+debian at benfinney.id.au>
X-Debbugs-CC: Federico Ceratto <federico.ceratto at gmail.com>
X-Debbugs-CC: Thomi Richards <thomi.richards at canonical.com>
Severity: serious
Control: severity -1 serious

Dear Maintainer,

today I spent some time on investigating this issue, as
python-pytest-cov currently is unusable: Every key press makes the
browser window jump back to the top as *all* registered handlers fire
and the last one is "coverage.to_first_chunk" from "coverage_html.js".

<https://github.com/tzuryby/jquery.hotkeys/commit/321e02b98be973d1ea09eb97ceb921411ffb3415>
introduced an incompatible ABI change how events are registered:

jeresig <https://github.com/jeresig/jquery.hotkeys>:
  $(...).bind('keydown', 'j', function (e) {...})

tzuryby <https://github.com/tzuryby/jquery.hotkeys>:
  $(...).bind('keydown.j', function (e) {...})

So "coverage_html.js" uses the 'jeresig' API to pass the hotkey via
"data", while the 'tzuryby' API "jquery.hotkeys.js" expects is via
'namespace'.

libjs-jquery-hotkeys currently is used by 3 packages in Debian:
- libghc-gitit-data
- prometheus
- python-pytest-cov

Doing some source code `grep -n -r "[.]bind([\"']key"`:

gitit-0.10.4/data/templates/expire.st:5:     \$(document).bind("keydown", "ctrl+r", function() {
python-coverage-3.7.1+dfsg.1/tests/farm/html/src/htmlcov/coverage_html.js:12:                $(document).bind('keydown', c.substr(9), function () {
python-coverage-3.7.1+dfsg.1/tests/farm/html/src/htmlcov/coverage_html.js:119:        .bind('keydown', 'j', coverage.to_next_chunk_nicely)
python-coverage-3.7.1+dfsg.1/tests/farm/html/src/htmlcov/coverage_html.js:120:        .bind('keydown', 'k', coverage.to_prev_chunk_nicely)
python-coverage-3.7.1+dfsg.1/tests/farm/html/src/htmlcov/coverage_html.js:121:        .bind('keydown', '0', coverage.to_top)
python-coverage-3.7.1+dfsg.1/tests/farm/html/src/htmlcov/coverage_html.js:122:        .bind('keydown', '1', coverage.to_first_chunk)
python-coverage-3.7.1+dfsg.1/coverage/htmlfiles/coverage_html.js:12:                $(document).bind('keydown', c.substr(9), function () {
python-coverage-3.7.1+dfsg.1/coverage/htmlfiles/coverage_html.js:119:        .bind('keydown', 'j', coverage.to_next_chunk_nicely)
python-coverage-3.7.1+dfsg.1/coverage/htmlfiles/coverage_html.js:120:        .bind('keydown', 'k', coverage.to_prev_chunk_nicely)
python-coverage-3.7.1+dfsg.1/coverage/htmlfiles/coverage_html.js:121:        .bind('keydown', '0', coverage.to_top)
python-coverage-3.7.1+dfsg.1/coverage/htmlfiles/coverage_html.js:122:        .bind('keydown', '1', coverage.to_first_chunk)
prometheus-1.5.2+ds/web/ui/static/js/graph.js:97:  self.insertMetric.bind("keydown", "return", function(e) {

So all of them use the "jeresig" API, but 'libjs-jquery-hotkeys'
packages the "tzuryby" API.

Please switch to the "jeresig" jeresig as all current users in Debian
expect that.


-- System Information:
Debian Release: 8.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (90, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libjs-jquery-hotkeys depends on:
ii  dpkg          1.17.27
ii  libjs-jquery  1.11.3+dfsg-4~bpo8+1

Versions of packages libjs-jquery-hotkeys recommends:
ii  javascript-common  11

libjs-jquery-hotkeys suggests no packages.

-- no debconf information

-- 
Philipp Hahn           Open Source Software Engineer      hahn at univention.de
Univention GmbH        be open.                       fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/
Director:Peter H. Ganten   HRB 20755 Amtsgericht Bremen   UID:DE 220 051 310



More information about the Pkg-javascript-devel mailing list