From c64a0606ad2338836b539df68d02c2a4fdf5d577 Mon Sep 17 00:00:00 2001 From: jadahiya-MSFT <95651173+jadahiya-MSFT@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:28:19 -0700 Subject: [PATCH 1/5] Removing Sample App and Increased timeout of E2E - Default and E2E - Local tests (#2414) * Downgrading scheduler in sample app * Added in lock file * Removing Sample App * Testing E2E test changes * Increased timeout for testing --- apps/sample-app/.babelrc | 15 - apps/sample-app/.eslintrc.js | 6 - apps/sample-app/README.md | 72 - apps/sample-app/index.html | 29 - apps/sample-app/package.json | 26 - apps/sample-app/public/manifest.json | 52 - apps/sample-app/sample-app-zipped.zip | Bin 16450 -> 0 bytes apps/sample-app/src/App.css | 11 - apps/sample-app/src/App.tsx | 74 - apps/sample-app/src/AuthApp.tsx | 42 - apps/sample-app/src/PageLayout.tsx | 24 - apps/sample-app/src/components/Calendar.tsx | 36 - apps/sample-app/src/components/Emails.tsx | 52 - apps/sample-app/src/components/MainPage.tsx | 20 - apps/sample-app/src/components/Meetings.tsx | 52 - apps/sample-app/src/components/Pages.tsx | 33 - .../src/components/PeopleAvatars.tsx | 114 -- apps/sample-app/src/components/Profile.tsx | 79 -- apps/sample-app/src/components/TokenFetch.tsx | 43 - apps/sample-app/src/components/authConfig.js | 16 - apps/sample-app/src/components/styles.css | 33 - apps/sample-app/src/components/utils.tsx | 96 -- apps/sample-app/src/index.css | 13 - apps/sample-app/src/index.tsx | 33 - apps/sample-app/tsconfig.json | 29 - apps/sample-app/webpack.config.js | 54 - azure-pipelines.yml | 2 + pnpm-lock.yaml | 1214 ----------------- 28 files changed, 2 insertions(+), 2268 deletions(-) delete mode 100644 apps/sample-app/.babelrc delete mode 100644 apps/sample-app/.eslintrc.js delete mode 100644 apps/sample-app/README.md delete mode 100644 apps/sample-app/index.html delete mode 100644 apps/sample-app/package.json delete mode 100644 apps/sample-app/public/manifest.json delete mode 100644 apps/sample-app/sample-app-zipped.zip delete mode 100644 apps/sample-app/src/App.css delete mode 100644 apps/sample-app/src/App.tsx delete mode 100644 apps/sample-app/src/AuthApp.tsx delete mode 100644 apps/sample-app/src/PageLayout.tsx delete mode 100644 apps/sample-app/src/components/Calendar.tsx delete mode 100644 apps/sample-app/src/components/Emails.tsx delete mode 100644 apps/sample-app/src/components/MainPage.tsx delete mode 100644 apps/sample-app/src/components/Meetings.tsx delete mode 100644 apps/sample-app/src/components/Pages.tsx delete mode 100644 apps/sample-app/src/components/PeopleAvatars.tsx delete mode 100644 apps/sample-app/src/components/Profile.tsx delete mode 100644 apps/sample-app/src/components/TokenFetch.tsx delete mode 100644 apps/sample-app/src/components/authConfig.js delete mode 100644 apps/sample-app/src/components/styles.css delete mode 100644 apps/sample-app/src/components/utils.tsx delete mode 100644 apps/sample-app/src/index.css delete mode 100644 apps/sample-app/src/index.tsx delete mode 100644 apps/sample-app/tsconfig.json delete mode 100644 apps/sample-app/webpack.config.js diff --git a/apps/sample-app/.babelrc b/apps/sample-app/.babelrc deleted file mode 100644 index 3c752a544b..0000000000 --- a/apps/sample-app/.babelrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "presets": [ - "@babel/preset-env", - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": [ - [ - "@babel/plugin-transform-runtime", - { - "regenerator": true - } - ] - ] -} diff --git a/apps/sample-app/.eslintrc.js b/apps/sample-app/.eslintrc.js deleted file mode 100644 index dffef409d8..0000000000 --- a/apps/sample-app/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - ignorePatterns: ['.eslintrc.js'], - parserOptions: { - project: './tsconfig.json', - }, -}; diff --git a/apps/sample-app/README.md b/apps/sample-app/README.md deleted file mode 100644 index 208a025650..0000000000 --- a/apps/sample-app/README.md +++ /dev/null @@ -1,72 +0,0 @@ -# Sample App - -The sample app leverages TeamsJS v2 SDK for creating a multi host app experience. The sample app displays the usage of the following TeamsJS v2 APIs: - -- core.openLink -- authentication.authenticate -- isSupported -- app.getContext -- app.initialize -- app.registerOnThemeChangeHandler -- call.startCall -- chat.openChat -- mail.openMailItem -- calendar.composeMeeting -- pages.navigatetoApp -- pages.shareDeepLink - -## Set up the Sample App - -1. Clone the TeamsJS v2 repository on your local machine using the following command in the terminal: - `git clone https://github.com/OfficeDev/microsoft-teams-library-js.git` -2. Run `pnpm install` from the repository root -3. Run `pnpm build` form repository root -4. Change directory to the sample app by running the following command - `cd apps/sample-app` -5. Run `pnpm start` - - Open https://localhost:4003 window in your browser. - - Proceed to 'continue to localhost' upon receiving 'Your Connection isn't private' warning. - - An alert will pop up stating the app must be sideloaded onto a host (Teams). - - Follow the steps below to sideload the app onto Teams. - -## Running the Sample App - -### Sideload the App to Teams Web - -6. Open Microsoft Teams Web - - Click '+ Apps'>Manage your apps> Upload an app> Upload custom app - - You have to upload sample-app-zipped.zip file here. This file can be found in your local copy of microsoft-teams-library-js from step 1 and head to apps -> sample-app -> sample-app-zipped.zip - - After uploading sample-app-zipped.zip, click ‘+Add’ - -The app will start running on Teams and will automatically sideload onto Outlook and Office Web. - -### Sideload the App to Teams Desktop - -To have the app run on the desktop applications of Teams, Outlook and Office, an SSL certificate will have to be created. - -1. In the sample-app folder, run - ``` - npx mkcert create-ca - npx mkcert create-cert - ``` -2. Go to your File explorer and click on `ca.crt` file \* > Install Certificate > Current User > Place all certificates in the following store > Trusted Root Certification Authorities > Next > Finish > Yes -3. Change the code for 'https' under 'devServer' in webpack.config.js file in the sample-app folder: - - ``` - devServer: { - // ... - https: { - key: fs.readFileSync("cert.key"), - cert: fs.readFileSync("cert.crt"), - ca: fs.readFileSync("ca.crt"), - }, - // .... - } - ``` - -4. Sideload the App onto Teams Desktop. - - Click '+ Apps'>Manage your apps> Upload an app> Upload custom app - - You have to upload sample-app-zipped.zip file here. This file can be found in your local copy of microsoft-teams-library-js from step 1 and head to apps -> sample-app -> sample-app-zipped.zip - - After uploading sample-app-zipped.zip, click ‘+Add’ - -\*ca.crt file will be found in microsoft-teams-library-js/apps/sample-app folder diff --git a/apps/sample-app/index.html b/apps/sample-app/index.html deleted file mode 100644 index b4635a0ecd..0000000000 --- a/apps/sample-app/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - -
- - - - - - -loading user info...
:getting info
:Fetching access token...
-...
- )} - > - ); -}; - -export default TokenFetchComponent; diff --git a/apps/sample-app/src/components/authConfig.js b/apps/sample-app/src/components/authConfig.js deleted file mode 100644 index 67832e2789..0000000000 --- a/apps/sample-app/src/components/authConfig.js +++ /dev/null @@ -1,16 +0,0 @@ -export const msalConfig = { - auth: { - clientId: '9888499b-8e19-4639-922b-984a598ae024', - authority: 'https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47', - redirectUri: 'https://localhost:4003/?auth=1', - }, - cache: { - cacheLocation: 'sessionStorage', // This configures where your cache will be stored - storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge - }, -}; - -// Add scopes here for ID token to be used at Microsoft identity platform endpoints. -export const loginRequest = { - scopes: ['User.Read', 'Mail.Read'], -}; diff --git a/apps/sample-app/src/components/styles.css b/apps/sample-app/src/components/styles.css deleted file mode 100644 index 8aa02648db..0000000000 --- a/apps/sample-app/src/components/styles.css +++ /dev/null @@ -1,33 +0,0 @@ -.data { - text-align: center; - align-items: center; -} -.mainPageHeader { - text-align: center; - align-items: center; -} -.flex-container { - width: 70%; - min-height: 25%; - max-height: 30%; - margin: 0 auto; - display: -webkit-flex; - display: flex; -} -.flex-container .column { - text-align: left; - padding: 5%; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} -.sub-flex-container { - align-items: center; - display: flex; - padding: 5%; - flex-direction: column; -} -.paddingClass { - padding: 5%; - text-align: center; -} diff --git a/apps/sample-app/src/components/utils.tsx b/apps/sample-app/src/components/utils.tsx deleted file mode 100644 index b79e07384f..0000000000 --- a/apps/sample-app/src/components/utils.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { - teamsDarkTheme, - teamsHighContrastTheme, - teamsLightTheme, - Theme, - webDarkTheme, - webLightTheme, -} from '@fluentui/react-components'; -import { Message } from '@microsoft/microsoft-graph-types'; -import { app, call, chat, mail, OpenSingleChatRequest } from '@microsoft/teams-js'; - -import { MessageListItem } from './Emails'; -import { AvatarItem } from './PeopleAvatars'; - -export const getThemeTeams = (themeNow: string): Theme => { - switch (themeNow) { - case 'dark': - return teamsDarkTheme; - break; - case 'contrast': - return teamsHighContrastTheme; - break; - default: - return teamsLightTheme; - } -}; -export const getThemeOther = (themeNow: string): Theme => { - switch (themeNow) { - case 'dark': - return webDarkTheme; - break; - default: - return webLightTheme; - } -}; -export function appInitializationFailed(): void { - app.notifyFailure({ - reason: app.FailedReason.Other, - message: 'App initialization failed', - }); -} - -export function getDates(): [string, string] { - const current = new Date(); - const tomorrow = new Date(current); - tomorrow.setDate(tomorrow.getDate() + 1); - const currDate = current.getFullYear() + '-' + (current.getMonth() + 1) + '-' + current.getDate(); - const tomorrowDate = tomorrow.getFullYear() + '-' + (tomorrow.getMonth() + 1) + '-' + tomorrow.getDate(); - return [currDate, tomorrowDate]; -} - -export const handleAudioCall = async (a: AvatarItem): PromiseClick the button to run your custom scenario.
-Drag and drop API components here to build your custom scenario.
++ Check back later! +
+