From baf1e8f2584478393ac7bab4920ecba421c1f2c2 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 12:09:10 -0700 Subject: [PATCH 1/7] Fix b/232072111 --- .../messaging/src/helpers/externalizePayload.test.ts | 11 ++++++++--- packages/messaging/src/helpers/externalizePayload.ts | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/messaging/src/helpers/externalizePayload.test.ts b/packages/messaging/src/helpers/externalizePayload.test.ts index 60baedf02f6..5bb6844e340 100644 --- a/packages/messaging/src/helpers/externalizePayload.test.ts +++ b/packages/messaging/src/helpers/externalizePayload.test.ts @@ -26,7 +26,8 @@ describe('externalizePayload', () => { notification: { title: 'title', body: 'body', - image: 'image' + image: 'image', + click_action: "https://www.self_orgin.com", }, from: 'from', // eslint-disable-next-line camelcase @@ -39,7 +40,10 @@ describe('externalizePayload', () => { notification: { title: 'title', body: 'body', image: 'image' }, from: 'from', collapseKey: 'collapse', - messageId: 'mid' + messageId: 'mid', + fcmOptions: { + link: "https://www.self_orgin.com" + }, }; expect(externalizePayload(internalPayload)).to.deep.equal(payload); }); @@ -62,7 +66,8 @@ describe('externalizePayload', () => { data: { foo: 'foo', bar: 'bar', baz: 'baz' }, from: 'from', collapseKey: 'collapse', - messageId: 'mid' + messageId: 'mid', + }; expect(externalizePayload(internalPayload)).to.deep.equal(payload); }); diff --git a/packages/messaging/src/helpers/externalizePayload.ts b/packages/messaging/src/helpers/externalizePayload.ts index 0c4ed0b79f6..6dda0fc0b80 100644 --- a/packages/messaging/src/helpers/externalizePayload.ts +++ b/packages/messaging/src/helpers/externalizePayload.ts @@ -83,7 +83,7 @@ function propagateFcmOptions( payload.fcmOptions = {}; - const link = messagePayloadInternal.fcmOptions!.link; + const link = messagePayloadInternal.fcmOptions?.link ?? messagePayloadInternal.notification?.click_action; if (!!link) { payload.fcmOptions!.link = link; } From ad5c43c43a55e0316b5779330d39ed571d4043e4 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 12:09:15 -0700 Subject: [PATCH 2/7] Update externalizePayload.ts --- packages/messaging/src/helpers/externalizePayload.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/messaging/src/helpers/externalizePayload.ts b/packages/messaging/src/helpers/externalizePayload.ts index 6dda0fc0b80..3ab09ea7fad 100644 --- a/packages/messaging/src/helpers/externalizePayload.ts +++ b/packages/messaging/src/helpers/externalizePayload.ts @@ -83,6 +83,7 @@ function propagateFcmOptions( payload.fcmOptions = {}; + // fcmOptions.link value is written into notification.click_action. see more in b/232072111 const link = messagePayloadInternal.fcmOptions?.link ?? messagePayloadInternal.notification?.click_action; if (!!link) { payload.fcmOptions!.link = link; From b52613197bcceae0586a11159fc1ecf1f777f419 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 12:29:30 -0700 Subject: [PATCH 3/7] Format w/ Prettier --- .../messaging/src/helpers/externalizePayload.test.ts | 9 ++++----- packages/messaging/src/helpers/externalizePayload.ts | 4 +++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/messaging/src/helpers/externalizePayload.test.ts b/packages/messaging/src/helpers/externalizePayload.test.ts index 5bb6844e340..5d7223e9c69 100644 --- a/packages/messaging/src/helpers/externalizePayload.test.ts +++ b/packages/messaging/src/helpers/externalizePayload.test.ts @@ -27,7 +27,7 @@ describe('externalizePayload', () => { title: 'title', body: 'body', image: 'image', - click_action: "https://www.self_orgin.com", + click_action: 'https://www.self_orgin.com' }, from: 'from', // eslint-disable-next-line camelcase @@ -42,8 +42,8 @@ describe('externalizePayload', () => { collapseKey: 'collapse', messageId: 'mid', fcmOptions: { - link: "https://www.self_orgin.com" - }, + link: 'https://www.self_orgin.com' + } }; expect(externalizePayload(internalPayload)).to.deep.equal(payload); }); @@ -66,8 +66,7 @@ describe('externalizePayload', () => { data: { foo: 'foo', bar: 'bar', baz: 'baz' }, from: 'from', collapseKey: 'collapse', - messageId: 'mid', - + messageId: 'mid' }; expect(externalizePayload(internalPayload)).to.deep.equal(payload); }); diff --git a/packages/messaging/src/helpers/externalizePayload.ts b/packages/messaging/src/helpers/externalizePayload.ts index 3ab09ea7fad..b36cc01cd7f 100644 --- a/packages/messaging/src/helpers/externalizePayload.ts +++ b/packages/messaging/src/helpers/externalizePayload.ts @@ -84,7 +84,9 @@ function propagateFcmOptions( payload.fcmOptions = {}; // fcmOptions.link value is written into notification.click_action. see more in b/232072111 - const link = messagePayloadInternal.fcmOptions?.link ?? messagePayloadInternal.notification?.click_action; + const link = + messagePayloadInternal.fcmOptions?.link ?? + messagePayloadInternal.notification?.click_action; if (!!link) { payload.fcmOptions!.link = link; } From 7d46fed108d229267d5c6aa5a87e44bdb0a64572 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 12:46:50 -0700 Subject: [PATCH 4/7] Yarn lint fix --- packages/messaging/src/helpers/externalizePayload.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/messaging/src/helpers/externalizePayload.test.ts b/packages/messaging/src/helpers/externalizePayload.test.ts index 5d7223e9c69..be07874dbe1 100644 --- a/packages/messaging/src/helpers/externalizePayload.test.ts +++ b/packages/messaging/src/helpers/externalizePayload.test.ts @@ -27,6 +27,7 @@ describe('externalizePayload', () => { title: 'title', body: 'body', image: 'image', + // eslint-disable-next-line camelcase click_action: 'https://www.self_orgin.com' }, from: 'from', From d4b9fea7ef1dadc53a30a39436460a63b09f624c Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 14:00:03 -0700 Subject: [PATCH 5/7] update --- packages/messaging/src/helpers/externalizePayload.test.ts | 4 ++-- packages/messaging/src/helpers/externalizePayload.ts | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/messaging/src/helpers/externalizePayload.test.ts b/packages/messaging/src/helpers/externalizePayload.test.ts index be07874dbe1..f800a3323eb 100644 --- a/packages/messaging/src/helpers/externalizePayload.test.ts +++ b/packages/messaging/src/helpers/externalizePayload.test.ts @@ -85,7 +85,7 @@ describe('externalizePayload', () => { baz: 'baz' }, fcmOptions: { - link: 'link', + link: 'https://www.self_orgin.com', // eslint-disable-next-line camelcase analytics_label: 'label' }, @@ -108,7 +108,7 @@ describe('externalizePayload', () => { baz: 'baz' }, fcmOptions: { - link: 'link', + link: 'https://www.self_orgin.com', analyticsLabel: 'label' }, from: 'from', diff --git a/packages/messaging/src/helpers/externalizePayload.ts b/packages/messaging/src/helpers/externalizePayload.ts index b36cc01cd7f..95c1d8fa538 100644 --- a/packages/messaging/src/helpers/externalizePayload.ts +++ b/packages/messaging/src/helpers/externalizePayload.ts @@ -77,22 +77,23 @@ function propagateFcmOptions( payload: MessagePayload, messagePayloadInternal: MessagePayloadInternal ): void { - if (!messagePayloadInternal.fcmOptions) { + // fcmOptions.link value is written into notification.click_action. see more in b/232072111 + if (!messagePayloadInternal.fcmOptions && !messagePayloadInternal.notification?.click_action) { return; } payload.fcmOptions = {}; - // fcmOptions.link value is written into notification.click_action. see more in b/232072111 const link = messagePayloadInternal.fcmOptions?.link ?? messagePayloadInternal.notification?.click_action; + if (!!link) { payload.fcmOptions!.link = link; } // eslint-disable-next-line camelcase - const analyticsLabel = messagePayloadInternal.fcmOptions!.analytics_label; + const analyticsLabel = messagePayloadInternal.fcmOptions?.analytics_label; if (!!analyticsLabel) { payload.fcmOptions!.analyticsLabel = analyticsLabel; } From 832f8ed10aca38d9c2bd47b03b4393e87ed747d7 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 14:26:32 -0700 Subject: [PATCH 6/7] Update externalizePayload.ts --- packages/messaging/src/helpers/externalizePayload.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/messaging/src/helpers/externalizePayload.ts b/packages/messaging/src/helpers/externalizePayload.ts index 95c1d8fa538..6553fa8c631 100644 --- a/packages/messaging/src/helpers/externalizePayload.ts +++ b/packages/messaging/src/helpers/externalizePayload.ts @@ -77,8 +77,11 @@ function propagateFcmOptions( payload: MessagePayload, messagePayloadInternal: MessagePayloadInternal ): void { - // fcmOptions.link value is written into notification.click_action. see more in b/232072111 - if (!messagePayloadInternal.fcmOptions && !messagePayloadInternal.notification?.click_action) { + // fcmOptions.link value is written into notification.click_action. see more in b/232072111 + if ( + !messagePayloadInternal.fcmOptions && + !messagePayloadInternal.notification?.click_action + ) { return; } From b7ec7bbfde96fccc463a9faf9d846c3819c931e6 Mon Sep 17 00:00:00 2001 From: Kai Wu Date: Thu, 2 Jun 2022 14:30:23 -0700 Subject: [PATCH 7/7] Create sour-hornets-care.md --- .changeset/sour-hornets-care.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sour-hornets-care.md diff --git a/.changeset/sour-hornets-care.md b/.changeset/sour-hornets-care.md new file mode 100644 index 00000000000..3f2f067fc93 --- /dev/null +++ b/.changeset/sour-hornets-care.md @@ -0,0 +1,5 @@ +--- +'@firebase/messaging': patch +--- + +Fix missing FcmOptions.link