삭제된 파일의 캐시가 존재하는 경우 캐시 페이지의 로딩이 끝나지 않는 버그 수정

This commit is contained in:
static committed 2026-01-01 21:41:53 +09:00
1 parent 182ec18a2b
commit 841c57e8fc
16 files changed
+98 -59

No files matched your search

@@ -5,7 +5,7 @@
import { page } from "$app/state";
import { FullscreenDiv } from "$lib/components/atoms";
import { Categories, IconEntryButton, TopBar } from "$lib/components/molecules";
import { getFileInfo, type FileInfo } from "$lib/modules/filesystem";
import { getFileInfo, type FileInfo, type MaybeFileInfo } from "$lib/modules/filesystem";
import { captureVideoThumbnail } from "$lib/modules/thumbnail";
import { getFileDownloadState } from "$lib/modules/file";
import { masterKeyStore } from "$lib/stores";
@@ -26,7 +26,7 @@
let { data } = $props();
let infoPromise: Promise<FileInfo | null> | undefined = $state();
let infoPromise: Promise<MaybeFileInfo> | undefined = $state();
let info: FileInfo | null = $state(null);
let downloadState = $derived(getFileDownloadState(data.id));
@@ -75,7 +75,9 @@
$effect(() => {
infoPromise = getFileInfo(data.id, $masterKeyStore?.get(1)?.key!).then((fileInfo) => {
info = fileInfo;
if (fileInfo.exists) {
info = fileInfo;
}
return fileInfo;
});
info = null;
@@ -2,7 +2,7 @@
import { BottomDiv, BottomSheet, Button, FullscreenDiv } from "$lib/components/atoms";
import { SubCategories } from "$lib/components/molecules";
import { CategoryCreateModal } from "$lib/components/organisms";
import { getCategoryInfo, type CategoryInfo } from "$lib/modules/filesystem";
import { getCategoryInfo, type MaybeCategoryInfo } from "$lib/modules/filesystem";
import { masterKeyStore } from "$lib/stores";
import { requestCategoryCreation } from "./service";
@@ -13,7 +13,7 @@
let { onAddToCategoryClick, isOpen = $bindable() }: Props = $props();
let categoryInfoPromise: Promise<CategoryInfo | null> | undefined = $state();
let categoryInfoPromise: Promise<MaybeCategoryInfo> | undefined = $state();
let isCategoryCreateModalOpen = $state(false);
@@ -25,7 +25,7 @@
</script>
{#await categoryInfoPromise then categoryInfo}
{#if categoryInfo}
{#if categoryInfo?.exists}
<BottomSheet bind:isOpen class="flex flex-col">
<FullscreenDiv>
<SubCategories
@@ -23,7 +23,9 @@
{#await filesPromise then files}
<div class="space-y-2 pb-4">
{#each files as file, index}
<File state={downloadingFiles[index]!} info={file} />
{#if file.exists}
<File state={downloadingFiles[index]!} info={file} />
{/if}
{/each}
</div>
{/await}