From 7b1c4cc72a300d23eff31d26e23b1e419471b5b5 Mon Sep 17 00:00:00 2001 From: Dream Hunter Date: Sat, 18 Jan 2025 13:26:09 +0800 Subject: [PATCH] fix: mail-parser-wasm parsedEmailContext cache (#560) --- .github/config/mail-parser-wasm-worker.patch | 12 +++++++----- worker/src/common.ts | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/config/mail-parser-wasm-worker.patch b/.github/config/mail-parser-wasm-worker.patch index b8b63a6b..289b9a80 100644 --- a/.github/config/mail-parser-wasm-worker.patch +++ b/.github/config/mail-parser-wasm-worker.patch @@ -1,8 +1,8 @@ diff --git a/worker/src/common.ts b/worker/src/common.ts -index 8b63e8f..6a7c844 100644 +index bd9bcc9..e7e2748 100644 --- a/worker/src/common.ts +++ b/worker/src/common.ts -@@ -273,22 +273,22 @@ export const commonParseMail = async (parsedEmailContext: ParsedEmailContext): P +@@ -273,23 +273,23 @@ export const commonParseMail = async (parsedEmailContext: ParsedEmailContext): P } const raw_mail = parsedEmailContext.rawEmail; // TODO: WASM parse email @@ -10,9 +10,9 @@ index 8b63e8f..6a7c844 100644 - // const { parse_message_wrapper } = await import('mail-parser-wasm-worker'); + try { + const { parse_message_wrapper } = await import('mail-parser-wasm-worker'); - + - // const parsedEmail = parse_message_wrapper(raw_mail); -- // return { +- // parsedEmailContext.parsedEmail = { - // sender: parsedEmail.sender || "", - // subject: parsedEmail.subject || "", - // text: parsedEmail.text || "", @@ -21,11 +21,12 @@ index 8b63e8f..6a7c844 100644 - // ) || [], - // html: parsedEmail.body_html || "", - // }; +- // return parsedEmailContext.parsedEmail; - // } catch (e) { - // console.error("Failed use mail-parser-wasm-worker to parse email", e); - // } + const parsedEmail = parse_message_wrapper(raw_mail); -+ return { ++ parsedEmailContext.parsedEmail = { + sender: parsedEmail.sender || "", + subject: parsedEmail.subject || "", + text: parsedEmail.text || "", @@ -34,6 +35,7 @@ index 8b63e8f..6a7c844 100644 + ) || [], + html: parsedEmail.body_html || "", + }; ++ return parsedEmailContext.parsedEmail; + } catch (e) { + console.error("Failed use mail-parser-wasm-worker to parse email", e); + } diff --git a/worker/src/common.ts b/worker/src/common.ts index 479a6112..bd9bcc96 100644 --- a/worker/src/common.ts +++ b/worker/src/common.ts @@ -277,7 +277,7 @@ export const commonParseMail = async (parsedEmailContext: ParsedEmailContext): P // const { parse_message_wrapper } = await import('mail-parser-wasm-worker'); // const parsedEmail = parse_message_wrapper(raw_mail); - // return { + // parsedEmailContext.parsedEmail = { // sender: parsedEmail.sender || "", // subject: parsedEmail.subject || "", // text: parsedEmail.text || "", @@ -286,6 +286,7 @@ export const commonParseMail = async (parsedEmailContext: ParsedEmailContext): P // ) || [], // html: parsedEmail.body_html || "", // }; + // return parsedEmailContext.parsedEmail; // } catch (e) { // console.error("Failed use mail-parser-wasm-worker to parse email", e); // }