@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Trigger hovercards on mousemove

Summary:
I often scroll with keyboard with cursor being somewhere on the screen.
Popping hovercards under the cursor is quite distracting.

Test Plan:
It works like I want in Firefox.
There's surprisingly no flickering even though I expected some.
It works like before in Chrome, perhaps it sends mousemove events anyway?

Reviewers: AnhNhan, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5632

+7 -38
+1 -37
src/__celerity_resource_map__.php
··· 1899 1899 ), 1900 1900 'javelin-behavior-phabricator-hovercards' => 1901 1901 array( 1902 - 'uri' => '/res/7c16603a/rsrc/js/application/core/behavior-hovercard.js', 1902 + 'uri' => '/res/b8b4bb47/rsrc/js/application/core/behavior-hovercard.js', 1903 1903 'type' => 'js', 1904 1904 'requires' => 1905 1905 array( ··· 3639 3639 ), 3640 3640 'disk' => '/rsrc/css/application/ponder/vote.css', 3641 3641 ), 3642 - 'raphael-core' => 3643 - array( 3644 - 'uri' => '/res/3f48575a/rsrc/js/raphael/raphael.js', 3645 - 'type' => 'js', 3646 - 'requires' => 3647 - array( 3648 - ), 3649 - 'disk' => '/rsrc/js/raphael/raphael.js', 3650 - ), 3651 - 'raphael-g' => 3652 - array( 3653 - 'uri' => '/res/b07e5245/rsrc/js/raphael/g.raphael.js', 3654 - 'type' => 'js', 3655 - 'requires' => 3656 - array( 3657 - ), 3658 - 'disk' => '/rsrc/js/raphael/g.raphael.js', 3659 - ), 3660 - 'raphael-g-line' => 3661 - array( 3662 - 'uri' => '/res/a59c8556/rsrc/js/raphael/g.raphael.line.js', 3663 - 'type' => 'js', 3664 - 'requires' => 3665 - array( 3666 - ), 3667 - 'disk' => '/rsrc/js/raphael/g.raphael.line.js', 3668 - ), 3669 3642 'releeph-branch' => 3670 3643 array( 3671 3644 'uri' => '/res/6ad6420d/rsrc/css/application/releeph/releeph-branch.css', ··· 3863 3836 array( 3864 3837 ), 3865 3838 'disk' => '/rsrc/css/sprite-tokens.css', 3866 - ), 3867 - 'stripe-core' => 3868 - array( 3869 - 'uri' => '/res/3b0f0ad4/rsrc/js/stripe/stripe_core.js', 3870 - 'type' => 'js', 3871 - 'requires' => 3872 - array( 3873 - ), 3874 - 'disk' => '/rsrc/js/stripe/stripe_core.js', 3875 3839 ), 3876 3840 'stripe-payment-form-css' => 3877 3841 array(
+6 -1
webroot/rsrc/js/application/core/behavior-hovercard.js
··· 10 10 11 11 JX.behavior('phabricator-hovercards', function(config) { 12 12 13 + // We listen for mousemove instead of mouseover to handle the case when user 14 + // scrolls with keyboard. We don't want to display hovercard if node gets 15 + // under the mouse cursor randomly placed somewhere on the screen. This 16 + // unfortunatelly doesn't work in Google Chrome which triggers both mousemove 17 + // and mouseover in this case but works in other browsers. 13 18 JX.Stratcom.listen( 14 - 'mouseover', 19 + 'mousemove', 15 20 'hovercard', 16 21 function (e) { 17 22 if (JX.Device.getDevice() != 'desktop') {