Skip to content

Commit 48d05ed

Browse files
zagemelloCopilot
andauthored
Update frontend/src/stores/papers.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent b51eca1 commit 48d05ed

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

frontend/src/stores/papers.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,19 @@ export const usePaperStore = defineStore('paper', () => {
77

88
async function getPdf(paperId: number): Promise<Blob> {
99
const cached = pdfCache.get(paperId);
10-
if (cached) return cached;
10+
if (cached) {
11+
// refresh LRU position by reinserting the cached entry
12+
pdfCache.delete(paperId);
13+
pdfCache.set(paperId, cached);
14+
return cached;
15+
}
1116

12-
if (pdfCache.size > 40) {
13-
pdfCache.clear();
17+
// enforce a max cache size using a simple LRU eviction strategy
18+
if (pdfCache.size >= 40) {
19+
const oldestKey = pdfCache.keys().next().value as number | undefined;
20+
if (oldestKey !== undefined) {
21+
pdfCache.delete(oldestKey);
22+
}
1423
}
1524

1625
const blob = await fetchPaperPdf(paperId);

0 commit comments

Comments
 (0)