From 2760ce60f020279e9482600b24d08cf800172538 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Sat, 22 Apr 2023 11:07:15 +0800 Subject: [PATCH 1/2] Fix list-unsubscribe header undefined --- packages/content-handler/src/content-handler.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/content-handler/src/content-handler.ts b/packages/content-handler/src/content-handler.ts index c7f7f1d61..ea19e2e4e 100644 --- a/packages/content-handler/src/content-handler.ts +++ b/packages/content-handler/src/content-handler.ts @@ -172,9 +172,9 @@ export abstract class ContentHandler { const url = (await this.parseNewsletterUrl(headers, html)) || generateUniqueUrl() const author = this.parseAuthor(from) - const unsubscribe = this.parseUnsubscribe( - headers['list-unsubscribe']?.toString() - ) + const unsubscribe = headers['list-unsubscribe'] + ? this.parseUnsubscribe(headers['list-unsubscribe']?.toString()) + : undefined return { email: to, @@ -182,8 +182,8 @@ export abstract class ContentHandler { url, title: subject, author, - unsubMailTo: unsubscribe.mailTo || '', - unsubHttpUrl: unsubscribe.httpUrl || '', + unsubMailTo: unsubscribe?.mailTo || '', + unsubHttpUrl: unsubscribe?.httpUrl || '', } } } From 187ad654e7f1b7190475ca42144cbf76d65d5d83 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Sat, 22 Apr 2023 12:29:46 +0800 Subject: [PATCH 2/2] Add debug logs --- packages/content-handler/src/content-handler.ts | 2 +- packages/inbound-email-handler/src/index.ts | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/content-handler/src/content-handler.ts b/packages/content-handler/src/content-handler.ts index ea19e2e4e..ae3a81636 100644 --- a/packages/content-handler/src/content-handler.ts +++ b/packages/content-handler/src/content-handler.ts @@ -173,7 +173,7 @@ export abstract class ContentHandler { (await this.parseNewsletterUrl(headers, html)) || generateUniqueUrl() const author = this.parseAuthor(from) const unsubscribe = headers['list-unsubscribe'] - ? this.parseUnsubscribe(headers['list-unsubscribe']?.toString()) + ? this.parseUnsubscribe(headers['list-unsubscribe'].toString()) : undefined return { diff --git a/packages/inbound-email-handler/src/index.ts b/packages/inbound-email-handler/src/index.ts index c34d5f4e0..4ecf6fb57 100644 --- a/packages/inbound-email-handler/src/index.ts +++ b/packages/inbound-email-handler/src/index.ts @@ -189,7 +189,13 @@ export const inboundEmailHandler = Sentry.GCPFunction.wrapHttpFunction( }) res.send('newsletter received') } catch (error) { - console.log('error handling emails, will forward.', from, to, subject) + console.log( + 'error handling emails, will forward.', + from, + to, + subject, + error + ) // queue error emails await pubsub.topic(NON_NEWSLETTER_EMAIL_TOPIC).publishMessage({ json: {