fix: effect loop (#24014)

This commit is contained in:
Jason Rasmussen
2025-11-20 07:52:37 -05:00
committed by GitHub
parent edbdc14178
commit 1a31faf1a2
6 changed files with 49 additions and 30 deletions

View File

@@ -1,8 +1,10 @@
<script lang="ts">
import { releaseManager } from '$lib/managers/release-manager.svelte';
import ServerAboutModal from '$lib/modals/ServerAboutModal.svelte';
import { user } from '$lib/stores/user.store';
import { userInteraction } from '$lib/stores/user.svelte';
import { websocketStore } from '$lib/stores/websocket';
import type { ReleaseEvent } from '$lib/types';
import { semverToName } from '$lib/utils';
import { requestServerInfo } from '$lib/utils/auth';
import {
@@ -16,7 +18,7 @@
import { onMount } from 'svelte';
import { t } from 'svelte-i18n';
const { serverVersion, connected, release } = websocketStore;
const { serverVersion, connected } = websocketStore;
let info: ServerAboutResponseDto | undefined = $state();
let versions: ServerVersionHistoryResponseDto[] = $state([]);
@@ -37,20 +39,22 @@
$serverVersion ? `v${$serverVersion.major}.${$serverVersion.minor}.${$serverVersion.patch}` : null,
);
const releaseInfo = $derived.by(() => {
if ($release == undefined || !$release?.isAvailable || !$user.isAdmin) {
const getReleaseInfo = (release?: ReleaseEvent) => {
if (!release || !release?.isAvailable || !$user.isAdmin) {
return;
}
const availableVersion = semverToName($release.releaseVersion);
const serverVersion = semverToName($release.serverVersion);
const availableVersion = semverToName(release.releaseVersion);
const serverVersion = semverToName(release.serverVersion);
if (serverVersion === availableVersion) {
return;
}
return { availableVersion, releaseUrl: `https://github.com/immich-app/immich/releases/tag/${availableVersion}` };
});
};
const releaseInfo = $derived(getReleaseInfo(releaseManager.value));
</script>
<div