Skip to content

Commit

Permalink
Fill Currently MissingFcmOptions.link (#6327)
Browse files Browse the repository at this point in the history
  • Loading branch information
zwu52 committed Jun 3, 2022
1 parent 2d6a414 commit c66d59c
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .changeset/sour-hornets-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@firebase/messaging': patch
---

Fix missing FcmOptions.link
13 changes: 9 additions & 4 deletions packages/messaging/src/helpers/externalizePayload.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ describe('externalizePayload', () => {
notification: {
title: 'title',
body: 'body',
image: 'image'
image: 'image',
// eslint-disable-next-line camelcase
click_action: 'https://www.self_orgin.com'
},
from: 'from',
// eslint-disable-next-line camelcase
Expand All @@ -39,7 +41,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);
});
Expand Down Expand Up @@ -80,7 +85,7 @@ describe('externalizePayload', () => {
baz: 'baz'
},
fcmOptions: {
link: 'link',
link: 'https://www.self_orgin.com',
// eslint-disable-next-line camelcase
analytics_label: 'label'
},
Expand All @@ -103,7 +108,7 @@ describe('externalizePayload', () => {
baz: 'baz'
},
fcmOptions: {
link: 'link',
link: 'https://www.self_orgin.com',
analyticsLabel: 'label'
},
from: 'from',
Expand Down
13 changes: 10 additions & 3 deletions packages/messaging/src/helpers/externalizePayload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,26 @@ 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 = {};

const link = messagePayloadInternal.fcmOptions!.link;
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;
}
Expand Down

0 comments on commit c66d59c

Please sign in to comment.