From e9b6d0ffb46940096a87e53d2685146406ccdfbf Mon Sep 17 00:00:00 2001 From: William Wong Date: Wed, 6 Feb 2019 16:35:35 -0800 Subject: [PATCH 1/6] Hide suggested actions not destinated to the user --- CHANGELOG.md | 1 + ...ons-not-destinated-for-the-user-1-snap.png | Bin 0 -> 22929 bytes __tests__/suggestedActions.js | 18 ++++++++++++++++++ .../core/src/sagas/incomingActivitySaga.js | 9 +++++++-- 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 __tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destinated-for-the-user-1-snap.png diff --git a/CHANGELOG.md b/CHANGELOG.md index a7075225f1..e1d6243364 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `bundle`: Fix [#1652](https://github.com/Microsoft/BotFramework-WebChat/issues/1652). Pass `pollingInterval` to DirectLineJS constructor, by [@neetu-das](https://github.com/neetu-das) in PR [#1655](https://github.com/Microsoft/BotFramework-WebChat/pull/1655) - `core`: Reworked logic on connect/disconnect for reliability on handling corner cases, by [@compulim](https://github.com/compulim) in PR [#1649](https://github.com/Microsoft/BotFramework-WebChat/pull/1649) - `core`: Fix [#1521](https://github.com/Microsoft/BotFramework-WebChat/issues/1521). Add connectivity status component and update localization, by [@corinagum](https://github.com/corinagum) in PR [#1679](https://github.com/Microsoft/BotFramework-WebChat/pull/1679) +- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destinated for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#XXX](https://github.com/Microsoft/BotFramework-WebChat/pull/XXX) ### Removed - `botAvatarImage` and `userAvatarImage` props, as they are moved inside `styleOptions`, in PR [#1486](https://github.com/Microsoft/BotFramework-WebChat/pull/1486) diff --git a/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destinated-for-the-user-1-snap.png b/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destinated-for-the-user-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..3aff84b768d5db12065835c8b2289bf91e189073 GIT binary patch literal 22929 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 { expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); }, 60000); + + test('should not show suggested actions not destinated for the user', async () => { + const { driver, pageObjects } = await setupWebDriver(); + + await driver.wait(botConnected(), timeouts.directLine); + + const input = await driver.findElement(By.css('input[type="text"]')); + + await input.sendKeys('suggested-actions others', Key.RETURN); + await driver.wait(allOutgoingActivitiesSent(), timeouts.directLine); + + await driver.wait(minNumActivitiesShown(3), timeouts.directLine); + await pageObjects.hideCursor(); + + const base64PNG = await driver.takeScreenshot(); + + expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); + }, 60000); }); diff --git a/packages/core/src/sagas/incomingActivitySaga.js b/packages/core/src/sagas/incomingActivitySaga.js index 665f369a4d..bc2985cfa9 100644 --- a/packages/core/src/sagas/incomingActivitySaga.js +++ b/packages/core/src/sagas/incomingActivitySaga.js @@ -26,13 +26,18 @@ function* observeActivity({ directLine, userID }) { yield put(incomingActivity(activity)); // Update suggested actions + // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched const messageActivities = yield select(activitiesOfType('message')); const lastMessageActivity = messageActivities[messageActivities.length - 1]; if (activityFromBot(lastMessageActivity)) { - const { suggestedActions: { actions } = {} } = lastMessageActivity; + const { suggestedActions: { actions, to } = {} } = lastMessageActivity; - yield put(setSuggestedActions(actions)); + if (!to || !to.length || to.includes(userID)) { + yield put(setSuggestedActions(actions)); + } else { + yield put(setSuggestedActions()); + } } }); } From d5a71cb40b25ec6cb69447ac74d461a66d6a9ae3 Mon Sep 17 00:00:00 2001 From: William Wong Date: Wed, 6 Feb 2019 16:39:05 -0800 Subject: [PATCH 2/6] Update PR number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1d6243364..16d55c9bb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `bundle`: Fix [#1652](https://github.com/Microsoft/BotFramework-WebChat/issues/1652). Pass `pollingInterval` to DirectLineJS constructor, by [@neetu-das](https://github.com/neetu-das) in PR [#1655](https://github.com/Microsoft/BotFramework-WebChat/pull/1655) - `core`: Reworked logic on connect/disconnect for reliability on handling corner cases, by [@compulim](https://github.com/compulim) in PR [#1649](https://github.com/Microsoft/BotFramework-WebChat/pull/1649) - `core`: Fix [#1521](https://github.com/Microsoft/BotFramework-WebChat/issues/1521). Add connectivity status component and update localization, by [@corinagum](https://github.com/corinagum) in PR [#1679](https://github.com/Microsoft/BotFramework-WebChat/pull/1679) -- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destinated for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#XXX](https://github.com/Microsoft/BotFramework-WebChat/pull/XXX) +- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destinated for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#1706](https://github.com/Microsoft/BotFramework-WebChat/pull/1706) ### Removed - `botAvatarImage` and `userAvatarImage` props, as they are moved inside `styleOptions`, in PR [#1486](https://github.com/Microsoft/BotFramework-WebChat/pull/1486) From b48c48f49ffee3f121d4308494bbcb0dbbd4465c Mon Sep 17 00:00:00 2001 From: Corina Date: Thu, 7 Feb 2019 12:45:05 -0800 Subject: [PATCH 3/6] Apply suggestions from code review Co-Authored-By: compulim --- CHANGELOG.md | 2 +- __tests__/suggestedActions.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16d55c9bb0..82f5789872 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `bundle`: Fix [#1652](https://github.com/Microsoft/BotFramework-WebChat/issues/1652). Pass `pollingInterval` to DirectLineJS constructor, by [@neetu-das](https://github.com/neetu-das) in PR [#1655](https://github.com/Microsoft/BotFramework-WebChat/pull/1655) - `core`: Reworked logic on connect/disconnect for reliability on handling corner cases, by [@compulim](https://github.com/compulim) in PR [#1649](https://github.com/Microsoft/BotFramework-WebChat/pull/1649) - `core`: Fix [#1521](https://github.com/Microsoft/BotFramework-WebChat/issues/1521). Add connectivity status component and update localization, by [@corinagum](https://github.com/corinagum) in PR [#1679](https://github.com/Microsoft/BotFramework-WebChat/pull/1679) -- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destinated for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#1706](https://github.com/Microsoft/BotFramework-WebChat/pull/1706) +- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destined for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#1706](https://github.com/Microsoft/BotFramework-WebChat/pull/1706) ### Removed - `botAvatarImage` and `userAvatarImage` props, as they are moved inside `styleOptions`, in PR [#1486](https://github.com/Microsoft/BotFramework-WebChat/pull/1486) diff --git a/__tests__/suggestedActions.js b/__tests__/suggestedActions.js index cd029c249e..bc600e1529 100644 --- a/__tests__/suggestedActions.js +++ b/__tests__/suggestedActions.js @@ -149,7 +149,7 @@ describe('suggested-actions command', async () => { expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); }, 60000); - test('should not show suggested actions not destinated for the user', async () => { + test('should not show suggested actions not destined for the user', async () => { const { driver, pageObjects } = await setupWebDriver(); await driver.wait(botConnected(), timeouts.directLine); From 70cfacdb53abb82809da2874372149f4b0381384 Mon Sep 17 00:00:00 2001 From: William Wong Date: Thu, 7 Feb 2019 12:45:26 -0800 Subject: [PATCH 4/6] Tag with core --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82f5789872..6d96ae5e45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `bundle`: Fix [#1652](https://github.com/Microsoft/BotFramework-WebChat/issues/1652). Pass `pollingInterval` to DirectLineJS constructor, by [@neetu-das](https://github.com/neetu-das) in PR [#1655](https://github.com/Microsoft/BotFramework-WebChat/pull/1655) - `core`: Reworked logic on connect/disconnect for reliability on handling corner cases, by [@compulim](https://github.com/compulim) in PR [#1649](https://github.com/Microsoft/BotFramework-WebChat/pull/1649) - `core`: Fix [#1521](https://github.com/Microsoft/BotFramework-WebChat/issues/1521). Add connectivity status component and update localization, by [@corinagum](https://github.com/corinagum) in PR [#1679](https://github.com/Microsoft/BotFramework-WebChat/pull/1679) -- Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destined for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#1706](https://github.com/Microsoft/BotFramework-WebChat/pull/1706) +- `core`: Fix [#1057](https://github.com/Microsoft/BotFramework-WebChat/issues/1057). Fixed suggested actions destined for other recipients should not show up, by [@compulim](https://github.com/compulim) in PR [#1706](https://github.com/Microsoft/BotFramework-WebChat/pull/1706) ### Removed - `botAvatarImage` and `userAvatarImage` props, as they are moved inside `styleOptions`, in PR [#1486](https://github.com/Microsoft/BotFramework-WebChat/pull/1486) From 496b519e3aff49cec5c187270d3a9aa3b3ae4748 Mon Sep 17 00:00:00 2001 From: William Wong Date: Thu, 7 Feb 2019 18:32:27 -0800 Subject: [PATCH 5/6] Adding snapshot --- ...actions-not-destined-for-the-user-1-snap.png | Bin 0 -> 22929 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 __tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destined-for-the-user-1-snap.png diff --git a/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destined-for-the-user-1-snap.png b/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-not-show-suggested-actions-not-destined-for-the-user-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..3aff84b768d5db12065835c8b2289bf91e189073 GIT binary patch literal 22929 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 Date: Fri, 8 Feb 2019 10:45:57 -0800 Subject: [PATCH 6/6] Simplify the logic --- packages/core/src/sagas/incomingActivitySaga.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/core/src/sagas/incomingActivitySaga.js b/packages/core/src/sagas/incomingActivitySaga.js index bc2985cfa9..fa8538f8b4 100644 --- a/packages/core/src/sagas/incomingActivitySaga.js +++ b/packages/core/src/sagas/incomingActivitySaga.js @@ -26,18 +26,16 @@ function* observeActivity({ directLine, userID }) { yield put(incomingActivity(activity)); // Update suggested actions - // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched + // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched. const messageActivities = yield select(activitiesOfType('message')); const lastMessageActivity = messageActivities[messageActivities.length - 1]; if (activityFromBot(lastMessageActivity)) { const { suggestedActions: { actions, to } = {} } = lastMessageActivity; - if (!to || !to.length || to.includes(userID)) { - yield put(setSuggestedActions(actions)); - } else { - yield put(setSuggestedActions()); - } + // If suggested actions is not destined to anyone, or is destined to the user, show it. + // In other words, if suggested actions is destined to someone else, don't show it. + yield put(setSuggestedActions(to && to.length && !to.includes(userID) ? null : actions)); } }); }