Skip to content

Commit df57c55

Browse files
authored
Fix not being able to switch characters in LO (#11626)
1 parent ec38dbf commit df57c55

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

src/app/loadout-builder/LoadoutBuilder.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ import { searchFilterSelector } from 'app/search/items/item-search-filter';
3131
import { useSetSetting } from 'app/settings/hooks';
3232
import { AppIcon, disabledIcon, redoIcon, refreshIcon, undoIcon } from 'app/shell/icons';
3333
import { querySelector, useIsPhonePortrait } from 'app/shell/selectors';
34+
import { filterMap } from 'app/utils/collections';
3435
import { emptyObject } from 'app/utils/empty';
3536
import { isClassCompatible, itemCanBeEquippedBy } from 'app/utils/item-utils';
37+
import { errorLog } from 'app/utils/log';
3638
import { getMaxParallelCores } from 'app/utils/parallel-cores';
3739
import { timerDurationFromMs } from 'app/utils/time';
3840
import { DestinyClass } from 'bungie-api-ts/destiny2';
@@ -306,7 +308,20 @@ export default memo(function LoadoutBuilder({
306308
statMods: processed.statMods,
307309
};
308310
}
309-
return resultSets && sortGeneratedSets(resultSets.map(hydrateArmorSet), desiredStatRanges);
311+
return (
312+
resultSets &&
313+
sortGeneratedSets(
314+
filterMap(resultSets, (s) => {
315+
try {
316+
return hydrateArmorSet(s);
317+
} catch (e) {
318+
errorLog('loadout optimizer', 'Error hydrating armor set', e);
319+
return undefined;
320+
}
321+
}),
322+
desiredStatRanges,
323+
)
324+
);
310325
}, [desiredStatRanges, resultSets, armorItems]);
311326

312327
useEffect(() => hideItemPicker(), [hideItemPicker, selectedStore.classType]);

src/app/loadout-builder/process/useProcess.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export function useProcess({
7474
autoStatMods: boolean;
7575
strictUpgrades: boolean;
7676
}) {
77-
const [{ result, processing, totalCombos, completedCombos, startTime }, setState] =
77+
const [{ result, processing, totalCombos, completedCombos, startTime, resultStoreId }, setState] =
7878
useState<ProcessState>({
7979
processing: false,
8080
startTime: 0,
@@ -197,7 +197,13 @@ export function useProcess({
197197
firstTime,
198198
]);
199199

200-
return { result, processing, startTime, totalCombos, completedCombos };
200+
return {
201+
result: resultStoreId === selectedStore.id ? result : null,
202+
processing,
203+
startTime,
204+
totalCombos,
205+
completedCombos,
206+
};
201207
}
202208

203209
/**

0 commit comments

Comments
 (0)