fix: better handling of datapacks in frontend & desync issues between browse page impl in app and website

This commit is contained in:
Calum H. (IMB11)
2026-06-26 17:09:23 +01:00
parent 7618f9bc09
commit 32ca8d549b
7 changed files with 136 additions and 44 deletions
+15 -4
View File
@@ -24,6 +24,8 @@ import {
provideBrowseManager,
requestInstall,
SelectedProjectsFloatingBar,
stripServerRuntimeInstallFilters,
stripServerRuntimeInstallOverrides,
useBrowseSearch,
useStickyObserver,
useVIntl,
@@ -497,7 +499,13 @@ watch(
router.replace({
path: `/browse/${targetProjectType}`,
query: route.query,
query: {
sid: route.query.sid,
wid: route.query.wid,
shi: route.query.shi,
from: route.query.from,
q: route.query.q,
},
})
},
{ immediate: true },
@@ -708,7 +716,6 @@ async function chooseInstanceInstallVersion(
const selectedVersion = getLatestMatchingInstallVersion(
await getInstallProjectVersions(project.project_id),
selectedPreferences,
projectTypeValue,
)
if (!selectedVersion) {
@@ -790,11 +797,15 @@ function getCardActions(
project: projectResult,
contentType,
mode: isModpack ? 'immediate' : 'queue',
selectedFilters: isModpack ? [] : searchState.currentFilters.value,
selectedFilters: isModpack
? []
: stripServerRuntimeInstallFilters(searchState.currentFilters.value),
providedFilters: isModpack ? [] : combinedProvidedFilters.value,
overriddenProvidedFilterTypes: isModpack
? []
: searchState.overriddenProvidedFilterTypes.value,
: stripServerRuntimeInstallOverrides(
searchState.overriddenProvidedFilterTypes.value,
),
targetPreferences: getServerInstallTargetPreferences(contentType),
getProjectVersions: getInstallProjectVersions,
queue: serverInstallQueue,
@@ -567,6 +567,7 @@ export function createServerInstallContent(opts: {
plans.map((plan) => ({
project_id: plan.projectId,
version_id: plan.versionId,
kind: plan.contentType as Archon.Content.v1.AddonKind,
})),
),
onQueueChange: (plans) => setStoredServerInstallPlans(serverId, worldId, plans),