From 08315f678581b7f81fdd8687609d210cfcc50e42 Mon Sep 17 00:00:00 2001 From: Tony Anziano Date: Thu, 12 Mar 2020 11:58:51 -0700 Subject: [PATCH 1/9] Fixed missing item in File menu on Win / Lin. (#2100) * Fixed missing item in File menu on Win / Lin. * Fixed changelog entry PR # --- CHANGELOG.md | 1 + packages/app/client/src/ui/shell/appMenu/appMenu.spec.tsx | 2 +- packages/app/client/src/ui/shell/appMenu/appMenu.tsx | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5199592ea..127f69749 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [client] Fixed an issue that was causing adaptive card focus to be blurred when clicking on an activity in PR [2090](https://github.com/microsoft/BotFramework-Emulator/pull/2090) - [client] Fixed an accessibility issue with the recent bots list remove button in PR [2091](https://github.com/microsoft/BotFramework-Emulator/pull/2091) - [client] Copy secret key button now copies the secret key to the clipboar when creating a new bot file in PR [2098](https://github.com/microsoft/BotFramework-Emulator/pull/2098) +- [client] Fixed an issue on Windows & Linux where the "Close tab" item was missing in the File menu in PR [2100](https://github.com/microsoft/BotFramework-Emulator/pull/2100) ## Removed - [client/main] Removed legacy payments code in PR [2058](https://github.com/microsoft/BotFramework-Emulator/pull/2058) diff --git a/packages/app/client/src/ui/shell/appMenu/appMenu.spec.tsx b/packages/app/client/src/ui/shell/appMenu/appMenu.spec.tsx index 9fe69c197..d8366287b 100644 --- a/packages/app/client/src/ui/shell/appMenu/appMenu.spec.tsx +++ b/packages/app/client/src/ui/shell/appMenu/appMenu.spec.tsx @@ -129,7 +129,7 @@ describe('', () => { expect(Object.keys(menuTemplate)).toHaveLength(6); expect(menuTemplate['file'][3].items.length).toBe(4); // recent bots menu should be populated - expect(menuTemplate['file'][7].disabled).toBe(true); // "Close tab" should be disabled + expect(menuTemplate['file'][9].disabled).toBe(true); // "Close tab" should be disabled expect(menuTemplate['file'][14].items.length).toBe(3); // themes menu should be populated expect(menuTemplate['conversation'][0].disabled).toBe(true); // send activity menu should be disabled on welcome page }); diff --git a/packages/app/client/src/ui/shell/appMenu/appMenu.tsx b/packages/app/client/src/ui/shell/appMenu/appMenu.tsx index b2e9daf26..054f24d63 100644 --- a/packages/app/client/src/ui/shell/appMenu/appMenu.tsx +++ b/packages/app/client/src/ui/shell/appMenu/appMenu.tsx @@ -89,8 +89,8 @@ export class AppMenu extends React.Component { fileMenu[14].items = this.getThemeMenuItems(); fileMenu[3].items = this.getRecentBotsMenuItems(); // disable / enable "Close tab" button - fileMenu[7].disabled = !this.props.activeBot; - fileMenu[9] = this.getSignInMenuItem(); + fileMenu[9].disabled = !this.props.activeBot; + fileMenu[11] = this.getSignInMenuItem(); // disable / enable send conversation activities menu template['conversation'][0].disabled = From 12697fd93677c12f88e3e8cabbc6c717c4061fab Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Thu, 12 Mar 2020 13:35:46 -0700 Subject: [PATCH 2/9] Bump version to 4.8.0 (#2101) Signed-off-by: Srinaath Ravichandran Co-authored-by: Srinaath Ravichandran --- CHANGELOG.md | 3 +- package-lock.json | 249 ++++++++++++++++++--------------- packages/app/main/package.json | 2 +- 3 files changed, 141 insertions(+), 113 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 127f69749..16774a49d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased - +## v4.8.0 - 2019 - 03 - 12 ## Added - [client/main] Added Ngrok Status Viewer in PR [2032](https://github.com/microsoft/BotFramework-Emulator/pull/2032) - [client/main] Changed conversation infrastructure to use Web Sockets to communicate with Web Chat in PR [2034](https://github.com/microsoft/BotFramework-Emulator/pull/2034) diff --git a/package-lock.json b/package-lock.json index c7b6e1a89..08721b75b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -135,9 +135,9 @@ } }, "@babel/generator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", - "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "requires": { "@babel/types": "^7.8.7", "jsesc": "^2.5.1", @@ -221,13 +221,13 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz", - "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", + "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", "requires": { "@babel/helper-annotate-as-pure": "^7.8.3", "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.6.0" + "regexpu-core": "^4.7.0" }, "dependencies": { "jsesc": { @@ -236,16 +236,16 @@ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" }, "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { @@ -254,9 +254,9 @@ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" }, "regjsparser": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", - "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "requires": { "jsesc": "~0.5.0" } @@ -431,9 +431,9 @@ } }, "@babel/parser": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", - "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==" + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==" }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.8.3", @@ -521,11 +521,11 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", - "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", + "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-create-regexp-features-plugin": "^7.8.8", "@babel/helper-plugin-utils": "^7.8.3" } }, @@ -679,9 +679,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", - "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", + "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -842,9 +842,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz", - "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==", + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", + "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", "requires": { "@babel/helper-call-delegate": "^7.8.7", "@babel/helper-get-function-arity": "^7.8.3", @@ -1064,6 +1064,15 @@ "regenerator-runtime": "^0.13.4" } }, + "@babel/runtime-corejs3": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.8.7.tgz", + "integrity": "sha512-sc7A+H4I8kTd7S61dgB9RomXu/C+F4IrRr4Ytze4dnfx7AXEpCrejSNpjx7vq6y/Bak9S6Kbk65a/WgMLtg43Q==", + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", @@ -3377,9 +3386,9 @@ } }, "@octokit/types": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.3.1.tgz", - "integrity": "sha512-rvJP1Y9A/+Cky2C3var1vsw3Lf5Rjn/0sojNl2AjCX+WbpIHYccaJ46abrZoIxMYnOToul6S9tPytUVkFI7CXQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.5.0.tgz", + "integrity": "sha512-KEnLwOfdXzxPNL34fj508bhi9Z9cStyN7qY1kOfVahmqtAfrWw6Oq3P4R+dtsg0lYtZdWBpUrS/Ixmd5YILSww==", "requires": { "@types/node": ">= 8" } @@ -4127,9 +4136,9 @@ } }, "acorn": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", - "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==" + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" }, "acorn-globals": { "version": "4.3.4", @@ -6001,9 +6010,9 @@ } }, "ws": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz", - "integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==" + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==" } } }, @@ -6609,9 +6618,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001032", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001032.tgz", - "integrity": "sha512-8joOm7BwcpEN4BfVHtfh0hBXSAPVYk+eUIcNntGtMkUWy/6AKRCDZINCLe3kB1vHhT2vBxBF85Hh9VlPXi/qjA==" + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==" }, "capture-exit": { "version": "2.0.0", @@ -8077,6 +8086,11 @@ } } }, + "core-js-pure": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", + "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -8125,9 +8139,9 @@ }, "dependencies": { "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -8374,16 +8388,16 @@ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" }, "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { @@ -8392,9 +8406,9 @@ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" }, "regjsparser": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", - "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "requires": { "jsesc": "~0.5.0" } @@ -9432,9 +9446,9 @@ } }, "electron-to-chromium": { - "version": "1.3.370", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.370.tgz", - "integrity": "sha512-399cXDE9C7qoVF2CUgCA/MLflfvxbo1F0kB/pkB94426freL/JgZ0HNaloomsOfnE+VC/qgTFZqzmivSdaNfPQ==" + "version": "1.3.376", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz", + "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==" }, "electron-updater": { "version": "3.0.3", @@ -10107,9 +10121,9 @@ "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==" }, "eslint-plugin-react": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.18.3.tgz", - "integrity": "sha512-Bt56LNHAQCoou88s8ViKRjMB2+36XRejCQ1VoLj716KI1MoE99HpTVvIThJ0rvFmG4E4Gsq+UgToEjn+j044Bg==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", "requires": { "array-includes": "^3.1.1", "doctrine": "^2.1.0", @@ -10119,8 +10133,10 @@ "object.fromentries": "^2.0.2", "object.values": "^1.1.1", "prop-types": "^15.7.2", - "resolve": "^1.14.2", - "string.prototype.matchall": "^4.0.2" + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" }, "dependencies": { "doctrine": { @@ -10130,6 +10146,11 @@ "requires": { "esutils": "^2.0.2" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -10900,9 +10921,9 @@ } }, "find-my-way": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-2.2.1.tgz", - "integrity": "sha512-pzZA9/PlhDGG5PRzmd4vH4AbKW7FO68RE7q2I3NzjJHcVPukYbDA7bPdArg7ySKfS6pKki+qhrawFoN6aNZfjA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-2.2.2.tgz", + "integrity": "sha512-zk3eOsS1tABNQjII0vCbhkqgsX/COpRUxl0b5rlA41V2Ft7jWDr30LhYq4BZXLAlzw5yskg24XQG/U1wCT30vQ==", "requires": { "fast-decode-uri-component": "^1.0.0", "safe-regex2": "^2.0.0", @@ -14593,9 +14614,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "parse5": { "version": "4.0.0", @@ -15956,9 +15977,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" }, "minimist-options": { "version": "3.0.2", @@ -16336,9 +16357,9 @@ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-fetch-npm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", - "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.3.tgz", + "integrity": "sha512-DgwoKEsqLnFZtk3ap7GWBHcHwnUhsNmQqEDcdjfQ8GofLEFJ081NAd4Uin3R7RFZBWVJCwHISw1oaEqPgSLloA==", "requires": { "encoding": "^0.1.11", "json-parse-better-errors": "^1.0.0", @@ -16453,9 +16474,9 @@ "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==" }, "node-releases": { - "version": "1.1.50", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz", - "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==", + "version": "1.1.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz", + "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==", "requires": { "semver": "^6.3.0" }, @@ -16734,9 +16755,9 @@ } }, "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -17899,9 +17920,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "acorn-jsx": { "version": "3.0.1", @@ -19584,9 +19605,9 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "requires": { "regenerate": "^1.4.0" } @@ -20220,9 +20241,9 @@ } }, "sanitize-html": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.22.0.tgz", - "integrity": "sha512-3RPo65mbTKpOAdAYWU496MSty1YbB3Y5bjwL5OclgaSSMtv65xvM7RW/EHRumzaZ1UddEJowCbSdK0xl5sAu0A==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.22.1.tgz", + "integrity": "sha512-++IMC00KfMQc45UWZJlhWOlS9eMrME38sFG9GXfR+k6oBo9JXSYQgTOZCl9j3v/smFTRNT9XNwz5DseFdMY+2Q==", "requires": { "chalk": "^2.4.1", "htmlparser2": "^4.1.0", @@ -20230,7 +20251,7 @@ "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.1", + "lodash.mergewith": "^4.6.2", "postcss": "^7.0.27", "srcset": "^2.0.1", "xtend": "^4.0.1" @@ -20736,9 +20757,9 @@ } }, "simple-git": { - "version": "1.131.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.131.0.tgz", - "integrity": "sha512-z/art7YYtmPnnLItT/j+nKwJt6ap6nHZ4D8sYo9PdCKK/ug56SN6m/evfxJk7uDV3e9JuCa8qIyDU2P3cxmiNQ==", + "version": "1.132.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz", + "integrity": "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==", "dev": true, "requires": { "debug": "^4.0.1" @@ -21968,9 +21989,9 @@ } }, "find-cache-dir": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.0.tgz", - "integrity": "sha512-PtXtQb7IrD8O+h6Cq1dbpJH5NzD8+9keN1zZ0YlpDzl1PwXEJEBj6u1Xa92t1Hwluoozd9TNKul5Hi2iqpsWwg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -22062,11 +22083,11 @@ } }, "schema-utils": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", - "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", "requires": { - "ajv": "^6.10.2", + "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } }, @@ -22636,14 +22657,14 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" }, "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, "unified": { "version": "7.1.0", @@ -23155,9 +23176,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "acorn-jsx": { "version": "3.0.1", @@ -24043,6 +24064,14 @@ "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz", "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==" }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/packages/app/main/package.json b/packages/app/main/package.json index 001e23f23..057ef2ebe 100644 --- a/packages/app/main/package.json +++ b/packages/app/main/package.json @@ -1,7 +1,7 @@ { "name": "@bfemulator/main", "packagename": "BotFramework-Emulator", - "version": "4.7.0", + "version": "4.8.0", "private": true, "description": "Development tool for the Microsoft Bot Framework. Allows developers to test and debug bots on localhost.", "main": "./app/server/main.js", From 2f5ade9f8ce4c0e5b329cc063c5b1c737c5056d5 Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Thu, 12 Mar 2020 18:46:27 -0700 Subject: [PATCH 3/9] Package updated Signed-off-by: Srinaath Ravichandran --- CHANGELOG.md | 6 ++++++ packages/app/main/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16774a49d..be4d8560e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v4.8.1 - 2019 - 03 - 16 +## Fixed + +- [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2103](https://github.com/microsoft/BotFramework-Emulator/pull/2103) + + ## v4.8.0 - 2019 - 03 - 12 ## Added - [client/main] Added Ngrok Status Viewer in PR [2032](https://github.com/microsoft/BotFramework-Emulator/pull/2032) diff --git a/packages/app/main/package.json b/packages/app/main/package.json index 057ef2ebe..1063611de 100644 --- a/packages/app/main/package.json +++ b/packages/app/main/package.json @@ -1,7 +1,7 @@ { "name": "@bfemulator/main", "packagename": "BotFramework-Emulator", - "version": "4.8.0", + "version": "4.8.1", "private": true, "description": "Development tool for the Microsoft Bot Framework. Allows developers to test and debug bots on localhost.", "main": "./app/server/main.js", From 186d8e2e02a55b72284918d9c3a5ae66772f7ae4 Mon Sep 17 00:00:00 2001 From: Tony Anziano Date: Thu, 12 Mar 2020 19:04:06 -0700 Subject: [PATCH 4/9] Added missing icon file for Linux / Mac (#2104) --- CHANGELOG.md | 2 +- .../main/scripts/config/resources/icon.icns | Bin 0 -> 164675 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 packages/app/main/scripts/config/resources/icon.icns diff --git a/CHANGELOG.md b/CHANGELOG.md index be4d8560e..a049c08c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Fixed - [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2103](https://github.com/microsoft/BotFramework-Emulator/pull/2103) - +- [build] Replaced a missing .icns file that was deleted by mistake in a previous PR. Fixes the app icon on Linux & Mac in PR [2104](https://github.com/microsoft/BotFramework-Emulator/pull/2104) ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/packages/app/main/scripts/config/resources/icon.icns b/packages/app/main/scripts/config/resources/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..88a78e950a317732e0e6b530b13944252b9f941f GIT binary patch literal 164675 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%0Aj6we&h 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�suB;?FtchG;atjp3t!?j`H*1H^$5XxWy5Z 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 literal 0 HcmV?d00001 From 4e714bf430f005810694f3d564b3d41e0125d3af Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Fri, 13 Mar 2020 10:12:14 -0700 Subject: [PATCH 5/9] Prevent passing props to activity middleware (#2105) * Prevent passing props to activity middleware * Package lock updated * Changelog updated * Corrected changelog --- CHANGELOG.md | 4 ++-- package-lock.json | 24 +++++++++---------- .../ui/editor/emulator/parts/chat/chat.tsx | 5 ---- .../parts/chat/outerActivityWrapper.spec.tsx | 6 +++-- .../parts/chat/outerActivityWrapper.tsx | 17 +++++++++++-- .../chat/outerActivityWrapperContainer.ts | 2 ++ 6 files changed, 35 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a049c08c3..6a11f2789 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## v4.8.1 - 2019 - 03 - 16 ## Fixed - -- [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2103](https://github.com/microsoft/BotFramework-Emulator/pull/2103) - [build] Replaced a missing .icns file that was deleted by mistake in a previous PR. Fixes the app icon on Linux & Mac in PR [2104](https://github.com/microsoft/BotFramework-Emulator/pull/2104) +- [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2105](https://github.com/microsoft/BotFramework-Emulator/pull/2105) + ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/package-lock.json b/package-lock.json index 08721b75b..b26941686 100644 --- a/package-lock.json +++ b/package-lock.json @@ -879,9 +879,9 @@ }, "dependencies": { "regenerator-transform": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz", - "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==", + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.3.tgz", + "integrity": "sha512-zXHNKJspmONxBViAb3ZUmFoFPnTBs3zFhCEZJiwp/gkNzxVbTqNJVjYKx6Qk1tQ1P4XLf4TbH9+KBB7wGoAaUw==", "requires": { "@babel/runtime": "^7.8.4", "private": "^0.1.8" @@ -15977,9 +15977,9 @@ } }, "minimist": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz", - "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minimist-options": { "version": "3.0.2", @@ -16474,9 +16474,9 @@ "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==" }, "node-releases": { - "version": "1.1.51", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz", - "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==", + "version": "1.1.52", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", + "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", "requires": { "semver": "^6.3.0" }, @@ -19613,9 +19613,9 @@ } }, "regenerator-runtime": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz", - "integrity": "sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==" + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" }, "regenerator-transform": { "version": "0.10.1", diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/chat.tsx b/packages/app/client/src/ui/editor/emulator/parts/chat/chat.tsx index 5f2053db1..85857555a 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/chat.tsx +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/chat.tsx @@ -139,9 +139,6 @@ export class Chat extends PureComponent { } private activityWrapper(next, card, children): ReactNode { - const { mode, restartStatus } = this.props; - const isWebChatDisabled = - mode === 'transcript' || mode === 'debug' || restartStatus === RestartConversationStatus.Started; return ( { onContextMenu={this.onContextMenu} onItemRendererClick={this.onItemRendererClick} onItemRendererKeyDown={this.onItemRendererKeyDown} - restartStatusForActivity={this.props.restartStatus} - isWebChatDisabled={isWebChatDisabled} > {next(card)(children)} diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx index e6de421b2..89d827096 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx @@ -35,7 +35,7 @@ import * as React from 'react'; import { createStore } from 'redux'; import { Provider } from 'react-redux'; import { mount, shallow } from 'enzyme'; -import { ValueTypes, RestartConversationOptions } from '@bfemulator/app-shared'; +import { ValueTypes, RestartConversationOptions, RestartConversationStatus } from '@bfemulator/app-shared'; import { OuterActivityWrapper } from './outerActivityWrapper'; import { OuterActivityWrapperContainer } from './outerActivityWrapperContainer'; @@ -49,7 +49,9 @@ describe('', () => { highlightedObjects: [], inspectorObjects: [{ value: {}, valueType: ValueTypes.Activity }], }, - restartStatus: {}, + }, + restartStatus: { + doc1: RestartConversationStatus.Stop, }, }, }; diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx index 188d54556..b6d5534ff 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx @@ -35,6 +35,7 @@ import * as React from 'react'; import { SharedConstants, RestartConversationOptions } from '@bfemulator/app-shared'; import { Activity } from 'botframework-schema'; import { RestartConversationStatus } from '@bfemulator/app-shared'; +import { EmulatorMode } from '@bfemulator/sdk-shared'; import { areActivitiesEqual } from '../../../../../utils'; @@ -54,15 +55,27 @@ export interface OuterActivityWrapperProps { restartOption: RestartConversationOptions ) => void; currentRestartConversationOption: RestartConversationOptions; - isWebChatDisabled: boolean; + mode: EmulatorMode; + restartStatus: RestartConversationStatus; } export class OuterActivityWrapper extends React.Component { public render() { - const { card, children, onContextMenu, onItemRendererClick, onItemRendererKeyDown, isWebChatDisabled } = this.props; + const { + card, + children, + onContextMenu, + onItemRendererClick, + onItemRendererKeyDown, + mode, + restartStatus, + } = this.props; const isSelected = this.shouldBeSelected(card.activity); const isUserActivity = this.isUserActivity(card.activity); + const isWebChatDisabled = + mode === 'transcript' || mode === 'debug' || restartStatus === RestartConversationStatus.Started; + const showRestartBubble = isUserActivity && isSelected && !isWebChatDisabled; return ( diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapperContainer.ts b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapperContainer.ts index 230997455..f07502992 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapperContainer.ts +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapperContainer.ts @@ -57,6 +57,8 @@ function mapStateToProps(state: RootState, { documentId }: { documentId: string highlightedActivities, documentId, currentRestartConversationOption: state.chat.chats[documentId].restartConversationOption, + mode: state.chat.chats[documentId].mode, + restartStatus: state.chat.restartStatus[documentId], }; } From a3f7887a6ab49ef632e00f5b27ba8dd342927b09 Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Fri, 13 Mar 2020 14:43:45 -0700 Subject: [PATCH 6/9] Added tests to ensure restart bubble not present (#2107) Should hide restart bubble if speech bot Co-authored-by: Srinaath Ravichandran --- CHANGELOG.md | 2 +- .../parts/chat/outerActivityWrapper.spec.tsx | 201 ++++++++++++++++++ .../parts/chat/outerActivityWrapper.tsx | 4 +- .../chat/outerActivityWrapperContainer.ts | 1 + 4 files changed, 206 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a11f2789..8ea3d363c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Fixed - [build] Replaced a missing .icns file that was deleted by mistake in a previous PR. Fixes the app icon on Linux & Mac in PR [2104](https://github.com/microsoft/BotFramework-Emulator/pull/2104) - [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2105](https://github.com/microsoft/BotFramework-Emulator/pull/2105) - +- [client] Disable "Restart conversation from here" bubble on DL Speech bots [2107](https://github.com/microsoft/BotFramework-Emulator/pull/2107) ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx index 89d827096..00165a0dc 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.spec.tsx @@ -40,6 +40,10 @@ import { ValueTypes, RestartConversationOptions, RestartConversationStatus } fro import { OuterActivityWrapper } from './outerActivityWrapper'; import { OuterActivityWrapperContainer } from './outerActivityWrapperContainer'; +jest.mock('./chat.scss', () => ({ + hidden: 'hidden-restart', +})); + describe('', () => { it('should render', () => { const storeState = { @@ -152,4 +156,201 @@ describe('', () => { expect((instance as any).isUserActivity(userCard.activity)).toBe(true); expect((instance as any).isUserActivity(botCard.activity)).toBe(false); }); + + describe('Restart conversation bubble in OuterActivityWrapper', () => { + it('should show restart bubble if a)not Speech bot; b) Webchat is enabled; c)User activity is selected', () => { + const card = { + activity: { + id: 'card1', + from: { + role: 'user', + }, + channelData: { + test: true, + }, + }, + }; + const storeState = { + chat: { + chats: { + doc1: { + highlightedObjects: [], + inspectorObjects: [{ value: { ...card.activity }, valueType: ValueTypes.Activity }], + mode: 'livechat', + }, + }, + restartStatus: { + doc1: RestartConversationStatus.Stop, + }, + }, + }; + + const wrapper = mount( + state, storeState)}> + + + ); + expect(wrapper.find('hidden-restart').length).toBe(0); + }); + + it('should hide restart bubble if activity not selected', () => { + const card = { + activity: { + id: 'card1', + from: { + role: 'user', + }, + channelData: { + test: true, + }, + }, + }; + const storeState = { + chat: { + chats: { + doc1: { + highlightedObjects: [], + inspectorObjects: [{ value: {}, valueType: ValueTypes.Activity }], + mode: 'livechat', + }, + }, + restartStatus: { + doc1: RestartConversationStatus.Stop, + }, + }, + }; + + const wrapper = mount( + state, storeState)}> + + + ); + expect(wrapper.find('.hidden-restart').length).toBe(1); + }); + + it('should hide restart bubble if it is a speech bot', () => { + const card = { + activity: { + id: 'card1', + from: { + role: 'user', + }, + channelData: { + test: true, + }, + }, + }; + const storeState = { + chat: { + chats: { + doc1: { + highlightedObjects: [], + inspectorObjects: [{ value: { ...card.activity }, valueType: ValueTypes.Activity }], + mode: 'livechat', + speechKey: 'abc', + speechRegion: 'westus', + }, + }, + restartStatus: { + doc1: RestartConversationStatus.Stop, + }, + }, + }; + + const wrapper = mount( + state, storeState)}> + + + ); + expect(wrapper.find('.hidden-restart').length).toBe(1); + }); + + it('should hide restart bubble if restart conversation has a status of "Started" for chat', () => { + const card = { + activity: { + id: 'card1', + from: { + role: 'user', + }, + channelData: { + test: true, + }, + }, + }; + const storeState = { + chat: { + chats: { + doc1: { + highlightedObjects: [], + inspectorObjects: [{ value: { ...card.activity }, valueType: ValueTypes.Activity }], + mode: 'livechat', + }, + }, + restartStatus: { + doc1: RestartConversationStatus.Started, + }, + }, + }; + + const wrapper = mount( + state, storeState)}> + + + ); + expect(wrapper.find('.hidden-restart').length).toBe(1); + }); + + it('should hide restart bubble if chat in transcript mode', () => { + const card = { + activity: { + id: 'card1', + from: { + role: 'user', + }, + channelData: { + test: true, + }, + }, + }; + const storeState = { + chat: { + chats: { + doc1: { + highlightedObjects: [], + inspectorObjects: [{ value: { ...card.activity }, valueType: ValueTypes.Activity }], + mode: 'transcript', + }, + }, + restartStatus: {}, + }, + }; + + const wrapper = mount( + state, storeState)}> + + + ); + expect(wrapper.find('.hidden-restart').length).toBe(1); + }); + }); }); diff --git a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx index b6d5534ff..9c93710c6 100644 --- a/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx +++ b/packages/app/client/src/ui/editor/emulator/parts/chat/outerActivityWrapper.tsx @@ -57,6 +57,7 @@ export interface OuterActivityWrapperProps { currentRestartConversationOption: RestartConversationOptions; mode: EmulatorMode; restartStatus: RestartConversationStatus; + isDLSpeechBot: boolean; } export class OuterActivityWrapper extends React.Component { @@ -69,6 +70,7 @@ export class OuterActivityWrapper extends React.Component Date: Mon, 16 Mar 2020 12:55:32 -0700 Subject: [PATCH 7/9] Fixed a bug that was causing a blank User 'id' field. (#2108) * Fixed a bug that was causing a blank User 'id' field. * Added extra assertion in tests. --- CHANGELOG.md | 1 + .../client/src/state/sagas/botSagas.spec.ts | 79 ++++++++++++++++++- .../app/client/src/state/sagas/botSagas.ts | 5 +- .../client/src/state/sagas/chatSagas.spec.ts | 10 ++- .../app/client/src/state/sagas/chatSagas.ts | 6 +- 5 files changed, 92 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ea3d363c..737868fb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [build] Replaced a missing .icns file that was deleted by mistake in a previous PR. Fixes the app icon on Linux & Mac in PR [2104](https://github.com/microsoft/BotFramework-Emulator/pull/2104) - [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2105](https://github.com/microsoft/BotFramework-Emulator/pull/2105) - [client] Disable "Restart conversation from here" bubble on DL Speech bots [2107](https://github.com/microsoft/BotFramework-Emulator/pull/2107) +- [client] Fixed an issue where starting a conversation with an unset custom user ID was causing the User member of the conversation to have a blank `id` field in PR [2108](https://github.com/microsoft/BotFramework-Emulator/pull/2108) ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/packages/app/client/src/state/sagas/botSagas.spec.ts b/packages/app/client/src/state/sagas/botSagas.spec.ts index 45656e193..ac93ab8af 100644 --- a/packages/app/client/src/state/sagas/botSagas.spec.ts +++ b/packages/app/client/src/state/sagas/botSagas.spec.ts @@ -200,7 +200,7 @@ describe('The botSagas', () => { expect(putNotification.value).toEqual(put(errorNotification)); }); - it('should open a bot via url', () => { + it('should open a bot via url with the custom user ID', () => { const mockAction: any = { payload: { endpoint: 'http://localhost:3978/api/messages', @@ -213,13 +213,86 @@ describe('The botSagas', () => { const gen = BotSagas.openBotViaUrl(mockAction); gen.next(); gen.next('userId'); // select custom user GUID - gen.next('http://localhost:52673'); // select server url + + // select server url + expect(gen.next('http://localhost:52673').value).toEqual( + call([ConversationService, ConversationService.startConversation], 'http://localhost:52673', { + botUrl: mockAction.payload.endpoint, + channelServiceType: mockAction.payload.channelService, + members: [{ id: 'userId', name: 'User', role: 'user' }], + mode: mockAction.payload.mode, + msaAppId: mockAction.payload.appId, + msaPassword: mockAction.payload.appPassword, + }) + ); const mockStartConvoResponse = { json: async () => undefined, ok: true, }; - gen.next(mockStartConvoResponse); // startConversation + + // startConversation + gen.next(mockStartConvoResponse); + gen.next({ + conversationId: 'someConvoId', + endpointId: 'someEndpointId', + members: [], + }); //res.json() + + let next = gen.next(); // bootstrapChat() + + const putOpenValue = next.value; + expect(putOpenValue).toEqual( + put( + openEditorDocument({ + contentType: SharedConstants.ContentTypes.CONTENT_TYPE_LIVE_CHAT, + documentId: 'someConvoId', + isGlobal: false, + }) + ) + ); + gen.next(); // put open() + + gen.next({ ok: true }); // sendInitialLogReport() + next = gen.next({ ok: true }); // sendInitialActivity() + + const callValue = next.value; + expect(callValue).toEqual( + call( + [commandService, commandService.remoteCall], + SharedConstants.Commands.Settings.SaveBotUrl, + 'http://localhost:3978/api/messages' + ) + ); + expect(gen.next().done).toBe(true); + }); + + it('should open a bot via url with a newly generated user GUID', () => { + const mockAction: any = { + payload: { + endpoint: 'http://localhost:3978/api/messages', + channelService: 'public', + mode: 'livechat', + appId: 'someAppId', + appPassword: 'someAppPw', + }, + }; + const gen = BotSagas.openBotViaUrl(mockAction); + gen.next(); + gen.next(''); // select custom user GUID (force generation of new GUID) + + // select server url + const startConversationCall = gen.next('http://localhost:52673').value; + const startConversationPayload = startConversationCall.CALL.args[1]; + expect(startConversationPayload.members[0].id.length).toBeGreaterThan(0); + + const mockStartConvoResponse = { + json: async () => undefined, + ok: true, + }; + + // startConversation + gen.next(mockStartConvoResponse); gen.next({ conversationId: 'someConvoId', endpointId: 'someEndpointId', diff --git a/packages/app/client/src/state/sagas/botSagas.ts b/packages/app/client/src/state/sagas/botSagas.ts index fde538918..802c8b249 100644 --- a/packages/app/client/src/state/sagas/botSagas.ts +++ b/packages/app/client/src/state/sagas/botSagas.ts @@ -96,8 +96,9 @@ export class BotSagas { public static *openBotViaUrl( action: BotAction ): IterableIterator { + const customUserId = yield select(getCustomUserGUID); const user = { - id: yield select(getCustomUserGUID) || uniqueIdv4(), // use custom id or generate new one + id: customUserId || uniqueIdv4(), // use custom id or generate new one name: 'User', role: 'user', }; @@ -110,7 +111,7 @@ export class BotSagas { msaAppId: action.payload.appId, msaPassword: action.payload.appPassword, }; - let res: Response = yield ConversationService.startConversation(serverUrl, payload); + let res: Response = yield call([ConversationService, ConversationService.startConversation], serverUrl, payload); if (!res.ok) { yield* throwErrorFromResponse('Error occurred while starting a new conversation', res); } diff --git a/packages/app/client/src/state/sagas/chatSagas.spec.ts b/packages/app/client/src/state/sagas/chatSagas.spec.ts index 591c2a8ed..0684d9468 100644 --- a/packages/app/client/src/state/sagas/chatSagas.spec.ts +++ b/packages/app/client/src/state/sagas/chatSagas.spec.ts @@ -824,10 +824,13 @@ describe('The ChatSagas,', () => { // put webSpeechFactoryUpdated expect(gen.next().value).toEqual(put(webSpeechFactoryUpdated(payload.documentId, undefined))); + // select custom user GUID + expect(gen.next().value).toEqual(select(getCustomUserGUID)); + // call updateConversation const conversationId = chat.conversationId; const userId = chat.userId; - expect(gen.next().value).toEqual( + expect(gen.next('').value).toEqual( call([ConversationService, ConversationService.updateConversation], serverUrl, chat.conversationId, { conversationId, userId, @@ -957,10 +960,13 @@ describe('The ChatSagas,', () => { // put webSpeechFactoryUpdated expect(gen.next().value).toEqual(put(webSpeechFactoryUpdated(payload.documentId, undefined))); + // select custom user GUID + expect(gen.next().value).toEqual(select(getCustomUserGUID)); + // call updateConversation const conversationId = chat.conversationId; const userId = chat.userId; - expect(gen.next().value).toEqual( + expect(gen.next('').value).toEqual( call([ConversationService, ConversationService.updateConversation], serverUrl, chat.conversationId, { conversationId, userId, diff --git a/packages/app/client/src/state/sagas/chatSagas.ts b/packages/app/client/src/state/sagas/chatSagas.ts index 93fe6afb6..d0a8ce696 100644 --- a/packages/app/client/src/state/sagas/chatSagas.ts +++ b/packages/app/client/src/state/sagas/chatSagas.ts @@ -241,7 +241,8 @@ export class ChatSagas { const { filename } = action.payload; // start a conversation const serverUrl = yield select(getServerUrl); - const user = { id: yield select(getCustomUserGUID) || uniqueIdv4(), name: 'User', role: 'user' }; + const customUserId = yield select(getCustomUserGUID); + const user = { id: customUserId || uniqueIdv4(), name: 'User', role: 'user' }; const payload = { botUrl: '', channelServiceType: '' as any, @@ -535,7 +536,8 @@ export class ChatSagas { userId = uniqueIdv4(); } else { // use the previous id or the custom id from settings - userId = chat.userId || (yield select(getCustomUserGUID)); + const customUserId = yield select(getCustomUserGUID); + userId = chat.userId || customUserId; } // update the main-side conversation object with conversation & user IDs, From 5575481212cfc065229b8a2f1ecf9f11c4748e90 Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Tue, 17 Mar 2020 17:36:31 -0700 Subject: [PATCH 8/9] Ngrok Startup Options (#2111) * Make sure ngrok running loop not hit everytime --- CHANGELOG.md | 4 +- packages/app/main/src/ngrokService.spec.ts | 106 ++++++++++++++++++--- packages/app/main/src/ngrokService.ts | 8 +- 3 files changed, 99 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 737868fb2..49b4b55e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## v4.8.1 - 2019 - 03 - 16 +## v4.8.1 - 2019 - 03 - 18 ## Fixed - [build] Replaced a missing .icns file that was deleted by mistake in a previous PR. Fixes the app icon on Linux & Mac in PR [2104](https://github.com/microsoft/BotFramework-Emulator/pull/2104) - [client] Fixed an issue where Restart activity wont appear on selected activity after restarting once in PR [2105](https://github.com/microsoft/BotFramework-Emulator/pull/2105) - [client] Disable "Restart conversation from here" bubble on DL Speech bots [2107](https://github.com/microsoft/BotFramework-Emulator/pull/2107) - [client] Fixed an issue where starting a conversation with an unset custom user ID was causing the User member of the conversation to have a blank `id` field in PR [2108](https://github.com/microsoft/BotFramework-Emulator/pull/2108) +- [main] Fixed an issue where the setting `Bypass Ngrok for local addresses` was continuing to use the ngrok tunnel even for local bots in PR [2111](https://github.com/microsoft/BotFramework-Emulator/pull/2111) + ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/packages/app/main/src/ngrokService.spec.ts b/packages/app/main/src/ngrokService.spec.ts index ab83a1103..f7858b0d0 100644 --- a/packages/app/main/src/ngrokService.spec.ts +++ b/packages/app/main/src/ngrokService.spec.ts @@ -44,24 +44,26 @@ import { combineReducers, createStore } from 'redux'; import { NgrokService } from './ngrokService'; import { store } from './state/store'; -const mockEmulator = { - server: { - serverUrl: 'http://localhost:3000', - serverPort: 8080, - state: { - conversations: { - getConversationIds: () => ['12', '123'], - }, - endpoints: { - reset: () => null, - push: () => null, +const mockEmulator = jest.fn(() => { + return { + server: { + serverUrl: 'http://localhost:3000', + serverPort: 8080, + state: { + conversations: { + getConversationIds: () => ['12', '123'], + }, + endpoints: { + reset: () => null, + push: () => null, + }, }, }, - }, -}; + }; +}); jest.mock('./emulator', () => ({ Emulator: { - getInstance: () => mockEmulator, + getInstance: () => mockEmulator(), }, })); @@ -209,4 +211,80 @@ describe('The ngrokService', () => { (ngrokService as any).oauthNgrokInstance = undefined; }); + + describe('Conditions where service url returned is an ngrok url', () => { + it('should always return ngrok url if runNgrokAtStartup is selected', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: true, + runNgrokAtStartup: true, + ngrokPath: '/usr/bin/ngrok', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://my-azure.com/speech-bot/'); + expect(serviceUrl).toBe('http://fdsfds.ngrok.io'); + }); + + it('should always return ngrok url if remote bot irrespective of options selected', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: false, + runNgrokAtStartup: false, + ngrokPath: '/usr/bin/ngrok', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://my-azure/api/messages'); + expect(serviceUrl).toBe('http://fdsfds.ngrok.io'); + }); + + it('should always return ngrok url if bypassNgrokLocalhost is not selected and ngrok is configured', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: false, + runNgrokAtStartup: false, + ngrokPath: '/usr/bin/ngrok', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://localhost:3978'); + expect(serviceUrl).toBe('http://fdsfds.ngrok.io'); + }); + }); + + describe('Conditions where service url returned is a localhost url', () => { + it('should always return localhost url if local bot and bypassNgrokLocalhost is selected', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: true, + runNgrokAtStartup: false, + ngrokPath: '/usr/bin/ngrok', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://localhost:3978'); + expect(serviceUrl).toBe('http://localhost:8080'); + }); + + it('should always return localhost url if bypassNgrokLocalhost is not selected and ngrok is not configured and its a local bot', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: false, + runNgrokAtStartup: false, + ngrokPath: '', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://localhost:3978'); + expect(serviceUrl).toBe('http://localhost:8080'); + }); + + it('should always return localhost url if ngrok is not configured', async () => { + const settings = { + locale: 'en-us', + bypassNgrokLocalhost: false, + runNgrokAtStartup: false, + ngrokPath: '', + }; + store.dispatch(setFrameworkSettings(settings as any)); + const serviceUrl = await ngrokService.getServiceUrl('http://my-azure/api/messages'); + expect(serviceUrl).toBe('http://localhost:8080'); + }); + }); }); diff --git a/packages/app/main/src/ngrokService.ts b/packages/app/main/src/ngrokService.ts index c9b9e1e9d..75cb100e5 100644 --- a/packages/app/main/src/ngrokService.ts +++ b/packages/app/main/src/ngrokService.ts @@ -74,13 +74,13 @@ export class NgrokService { if (this.pendingRecycle) { await this.pendingRecycle; } - if (this.ngrok.running()) { - return this.serviceUrl; - } + const { bypassNgrokLocalhost, runNgrokAtStartup } = getSettings().framework; // Use ngrok const local = !botUrl || isLocalHostUrl(botUrl); - if (runNgrokAtStartup || !local || (local && !bypassNgrokLocalhost)) { + + const useNgrok = runNgrokAtStartup || !local || (local && !bypassNgrokLocalhost); + if (useNgrok) { if (!this.ngrok.running()) { await this.startup(); } From 957d4aba8bf010cd471763a1a2933a2db68b640a Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Wed, 18 Mar 2020 10:55:39 -0700 Subject: [PATCH 9/9] Ngrok reporting made accurate (#2113) * Recator isUsingNgrok --- CHANGELOG.md | 2 +- packages/app/main/src/ngrokService.ts | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49b4b55e7..cfb80165c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [client] Disable "Restart conversation from here" bubble on DL Speech bots [2107](https://github.com/microsoft/BotFramework-Emulator/pull/2107) - [client] Fixed an issue where starting a conversation with an unset custom user ID was causing the User member of the conversation to have a blank `id` field in PR [2108](https://github.com/microsoft/BotFramework-Emulator/pull/2108) - [main] Fixed an issue where the setting `Bypass Ngrok for local addresses` was continuing to use the ngrok tunnel even for local bots in PR [2111](https://github.com/microsoft/BotFramework-Emulator/pull/2111) - +- [main] Ngrok Reporting made accurate in PR [2113](https://github.com/microsoft/BotFramework-Emulator/pull/2113) ## v4.8.0 - 2019 - 03 - 12 ## Added diff --git a/packages/app/main/src/ngrokService.ts b/packages/app/main/src/ngrokService.ts index 75cb100e5..90af3fb5d 100644 --- a/packages/app/main/src/ngrokService.ts +++ b/packages/app/main/src/ngrokService.ts @@ -74,13 +74,7 @@ export class NgrokService { if (this.pendingRecycle) { await this.pendingRecycle; } - - const { bypassNgrokLocalhost, runNgrokAtStartup } = getSettings().framework; - // Use ngrok - const local = !botUrl || isLocalHostUrl(botUrl); - - const useNgrok = runNgrokAtStartup || !local || (local && !bypassNgrokLocalhost); - if (useNgrok) { + if (this.isUsingNgrok(botUrl)) { if (!this.ngrok.running()) { await this.startup(); } @@ -237,7 +231,7 @@ export class NgrokService { ); } else if (!this.ngrokPath) { this.reportNotConfigured(conversationId); - } else if (this.ngrok.running()) { + } else if (this.isUsingNgrok(botUrl)) { this.reportRunning(conversationId); } else { emulatorApplication.mainWindow.logService.logToChat( @@ -312,4 +306,10 @@ export class NgrokService { } this.localhost = hostname; } + + private isUsingNgrok(botUrl: string) { + const { bypassNgrokLocalhost, runNgrokAtStartup } = getSettings().framework; + const local = !botUrl || isLocalHostUrl(botUrl); + return runNgrokAtStartup || !local || (local && !bypassNgrokLocalhost); + } }