Sert les couvertures depuis IndexedDB aussi en ligne, et libère les blob:

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-20 23:09:17 +02:00
co-authored by Claude Opus 5
parent 70f6844a95
commit bdcf97a3e6
5 changed files with 145 additions and 26 deletions
@@ -154,3 +154,15 @@ export async function couvertureLire(url) {
return null;
}
}
// Libère une URL d'objet rendue par `couvertureLire`. ⚠️ Indispensable depuis que le cache sert
// AUSSI en ligne : chaque `createObjectURL` retient son Blob en mémoire jusqu'à ce qu'on le
// révoque ou que la page se ferme. Hors-ligne seul, la fuite restait bornée à une consultation
// ponctuelle ; sur toutes les vignettes de tous les écrans, elle ne l'est plus.
export function couvertureLiberer(url) {
try {
if (url) URL.revokeObjectURL(url);
} catch (e) {
// Rien à faire : libérer est un agrément, jamais une condition de bon fonctionnement.
}
}