diff --git a/lib/services/email-service.ts b/lib/services/email-service.ts index b122d16f..805699ea 100644 --- a/lib/services/email-service.ts +++ b/lib/services/email-service.ts @@ -275,10 +275,12 @@ export async function getEmails( console.log(`Fetching emails for user ${userId}${accountId ? ` account ${accountId}` : ''} in folder ${folder}`); // Extract the base folder name if it's an account-specific folder - const baseFolder = accountId && folder.endsWith(`-${accountId}`) - ? folder.slice(0, -accountId.length - 1) + const baseFolder = accountId && folder.includes(`-${accountId}`) + ? folder.split(`-${accountId}`)[0] : folder; + console.log(`Using base folder name: ${baseFolder} for IMAP operations`); + // Try to get from cache first const cached = await getCachedEmailList(userId, accountId || 'default', folder, page, perPage); if (cached) { @@ -362,8 +364,10 @@ export async function getEmails( // Cache the result with the account-specific folder await cacheEmailList(userId, accountId || 'default', folder, page, perPage, result); - // No need to invalidate other accounts' caches since folders are now account-specific return result; + } catch (error) { + console.error(`Error fetching emails for folder ${baseFolder}:`, error); + throw error; } finally { try { await client.mailboxClose();