mirror of
https://github.com/modrinth/code.git
synced 2026-08-25 09:04:55 +00:00
fix: strip runtime filters to be authoratative (#6635)
This commit is contained in:
@@ -22,6 +22,8 @@ import {
|
|||||||
preferencesDiffer,
|
preferencesDiffer,
|
||||||
provideBrowseManager,
|
provideBrowseManager,
|
||||||
requestInstall,
|
requestInstall,
|
||||||
|
stripServerRuntimeInstallFilters,
|
||||||
|
stripServerRuntimeInstallOverrides,
|
||||||
useBrowseSearch,
|
useBrowseSearch,
|
||||||
useDebugLogger,
|
useDebugLogger,
|
||||||
useVIntl,
|
useVIntl,
|
||||||
@@ -762,11 +764,15 @@ function getCardActions(
|
|||||||
project: projectResult,
|
project: projectResult,
|
||||||
contentType,
|
contentType,
|
||||||
mode: isModpack ? 'immediate' : 'queue',
|
mode: isModpack ? 'immediate' : 'queue',
|
||||||
selectedFilters: isModpack ? [] : searchState.currentFilters.value,
|
selectedFilters: isModpack
|
||||||
|
? []
|
||||||
|
: stripServerRuntimeInstallFilters(searchState.currentFilters.value),
|
||||||
providedFilters: isModpack ? [] : combinedProvidedFilters.value,
|
providedFilters: isModpack ? [] : combinedProvidedFilters.value,
|
||||||
overriddenProvidedFilterTypes: isModpack
|
overriddenProvidedFilterTypes: isModpack
|
||||||
? []
|
? []
|
||||||
: searchState.overriddenProvidedFilterTypes.value,
|
: stripServerRuntimeInstallOverrides(
|
||||||
|
searchState.overriddenProvidedFilterTypes.value,
|
||||||
|
),
|
||||||
targetPreferences: getServerInstallTargetPreferences(contentType),
|
targetPreferences: getServerInstallTargetPreferences(contentType),
|
||||||
getProjectVersions: getInstallProjectVersions,
|
getProjectVersions: getInstallProjectVersions,
|
||||||
queue: serverInstallQueue,
|
queue: serverInstallQueue,
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ import {
|
|||||||
readStoredServerInstallQueue,
|
readStoredServerInstallQueue,
|
||||||
removePendingServerContentInstall,
|
removePendingServerContentInstall,
|
||||||
requestInstall,
|
requestInstall,
|
||||||
|
stripServerRuntimeInstallFilters,
|
||||||
|
stripServerRuntimeInstallOverrides,
|
||||||
useVIntl,
|
useVIntl,
|
||||||
writePendingServerContentInstallBaseline,
|
writePendingServerContentInstallBaseline,
|
||||||
writeStoredServerInstallQueue,
|
writeStoredServerInstallQueue,
|
||||||
@@ -604,11 +606,15 @@ export function useServerInstallContent({
|
|||||||
project,
|
project,
|
||||||
contentType,
|
contentType,
|
||||||
mode: isModpack ? 'immediate' : 'queue',
|
mode: isModpack ? 'immediate' : 'queue',
|
||||||
selectedFilters: isModpack ? [] : browseSearchState.currentFilters.value,
|
selectedFilters: isModpack
|
||||||
|
? []
|
||||||
|
: stripServerRuntimeInstallFilters(browseSearchState.currentFilters.value),
|
||||||
providedFilters: isModpack ? [] : serverFilters.value,
|
providedFilters: isModpack ? [] : serverFilters.value,
|
||||||
overriddenProvidedFilterTypes: isModpack
|
overriddenProvidedFilterTypes: isModpack
|
||||||
? []
|
? []
|
||||||
: browseSearchState.overriddenProvidedFilterTypes.value,
|
: stripServerRuntimeInstallOverrides(
|
||||||
|
browseSearchState.overriddenProvidedFilterTypes.value,
|
||||||
|
),
|
||||||
targetPreferences: getServerInstallTargetPreferences(contentType),
|
targetPreferences: getServerInstallTargetPreferences(contentType),
|
||||||
getProjectVersions: getInstallProjectVersions,
|
getProjectVersions: getInstallProjectVersions,
|
||||||
queue: serverInstallQueue,
|
queue: serverInstallQueue,
|
||||||
|
|||||||
@@ -388,6 +388,22 @@ export function getLoaderFilterTypes(contentType: string) {
|
|||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SERVER_RUNTIME_INSTALL_FILTER_TYPES = new Set([
|
||||||
|
'game_version',
|
||||||
|
'mod_loader',
|
||||||
|
'plugin_loader',
|
||||||
|
'plugin_platform',
|
||||||
|
'datapack_loader',
|
||||||
|
])
|
||||||
|
|
||||||
|
export function stripServerRuntimeInstallFilters(filters: readonly FilterValue[]) {
|
||||||
|
return filters.filter((filter) => !SERVER_RUNTIME_INSTALL_FILTER_TYPES.has(filter.type))
|
||||||
|
}
|
||||||
|
|
||||||
|
export function stripServerRuntimeInstallOverrides(filterTypes: readonly string[]) {
|
||||||
|
return filterTypes.filter((type) => !SERVER_RUNTIME_INSTALL_FILTER_TYPES.has(type))
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merges user-selected filters with target-provided filters for install decisions.
|
* Merges user-selected filters with target-provided filters for install decisions.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user