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

Attempt to workaround non-deterministic `sort` behavior

Summary: Ref T6861. Some discussion in IRC. The behavior of `sort` is somewhat broken when dealing with mixed types. In this particular case, we have both integers and strings.

Test Plan: @epriestley confirmed that this made the ordering of the Celerity map slightly-more-sane.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6861

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

+40 -40
+36 -36
resources/celerity/map.php
··· 850 850 'javelin-stratcom', 851 851 'javelin-workflow', 852 852 ), 853 - '7319e029' => array( 854 - 'javelin-behavior', 855 - 'javelin-dom', 856 - ), 857 - '97258e55' => array( 858 - 'javelin-install', 859 - 'javelin-stratcom', 860 - 'javelin-util', 861 - 'javelin-behavior', 862 - 'javelin-json', 863 - 'javelin-dom', 864 - 'javelin-resource', 865 - 'javelin-routable', 866 - ), 867 853 '06e05112' => array( 868 854 'javelin-behavior', 869 855 'javelin-stratcom', ··· 1075 1061 'phuix-action-list-view', 1076 1062 'phuix-action-view', 1077 1063 ), 1064 + 42126667 => array( 1065 + 'javelin-behavior', 1066 + 'javelin-dom', 1067 + 'javelin-request', 1068 + ), 1078 1069 '44168bad' => array( 1079 1070 'javelin-behavior', 1080 1071 'javelin-dom', ··· 1093 1084 'javelin-install', 1094 1085 'javelin-dom', 1095 1086 'javelin-reactor-dom', 1087 + ), 1088 + 48086888 => array( 1089 + 'javelin-behavior', 1090 + 'javelin-dom', 1091 + 'javelin-workflow', 1096 1092 ), 1097 1093 '49b73b36' => array( 1098 1094 'javelin-behavior', ··· 1189 1185 'javelin-workflow', 1190 1186 'javelin-stratcom', 1191 1187 ), 1188 + 60479091 => array( 1189 + 'phabricator-busy', 1190 + 'javelin-behavior', 1191 + ), 1192 1192 '60821bc7' => array( 1193 1193 'javelin-behavior', 1194 1194 'javelin-stratcom', ··· 1258 1258 'javelin-stratcom', 1259 1259 'phabricator-prefab', 1260 1260 ), 1261 + '7319e029' => array( 1262 + 'javelin-behavior', 1263 + 'javelin-dom', 1264 + ), 1261 1265 '76b9fc3e' => array( 1262 1266 'javelin-behavior', 1263 1267 'javelin-stratcom', ··· 1316 1320 'javelin-behavior', 1317 1321 'javelin-history', 1318 1322 ), 1323 + 82439934 => array( 1324 + 'javelin-behavior', 1325 + 'javelin-dom', 1326 + 'javelin-util', 1327 + 'javelin-stratcom', 1328 + 'javelin-workflow', 1329 + 'phabricator-draggable-list', 1330 + ), 1319 1331 '82ce2142' => array( 1320 1332 'aphront-typeahead-control-css', 1321 1333 ), ··· 1408 1420 'javelin-stratcom', 1409 1421 'javelin-workflow', 1410 1422 'javelin-util', 1423 + ), 1424 + '97258e55' => array( 1425 + 'javelin-install', 1426 + 'javelin-stratcom', 1427 + 'javelin-util', 1428 + 'javelin-behavior', 1429 + 'javelin-json', 1430 + 'javelin-dom', 1431 + 'javelin-resource', 1432 + 'javelin-routable', 1411 1433 ), 1412 1434 '988040b4' => array( 1413 1435 'javelin-install', ··· 1938 1960 'javelin-util', 1939 1961 'phabricator-prefab', 1940 1962 'javelin-json', 1941 - ), 1942 - 42126667 => array( 1943 - 'javelin-behavior', 1944 - 'javelin-dom', 1945 - 'javelin-request', 1946 - ), 1947 - 48086888 => array( 1948 - 'javelin-behavior', 1949 - 'javelin-dom', 1950 - 'javelin-workflow', 1951 - ), 1952 - 60479091 => array( 1953 - 'phabricator-busy', 1954 - 'javelin-behavior', 1955 - ), 1956 - 82439934 => array( 1957 - 'javelin-behavior', 1958 - 'javelin-dom', 1959 - 'javelin-util', 1960 - 'javelin-stratcom', 1961 - 'javelin-workflow', 1962 - 'phabricator-draggable-list', 1963 1963 ), 1964 1964 ), 1965 1965 'packages' => array(
+4 -4
src/applications/celerity/CelerityResourceMapGenerator.php
··· 97 97 )); 98 98 $package_map = ipull($package_map, 'symbols'); 99 99 100 - ksort($name_map); 101 - ksort($symbol_map); 102 - ksort($requires_map); 103 - ksort($package_map); 100 + ksort($name_map, SORT_STRING); 101 + ksort($symbol_map, SORT_STRING); 102 + ksort($requires_map, SORT_STRING); 103 + ksort($package_map, SORT_STRING); 104 104 105 105 $this->nameMap = $name_map; 106 106 $this->symbolMap = $symbol_map;