// Module-level memo of decrypted-attachment data URLs by handle id. // Survives screen unmounts (e.g. user pops in and out of a conversation) // but evicts on app restart — good enough for Phase 2; an LRU + disk // cache is a later polish. const cache = new Map(); export function getCachedAttachment(id: string): string | undefined { return cache.get(id); } export function setCachedAttachment(id: string, dataUrl: string): void { cache.set(id, dataUrl); } export function clearAttachmentCache(): void { cache.clear(); }