diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -13,7 +13,7 @@ 'core.pkg.js' => '845355f4', 'dark-console.pkg.js' => '187792c2', 'differential.pkg.css' => '5c459f92', - 'differential.pkg.js' => 'a7171fb6', + 'differential.pkg.js' => '2b4a7014', 'diffusion.pkg.css' => '42c75c37', 'diffusion.pkg.js' => 'a98c0bf7', 'maniphest.pkg.css' => '35995d6d', @@ -379,7 +379,7 @@ 'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => 'a2ab19be', 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '1e413dc9', 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => '0116d3e8', - 'rsrc/js/application/diff/DiffChangeset.js' => '3a1ca35b', + 'rsrc/js/application/diff/DiffChangeset.js' => '39dcf2c3', 'rsrc/js/application/diff/DiffChangesetList.js' => 'cc2c5de5', 'rsrc/js/application/diff/DiffInline.js' => '008b6a15', 'rsrc/js/application/diff/DiffPathView.js' => '8207abf9', @@ -776,7 +776,7 @@ 'phabricator-darklog' => '3b869402', 'phabricator-darkmessage' => '26cd4b73', 'phabricator-dashboard-css' => '5a205b9d', - 'phabricator-diff-changeset' => '3a1ca35b', + 'phabricator-diff-changeset' => '39dcf2c3', 'phabricator-diff-changeset-list' => 'cc2c5de5', 'phabricator-diff-inline' => '008b6a15', 'phabricator-diff-path-view' => '8207abf9', @@ -1231,7 +1231,7 @@ 'trigger-rule', 'trigger-rule-type', ), - '3a1ca35b' => array( + '39dcf2c3' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', diff --git a/webroot/rsrc/js/application/diff/DiffChangeset.js b/webroot/rsrc/js/application/diff/DiffChangeset.js --- a/webroot/rsrc/js/application/diff/DiffChangeset.js +++ b/webroot/rsrc/js/application/diff/DiffChangeset.js @@ -454,9 +454,24 @@ var blocks = []; var block; var ii; + var parent_node = null; for (ii = 0; ii < rows.length; ii++) { var type = this._getRowType(rows[ii]); + // This row might be part of a diff inside an inline comment, showing + // an inline edit suggestion. Before we accept it as a possible target + // for selection, make sure it's a child of the right parent. + + if (parent_node === null) { + parent_node = rows[ii].parentNode; + } + + if (type !== null) { + if (rows[ii].parentNode !== parent_node) { + type = null; + } + } + if (!block || (block.type !== type)) { block = { type: type,