mirror of
https://github.com/WowUp/WowUp.git
synced 2026-04-23 07:17:00 -04:00
Merge branch 'master' into develop
This commit is contained in:
@@ -54,7 +54,9 @@ export class TukUiAddonProvider extends AddonProvider {
|
||||
|
||||
try {
|
||||
const addons = await this.getAllAddons(clientType);
|
||||
const filteredAddons = addons.filter((addon) => _.some(addonIds, (aid) => aid === addon.id));
|
||||
const filteredAddons = addons.filter((addon) =>
|
||||
_.some(addonIds, (aid) => aid.toString() === addon.id.toString())
|
||||
);
|
||||
results = await this.mapAddonsToSearchResults(filteredAddons);
|
||||
} catch (err) {
|
||||
// _analyticsService.Track(ex, "Failed to search TukUi");
|
||||
@@ -143,7 +145,7 @@ export class TukUiAddonProvider extends AddonProvider {
|
||||
name: tukUiAddon.name,
|
||||
author: tukUiAddon.author,
|
||||
downloadUrl: tukUiAddon.url,
|
||||
externalId: tukUiAddon.id,
|
||||
externalId: tukUiAddon.id.toString(),
|
||||
externalUrl: tukUiAddon.web_url,
|
||||
gameVersion: tukUiAddon.patch,
|
||||
installedAt: addonFolder.fileStats.birthtime,
|
||||
@@ -219,7 +221,7 @@ export class TukUiAddonProvider extends AddonProvider {
|
||||
|
||||
return {
|
||||
author: addon.author,
|
||||
externalId: addon.id,
|
||||
externalId: addon.id.toString(),
|
||||
name: addon.name,
|
||||
thumbnailUrl: addon.screenshot_url,
|
||||
externalUrl: addon.web_url,
|
||||
|
||||
@@ -751,7 +751,7 @@ export class AddonService {
|
||||
_.forEach(newAddons, (newAddon) => {
|
||||
const existingAddon = _.find(
|
||||
existingAddons,
|
||||
(ea) => ea.externalId == newAddon.externalId && ea.providerName == newAddon.providerName
|
||||
(ea) => ea.externalId.toString() === newAddon.externalId.toString() && ea.providerName == newAddon.providerName
|
||||
);
|
||||
|
||||
if (!existingAddon) {
|
||||
@@ -799,9 +799,11 @@ export class AddonService {
|
||||
|
||||
const searchResults = await addonProvider.getAll(clientType, providerAddonIds);
|
||||
for (let result of searchResults) {
|
||||
const addon = addons.find((addon) => addon.externalId === result?.externalId);
|
||||
const addon = addons.find((addon) => addon.externalId.toString() === result?.externalId?.toString());
|
||||
const latestFile = this.getLatestFile(result, addon?.channelType);
|
||||
|
||||
this.setExternalIdString(addon);
|
||||
|
||||
addon.summary = result.summary;
|
||||
addon.thumbnailUrl = result.thumbnailUrl;
|
||||
addon.latestChangelog = latestFile?.changelog || addon.latestChangelog;
|
||||
@@ -837,6 +839,16 @@ export class AddonService {
|
||||
}
|
||||
}
|
||||
|
||||
// Legacy TukUI/ElvUI ids were ints, correct them
|
||||
private setExternalIdString(addon: Addon) {
|
||||
if (typeof addon.externalId === "string") {
|
||||
return;
|
||||
}
|
||||
|
||||
addon.externalId = `${addon.externalId}`;
|
||||
this._addonStorage.set(addon.id, addon);
|
||||
}
|
||||
|
||||
private getExternalIdsForProvider(addonProvider: AddonProvider, addons: Addon[]): string[] {
|
||||
return addons.filter((addon) => addon.providerName === addonProvider.name).map((addon) => addon.externalId);
|
||||
}
|
||||
@@ -1207,7 +1219,7 @@ export class AddonService {
|
||||
thumbnailUrl: searchResult.thumbnailUrl,
|
||||
latestVersion: latestFile.version,
|
||||
clientType: clientType,
|
||||
externalId: searchResult.externalId,
|
||||
externalId: searchResult.externalId.toString(),
|
||||
gameVersion: AddonUtils.getGameVersion(latestFile.gameVersion),
|
||||
author: searchResult.author,
|
||||
downloadUrl: latestFile.downloadUrl,
|
||||
|
||||
@@ -212,6 +212,10 @@
|
||||
"Add the showing of unmatched addon folders to 'My Addons'"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Version": "2.0.3",
|
||||
"changes": ["Fix an issue with legacy TukUI/ElvUI external IDs saved as ints"]
|
||||
},
|
||||
{
|
||||
"Version": "2.0.2",
|
||||
"changes": ["Fix an issue with a hardcoded hub URL"]
|
||||
|
||||
Reference in New Issue
Block a user