fix: project version page dependencies showing "unknown project" unless refresh (#5366)

* fix not updating stale dependencies

* remove console log

* fix wragnler json formatting

* add proper loading dependencies

* pnpm prepr

* move v-if
This commit is contained in:
Truman Gao
2026-02-13 17:31:17 -07:00
committed by GitHub
parent 9432d6d5e8
commit d1e4c1039f
2 changed files with 96 additions and 75 deletions

View File

@@ -207,6 +207,10 @@
class="version-page__dependencies universal-card" class="version-page__dependencies universal-card"
> >
<h3>Dependencies</h3> <h3>Dependencies</h3>
<div v-if="dependenciesLoading"><SpinnerIcon /> Loading dependencies...</div>
<template v-if="!dependenciesLoading">
<div <div
v-for="(dependency, index) in sortedDeps.filter((x) => !x.file_name)" v-for="(dependency, index) in sortedDeps.filter((x) => !x.file_name)"
:key="index" :key="index"
@@ -250,6 +254,7 @@
</button> </button>
</ButtonStyled> </ButtonStyled>
</div> </div>
<div <div
v-for="(dependency, index) in sortedDeps.filter((x) => x.file_name)" v-for="(dependency, index) in sortedDeps.filter((x) => x.file_name)"
:key="index" :key="index"
@@ -263,6 +268,7 @@
<span class="dep-type" :class="dependency.dependency_type">Added via overrides</span> <span class="dep-type" :class="dependency.dependency_type">Added via overrides</span>
</div> </div>
</div> </div>
</template>
</div> </div>
<div class="version-page__files universal-card"> <div class="version-page__files universal-card">
<h3>Files</h3> <h3>Files</h3>
@@ -415,6 +421,7 @@ import {
ReportIcon, ReportIcon,
RightArrowIcon, RightArrowIcon,
SaveIcon, SaveIcon,
SpinnerIcon,
StarIcon, StarIcon,
TrashIcon, TrashIcon,
XIcon, XIcon,
@@ -465,6 +472,7 @@ const {
versions: contextVersions, versions: contextVersions,
loadVersions, loadVersions,
dependencies: contextDependencies, dependencies: contextDependencies,
dependenciesLoading: contextDependenciesLoading,
loadDependencies, loadDependencies,
invalidate, invalidate,
} = injectProjectPageContext() } = injectProjectPageContext()
@@ -494,6 +502,11 @@ const showKnownErrors = ref(false)
const shouldPreventActions = ref(false) const shouldPreventActions = ref(false)
const uploadedImageIds = ref<string[]>([]) const uploadedImageIds = ref<string[]>([])
const dependenciesMetaLoading = ref(true)
const dependenciesLoading = computed(
() => contextDependenciesLoading.value || dependenciesMetaLoading.value,
)
// File types constant // File types constant
const fileTypes = ref([ const fileTypes = ref([
{ {
@@ -640,7 +653,11 @@ alternateFile.value = version.value.files?.find(
) )
// Process dependencies // Process dependencies
watch(
[contextDependencies],
() => {
const deps = contextDependencies.value ?? { projects: [], versions: [] } const deps = contextDependencies.value ?? { projects: [], versions: [] }
for (const dependency of version.value.dependencies ?? []) { for (const dependency of version.value.dependencies ?? []) {
dependency.version = deps.versions.find((x: any) => x.id === dependency.version_id) dependency.version = deps.versions.find((x: any) => x.id === dependency.version_id)
@@ -658,6 +675,10 @@ for (const dependency of version.value.dependencies ?? []) {
}` }`
: '' : ''
} }
dependenciesMetaLoading.value = false
},
{ deep: true, immediate: true },
)
oldFileTypes.value = (version.value.files ?? []).map( oldFileTypes.value = (version.value.files ?? []).map(
(x: any) => fileTypes.value.find((y) => y.value === x.file_type) ?? null, (x: any) => fileTypes.value.find((y) => y.value === x.file_type) ?? null,