From 9c309e6da2c6eb7c13753b8cb2d026f1bfdeb5b6 Mon Sep 17 00:00:00 2001 From: Truman Gao <106889354+tdgao@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:46:07 -0700 Subject: [PATCH] fix: various fixes for versions (#5238) * fix: environment not showing when has mod loaders * fix: weird snapshot format by only grouping consecutive tags with 3 or more * fix: 26.1 snapshots not grouped properly in mc version picker * remove debug console.log --- .../components/McVersionPicker.vue | 2 +- .../src/providers/version/manage-version-modal.ts | 9 ++++++--- packages/utils/projects.ts | 11 ++++++----- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/apps/frontend/src/components/ui/create-project-version/components/McVersionPicker.vue b/apps/frontend/src/components/ui/create-project-version/components/McVersionPicker.vue index 8387f7236..2f5758b54 100644 --- a/apps/frontend/src/components/ui/create-project-version/components/McVersionPicker.vue +++ b/apps/frontend/src/components/ui/create-project-version/components/McVersionPicker.vue @@ -155,7 +155,7 @@ function groupVersions(gameVersions: GameVersion[]) { const groups: Record = {} - let currentGroupKey = getSnapshotGroupKey(gameVersions.find((v) => v.major)?.version || '') + let currentGroupKey gameVersions.forEach((gameVersion) => { if (gameVersion.version_type === 'release') { diff --git a/apps/frontend/src/providers/version/manage-version-modal.ts b/apps/frontend/src/providers/version/manage-version-modal.ts index e72a16eb8..9ddf366a1 100644 --- a/apps/frontend/src/providers/version/manage-version-modal.ts +++ b/apps/frontend/src/providers/version/manage-version-modal.ts @@ -426,9 +426,12 @@ export function createManageVersionContext( } // Stage visibility computeds (inlined) - const noEnvironmentProject = computed( - () => projectType.value !== 'mod' && projectType.value !== 'modpack', - ) + const noEnvironmentProject = computed(() => { + const hasModLoaders = draftVersion.value.loaders.some((loader) => + PROJECT_TYPE_LOADERS.mod.includes(loader), + ) + return !hasModLoaders && projectType.value !== 'modpack' + }) const noDependenciesProject = computed(() => projectType.value === 'modpack') const getProject = async (projectId: string) => { diff --git a/packages/utils/projects.ts b/packages/utils/projects.ts index 0f5f12ebf..2210850db 100644 --- a/packages/utils/projects.ts +++ b/packages/utils/projects.ts @@ -126,12 +126,13 @@ export function formatVersionsForDisplay( // show all snapshots if there's no release versions if (releaseVersionsAsRanges.length === 0) { - const snapshotVersionsAsRanges = groupConsecutiveIndices( - inputVersions.filter((projVer) => - allSnapshots.some((gameVer) => gameVer.version === projVer), - ), - allSnapshots, + const snapshotVersions = inputVersions.filter((projVer) => + allSnapshots.some((gameVer) => gameVer.version === projVer), ) + const snapshotVersionsAsRanges = + snapshotVersions.length > 3 + ? groupConsecutiveIndices(snapshotVersions, allSnapshots) + : snapshotVersions output = [...snapshotVersionsAsRanges, ...output] } else { output = [...releaseVersionsAsRanges, ...output]