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

Survive receipt of too much workboard column position information

Summary:
Fixes T11468. I was able to find //a// reproduction case for the issue, at least, described in my comments there.

When the server sends back position information for columns we aren't displaying, for whatever reason, just ignore that information.

Future work in T4900 to do more synchronization may revisit this.

Test Plan: See T11468#190177 for steps. Did that stuff with this patch, got a clean edit.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11468

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

+22 -12
+11 -11
resources/celerity/map.php
··· 422 422 'rsrc/js/application/phortune/phortune-credit-card-form.js' => '2290aeef', 423 423 'rsrc/js/application/policy/behavior-policy-control.js' => 'd0c516d5', 424 424 'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '5e9f347c', 425 - 'rsrc/js/application/projects/WorkboardBoard.js' => '52291776', 425 + 'rsrc/js/application/projects/WorkboardBoard.js' => 'fe7cb52a', 426 426 'rsrc/js/application/projects/WorkboardCard.js' => 'c587b80f', 427 427 'rsrc/js/application/projects/WorkboardColumn.js' => 'bae58312', 428 428 'rsrc/js/application/projects/WorkboardController.js' => '55baf5ed', ··· 750 750 'javelin-view-renderer' => '6c2b09a2', 751 751 'javelin-view-visitor' => 'efe49472', 752 752 'javelin-websocket' => 'e292eaf4', 753 - 'javelin-workboard-board' => '52291776', 753 + 'javelin-workboard-board' => 'fe7cb52a', 754 754 'javelin-workboard-card' => 'c587b80f', 755 755 'javelin-workboard-column' => 'bae58312', 756 756 'javelin-workboard-controller' => '55baf5ed', ··· 1296 1296 'javelin-stratcom', 1297 1297 'javelin-vector', 1298 1298 'javelin-typeahead-static-source', 1299 - ), 1300 - 52291776 => array( 1301 - 'javelin-install', 1302 - 'javelin-dom', 1303 - 'javelin-util', 1304 - 'javelin-stratcom', 1305 - 'javelin-workflow', 1306 - 'phabricator-draggable-list', 1307 - 'javelin-workboard-column', 1308 1299 ), 1309 1300 '5359e785' => array( 1310 1301 'javelin-install', ··· 2218 2209 'javelin-dom', 2219 2210 'javelin-view-visitor', 2220 2211 'javelin-util', 2212 + ), 2213 + 'fe7cb52a' => array( 2214 + 'javelin-install', 2215 + 'javelin-dom', 2216 + 'javelin-util', 2217 + 'javelin-stratcom', 2218 + 'javelin-workflow', 2219 + 'phabricator-draggable-list', 2220 + 'javelin-workboard-column', 2221 2221 ), 2222 2222 'fea0eb47' => array( 2223 2223 'javelin-install',
+11 -1
webroot/rsrc/js/application/projects/WorkboardBoard.js
··· 216 216 } 217 217 218 218 var column_maps = response.columnMaps; 219 + var natural_column; 219 220 for (var natural_phid in column_maps) { 220 - this.getColumn(natural_phid).setNaturalOrder(column_maps[natural_phid]); 221 + natural_column = this.getColumn(natural_phid); 222 + if (!natural_column) { 223 + // Our view of the board may be out of date, so we might get back 224 + // information about columns that aren't visible. Just ignore the 225 + // position information for any columns we aren't displaying on the 226 + // client. 227 + continue; 228 + } 229 + 230 + natural_column.setNaturalOrder(column_maps[natural_phid]); 221 231 } 222 232 223 233 var property_maps = response.propertyMaps;