@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.

Fix scrollbar being cut off at end of gutter

Summary:
The "mlb" on the left nav creates a phantom bottom margin which gives the content measurable height but not scrollable height. Replace it with "plb" (padding) instead.

The 2px-spacer calculation was also not quite correct.

Test Plan:
- Viewed pages with navs; padding vs margin didn't seem to make any other differences.
- Scrollbar now stops in the right place in Safari, Chrome, Firefox.

Reviewers: btrahan, chad

Reviewed By: chad

Subscribers: epriestley

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

+16 -11
+8 -8
resources/celerity/map.php
··· 207 207 'rsrc/externals/javelin/lib/Resource.js' => '44959b73', 208 208 'rsrc/externals/javelin/lib/Routable.js' => 'b3e7d692', 209 209 'rsrc/externals/javelin/lib/Router.js' => '29274e2b', 210 - 'rsrc/externals/javelin/lib/Scrollbar.js' => '5b2f5a08', 210 + 'rsrc/externals/javelin/lib/Scrollbar.js' => '1ed54a27', 211 211 'rsrc/externals/javelin/lib/URI.js' => '6eff08aa', 212 212 'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8', 213 213 'rsrc/externals/javelin/lib/WebSocket.js' => 'e292eaf4', ··· 676 676 'javelin-resource' => '44959b73', 677 677 'javelin-routable' => 'b3e7d692', 678 678 'javelin-router' => '29274e2b', 679 - 'javelin-scrollbar' => '5b2f5a08', 679 + 'javelin-scrollbar' => '1ed54a27', 680 680 'javelin-stratcom' => '6c53634d', 681 681 'javelin-tokenizer' => '7644823e', 682 682 'javelin-typeahead' => '70baed2f', ··· 942 942 'javelin-dom', 943 943 'javelin-reactor-dom', 944 944 ), 945 + '1ed54a27' => array( 946 + 'javelin-install', 947 + 'javelin-dom', 948 + 'javelin-stratcom', 949 + 'javelin-vector', 950 + ), 945 951 '2035b9cb' => array( 946 952 'javelin-behavior', 947 953 'javelin-dom', ··· 1174 1180 'javelin-stratcom', 1175 1181 'javelin-vector', 1176 1182 'javelin-dom', 1177 - ), 1178 - '5b2f5a08' => array( 1179 - 'javelin-install', 1180 - 'javelin-dom', 1181 - 'javelin-stratcom', 1182 - 'javelin-vector', 1183 1183 ), 1184 1184 '5bc2cb21' => array( 1185 1185 'javelin-behavior',
+1 -1
src/view/layout/AphrontSideNavFilterView.php
··· 318 318 phutil_tag( 319 319 'div', 320 320 array( 321 - 'class' => 'phabricator-nav-content mlb', 321 + 'class' => 'phabricator-nav-content plb', 322 322 'id' => $content_id, 323 323 ), 324 324 array(
+7 -2
webroot/rsrc/externals/javelin/lib/Scrollbar.js
··· 320 320 var spos = JX.Vector.getAggregateScrollForNode(this._viewport); 321 321 var vdim = JX.Vector.getDim(this._viewport); 322 322 323 - var ratio = vdim.y / cdim.y; 323 + var ratio = (vdim.y / cdim.y); 324 + 325 + // We're scaling things down very slightly to leave a 2px margin at 326 + // either end of the scroll gutter, so the bar doesn't quite bump up 327 + // against the chrome. 328 + ratio = ratio * (vdim.y / (vdim.y + 4)); 324 329 325 330 var offset = Math.round(ratio * spos.y) + 2; 326 - var size = Math.floor(ratio * (vdim.y - 2)) - 2; 331 + var size = Math.floor(ratio * vdim.y); 327 332 328 333 if (size < cdim.y) { 329 334 this._handle.style.top = offset + 'px';