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:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user