From 80d1668ca2d709fb6e9ccb51b0f4e3f865d42a55 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Tue, 23 Sep 2025 16:50:54 +0530 Subject: [PATCH 01/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 9c1247e62c7..24a35a62ca4 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -60,6 +60,48 @@ To run a performance audit, follow these steps: :::image type="content" source="../assets/images/tabs/coverage-tool-report.png" alt-text="Screenshot shows the report generated by the coverage tool." lightbox="../assets/images/tabs/coverage-tool-report.png"::: +## Calculate performance metrics for apps + +Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the Developer Preview toggle and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. + +### Generating the report + +To generate the performance metrics for an app, follow these steps: + +1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. + +1. Navigate to **Apps** section. + +1. Select the app you want to audit. The app home page opens. + +1. To trigger report generation + * On an Android app landing page: + + 1. Select the three-dot menu on the top right corner and select **Audit app performance**. A popup appears as shown in the following figure. + + 1. Click **Generate Performance Report**. + + * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon, as shown in the following figure. + + A bottom sheet appears as shown in the following figure if the report is generated successfully (in html format). + + If the report is not generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. + +### Accessing the report + +To access the report from the bottom sheet, click **Open report**. The generated report can be opened in a new browser window or an html viewer. + +You will also be able to download, share or forward the report to Teams as allowed by your device specifications (refer preceding figure). + +> [NOTE!] +> An interim page appears while the report is being generated. Do not refresh or navigate away, as this will interrupt the process. +> There is no restriction on the number of times that a report can be generated for an app. +> + +### Understanding the report + +To generate the performance metrics for an app + ## See also * [Build tabs for Teams](../tabs/what-are-tabs.md) From 964f09e49e6cff5fc722bc13deb03d834d7db30f Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Wed, 24 Sep 2025 14:43:25 +0530 Subject: [PATCH 02/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 24a35a62ca4..587d524fbc1 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -94,9 +94,9 @@ To access the report from the bottom sheet, click **Open report**. The generated You will also be able to download, share or forward the report to Teams as allowed by your device specifications (refer preceding figure). > [NOTE!] +> > An interim page appears while the report is being generated. Do not refresh or navigate away, as this will interrupt the process. > There is no restriction on the number of times that a report can be generated for an app. -> ### Understanding the report From 41f9d6e7297155cfa6d7fd79033e16e315301426 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Wed, 24 Sep 2025 16:57:10 +0530 Subject: [PATCH 03/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 57 ++++++++++++++++--- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 587d524fbc1..77cd029e3ce 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -64,7 +64,15 @@ To run a performance audit, follow these steps: Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the Developer Preview toggle and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. -### Generating the report +### Prerequisites + +There are no prerequisites to use the self-serve lightweight audit tool. However, for accurate latency calculation, ensure that your app calls the `notifySuccess()` API after the app is fully loaded. + +### How to leverage the tool + +This section describes how to generate, access, and understand the performance metrics report. + +#### Generate the performance metrics report To generate the performance metrics for an app, follow these steps: @@ -83,24 +91,55 @@ To generate the performance metrics for an app, follow these steps: * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon, as shown in the following figure. - A bottom sheet appears as shown in the following figure if the report is generated successfully (in html format). + A bottom sheet appears as shown in the following figure if the report is generated successfully (static HTML). If the report is not generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. +> [!NOTE] +> +> * An interim page appears while the report is being generated. Do not refresh or navigate away, as this will interrupt the process. +> * There is no restriction on the number of times that a report can be generated for an app. +> * The generated report is a static HTML page whose contents will remain unchanged throughout the user’s journey. A new report is generated only when the user clicks on generate report trigger again. + ### Accessing the report -To access the report from the bottom sheet, click **Open report**. The generated report can be opened in a new browser window or an html viewer. +Once the report generation is successful, you can access it from the bottom sheet which appears with the following options: -You will also be able to download, share or forward the report to Teams as allowed by your device specifications (refer preceding figure). +* **Open Report**: Clicking this item opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). +* **Share Report**: Clicking this opens the device’s share menu for sharing outside Teams. +* **Forward in Teams**: Clicking this opens the device’s share menu for sharing in Teams. +* **Download**: Clicking this downloads the report in the user device’s local storage. -> [NOTE!] -> -> An interim page appears while the report is being generated. Do not refresh or navigate away, as this will interrupt the process. -> There is no restriction on the number of times that a report can be generated for an app. +The following figure shows a bottom sheet generated for Calendar app on Android. ### Understanding the report -To generate the performance metrics for an app +The report contains the following sections: + +* **Latency**: This metric measures the (approximate) time taken by an app to load in WebView, to target a P95 app load latency of less than 5 seconds. + + * For apps calling notifySuccess(): This section contains an overall latency number at the top. This is followed by a sequential timeline indicating end time for each API call on app load. + + * For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there’ll be either a dash or question mark in place of the overall latency number. There will be an error message (highlighted) notifying users of the above and nudging them to use NotifySuccess() API call. + +>[!IMPORTANT] +>Latency won't be calculated if notifySuccess() API is not called from code. + +* **Caching (Service Worker)**: This section indicates whether a service worker (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). It is applicable only for reports generated from Android. + + * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. + + * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. + +> [!IMPORTANT] +> Using SW optimizes app performance. + +* **App Package**: App Package indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. Clicking on ‘Check bundle files’ opens a L2 screen for a detailed list of files affecting bundle size. + +* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). + +* **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger than this, size will be displayed in red else in green. +In case the disk size can’t be calculated, an error message with the reason will show up in place of expected value. ## See also From ba11727783fe2197668c21ed98188eb02306800e Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Wed, 24 Sep 2025 17:55:03 +0530 Subject: [PATCH 04/51] Adding images --- .../lightweight-audit-tool/iOS-entrypoint.png | Bin 0 -> 2209 bytes ...erformance-report-success-bottom-sheet.png | Bin 0 -> 169231 bytes .../resources/teams-mobile-best-practices.md | 54 ++++++++++-------- 3 files changed, 29 insertions(+), 25 deletions(-) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png new file mode 100644 index 0000000000000000000000000000000000000000..d3330b990bc811d79f79454fbe1af8b48c5e1b7f GIT binary patch literal 2209 zcmb7GX*3j!8Xm%o-Jrn`lQohhQDe&tGLr~dlC80RhVTV z2C*@E&aksS1DO0RjF5mDir5;1uy`O$5CA}Z8s{m7mBHEnMA`ZS01%mf7Zch-dK&-$ zX`l@dmcfpj1(SEJYz2FSoM|0LHQoF!*VlzzjIR;#y!40T$0cdHSm8p~xfO|RgxrY8 zP?Rr!z36$C&Kd$(UPG@wdg^ki+R;1hUVE-h=GEB-x5z%q@{cgyf{u??ADRxiRe#69 zAU!37JuC*Kh>7pycNhNO0XiIVpFS@sAE_zCWO#=h*<5}@D5q>E_&z!s_2lcj;^}84 zDVfNO+2qH=Hr&v(gkL9Zs8Q>T?%nj~J(^ieNaq;Tu7u?8Y`8#F;JPP-=P~fry@M3%cw0A$)C+1$Zr5H}XtzxcFw?=;$cEH~;$M z7wzq{KOb?Qb9!*^l)W9#TE|2c&&ke~F4m36tas_{Ki*j^w9RlIBBBR!uapOFe4*UY z0b{%pQ=Xn2R%=JlEq&%cR8Oj^s#4n2V~3l)CQaG6gkd_N`{^2wzTTi&Mn7nN8GbSO z(>FwK>V>S6BicZ3nnYoc0i^(5HhB)nlbs=Dq}d>;6Lx6H>@oO^Iyf!>=07~%acK?S zDJ{6+i;PT7Ny(8l!AhjVxE96KvDu3DEoKZo%kB4AV+^K}gp`+NTm9d<^zwxKK8s-W z>S`mqc%zaaR{~PKR06)6p;4&x!_67vv6m)+H57b$U3RwM^vB4L_N{(~Jt?BE=16K^ zAXQAIdwY9sBc+CKJ;!7njB-HynBWP<*z)f3z*V{Xt}Y%ZIHxPgf2_;?da9(kLOO?Ja)t;bU2yg)WtLdP&BIJQ{aZ@rLsMT zFAaRC;9vBnL~aO4EQ!R=oxm^=%!fMCoh5hIQr+F%T~jS5)+~`4!s-OlH%PA~ z8}W*3e`d|-C3E78NEhccyr)z=XPT?$VyooxGRD@c`9uMRhK7FYtY`~D3mEq#rO!19@fq_aDpMTz4Vf2JE&*%pm#Ig3qDf+_7P(HCiTsQo?-P}Q( z3ic9KS>bHD!NcnVhXfzof91||HIG!Dbs>#!Uz@z>i84U2;KZxD#knLBaz44=p9G2x z+L|?Q&CkgxcU@55(vvx)%{$57Evj(^0&2;dO`H&< zI;@&J6TK~Z$tp2qx1RI8aK!@~L33%TZ2R&JR&6=1;fn$3l@Mh|#eqEKT9w=@cCrGp zcRuSfY`f?BDe*iMI?bg)pnzJ_=!!~8rmJPt&08E$6qrRou4wsvVN%Z<8jdfFz>=9I{P;|i z$Zf(R;Fv%QHA$jbw_~S2i4XjXelTXLQyQDfgh?^^?W?C~-9HUp(u2BEBbI71Gx_JC zom=vxGNZJ{!IHC5hzlQ4Wa&Omz#KOWquGk~pcP=*QmF4=RG`fDALABIf3VkSXYNi^ z+8j_tYLKp-K9Q-+<2nyk_uA8rs_k1XgpzQSp`nS>1s_@INho~nFOs~K^iwaC&barh zB~vnzii|q3Vq=s0%!Q&7ZEAjcAA6A7Do{x6TjbC;2G)rvNB8ePp9ab*B&@Dt?u#k# zH6`RBl4m*}?y-kSKYEuHb^LwiT`kX&E(V`6)!>l^nFi&_80Y?BH=wg!bzV}NSBmD? z@+U$|H8{|rnGgob8-J#K-6^DkA90chn8SI$`atsAQD_Izd^^&;#1q6NTb&1=sfPZJ zJ_p>_%bo$A97-1-W(=%QcUXR20Jr z;bSjpbe#t)k{!h09L&#M8jejtz@l_6^YGr7u?;+t6bKu%VOhJ(Ox07=17YhJ{+&;o zgq!~L1@Uds7Ka8c?hR%EbCn$41o9M}2ix8Rhs#yfET{-H#i61HdpKOIQzxw|-$L1; zwXdNZ|H-y_w}|nDetL@&vXZBy5VD$-4PmY2NrH}^ah!crLjLkG4pdSwTDk#{3KJ$Ou*d literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..65626ffa7831aaecdd3e24a012dfb0362b0cf504 GIT binary patch literal 169231 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 Mp00i_>zopr0P9uGNB{r; diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index a44a2edbc7e..c33792033e5 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -64,9 +64,10 @@ To run a performance audit, follow these steps: Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the **Developer Preview toggle** and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. -### Prerequisites - -There are no prerequisites to use the self-serve lightweight audit tool. However, for accurate latency calculation, ensure that your app calls the `notifySuccess()` API after the app is fully loaded. +> [!NOTE] +> +> * There are no prerequisites to use the self-serve lightweight audit tool. +> * For accurate latency calculation, ensure that your app calls the `notifySuccess()` API after it's fully loaded. ### How to use the tool @@ -91,10 +92,12 @@ To generate the performance metrics for an app, follow these steps: * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png" alt-text="iOS entrypoint"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png" alt-text="iOS entrypoint for self-serve audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png"::: A bottom sheet appears, with the embedded html report in a chiclet + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png" alt-text="Screenshot shows the embedded HTML report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png"::: + If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. > [!NOTE] @@ -112,20 +115,24 @@ Once the report generation is successful, you can access it from the bottom shee * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. * **Download**: Downloads the report in the user device’s local storage. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet"::: +

+ +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: + +

### Analyze app performance report -The report contains the following sections: +The report contains these sections: -* **Latency**: This metric measures the (approximate) time taken by an app to load in WebView, to target a P95 app load latency of less than 5 seconds. +* **Latency**: This metric measures the (approximate) time taken by your app to load in WebView, to target a P95 app load latency of less than 5 seconds. * For apps calling notifySuccess(): This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. * For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. ->[!IMPORTANT] ->Latency is not calculated if notifySuccess() API isn't called from code. +> [!IMPORTANT] +> Latency is not calculated if notifySuccess() API isn't called from code. * **Caching (Service Worker)**: This section indicates whether a service worker (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). It's applicable only for reports generated from Android. @@ -136,9 +143,9 @@ The report contains the following sections: > [!IMPORTANT] > Using SW optimizes app performance. -* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. Click on **Check bundle files** to open a L2 screen for a detailed list of files affecting bundle size. +* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files** to open a L2 screen for a detailed list of files affecting bundle size. -* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). +* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. * **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. From eca3078d70b35b40ba181fe2fb4246a04eef337b Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 11:18:30 +0530 Subject: [PATCH 06/51] Images --- .../developer-preview-toggle.jpg | Bin 0 -> 2920 bytes .../notify-success-API-not-called.jpg | Bin 0 -> 6097 bytes .../notify-success-called.jpg | Bin 0 -> 12214 bytes .../resources/teams-mobile-best-practices.md | 10 ++++++++-- 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/developer-preview-toggle.jpg create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/developer-preview-toggle.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/developer-preview-toggle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b0deeeb3525575fe4709495045368bffdea9637 GIT binary patch literal 2920 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 literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1d18be0d8a4ad60a087bb90a7ed9551b9f1ce25 GIT binary patch literal 12214 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 literal 0 HcmV?d00001 diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index c33792033e5..de0a25bf8ac 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -79,6 +79,8 @@ To generate the performance metrics for an app, follow these steps: 1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. +:::image type="content" source="../assets/images/developer-preview.png" alt-text="Screenshot shows the Developer Preview toggle in Teams settings." lightbox="../assets/images/developer-preview.png"::: + 1. Navigate to **Apps** section. 1. Select the app you want to audit. The app home page opens. @@ -127,9 +129,13 @@ The report contains these sections: * **Latency**: This metric measures the (approximate) time taken by your app to load in WebView, to target a P95 app load latency of less than 5 seconds. - * For apps calling notifySuccess(): This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. + * For apps calling notifySuccess(): This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. + +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: + +* For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. - * For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg"::: > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. From c544e70d13b0683bfdb27f1617a7f0d3ce0b42b0 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 12:35:36 +0530 Subject: [PATCH 07/51] all images --- .../app-audit-report-app-package.png | Bin 0 -> 20307 bytes .../app-audit-report-caching.png | Bin 0 -> 18001 bytes ...app-audit-report-content-paint-metrics.png | Bin 0 -> 18435 bytes .../app-audit-report-disk-size.png | Bin 0 -> 5172 bytes .../factors-affecting-bundle-size.png | Bin 0 -> 23188 bytes .../notify-success-API-not-called.jpg | Bin 6097 -> 4865 bytes ...-lightweight-developer-preview-toggle.jpg} | Bin .../resources/teams-mobile-best-practices.md | 40 ++++++++++++------ 8 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png rename msteams-platform/assets/images/tabs/lightweight-audit-tool/{developer-preview-toggle.jpg => self-serve-lightweight-developer-preview-toggle.jpg} (100%) diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png new file mode 100644 index 0000000000000000000000000000000000000000..a9eb53c49b59f83f18daf02fe0b840a748095df2 GIT binary patch literal 20307 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 JPDHLkV1l+xemDRC literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a6db645298af9f042d3f4b5e0f50ac96f7185a GIT binary patch literal 18001 zcmce-c|4Te1NUE1xQS4fEMr%Z^^O>3vSf)!%91T(ER`kO5Qan{J0UTqsN_}{%UH$| z1~c|GGh-{pK4V{J;c{oKj-%`ldwlK{3S1_t*`4Gbji1^9V9@peCT>dJuIa9(;}%7Rec~KeN%`uP)0Hf@D1~Vfo)W;bxL+p55P3;dCgOhU+o3RHBKR+0|y}?G{QJuvhA}3>I$zS_6*ki$rCOvWVX7>hLM^IyUXLpzu&$& z%gSAQ_2tw;e;QBhGM5%t$t_;XH#%>i=X51{;#*&~rnPdN`uYnDwvHl;pOg&8a})c( zQ>O%E|GiF|-j~@pb;@wV)KKq1s55oyFw?0k7_d=rmgRAUpA7rj=emT?GCf-#H^ye>27js)riN1^&JnSCd zZ*HFQTwU9yuI--_bvXI>Mepve{p#%OYzY5!@5;r$UL$S?{0K+-(M9veRcvf*NOliI zM-@-P^*?RYoNW+q*>(Ikmj0h-T$pt!s{X%;j971zPJX|4C5ioQHRr!~LcABB2>zQ! zMe541(!cRt4exz+`Zr};{6`baf8NBamk#^SJEdR!e|%6Yq2c%+*q>Zc%&KdZ_48#e_0dR-34_>0c@463WC zIqu=%L27H$cW`!I+p2F^sh5+NpD1&}kfxi$CytnO3_S*$k^$4Mw6?Rif3m&3Jq3qA z3OV2W_GWE;5c1?n$=$nmeeC!3-2DAfQ;jdGs@!Lq;nbheEG|8UJ{zd9$D<*bkagei zJ<2kKDWPYZl0_F*W=hiCyYhsVfCm^K~jV%POtOV<+W3CLPH4z9^p7nJnT1 zgQ0uUL)jBBd@DVd0z9@-Uci?IKdl|=k%xWKHKci^=7dwY(ubbES_d}q*TJZdfPo9< zn1J~^g0YLpsAe&6B;(fv@Z&yhchzaiEJrCg*g5piYuLfYABP*_;z4U&fT&3jW23#l z%r9b21TiI%GQB8Kp+C|(GBPr?-F~i;#@HU1kVi%gpC6Vl2rbmz?p5cB_~OMi-#unG z8^!k}#0E{_1qVO!Ch87jLwZ$vjXs}C7dX?kN;n)2BX%TN@U|}pOn~Tv710wnv@1WC>bn0F| zaJ{<9a{xU6qJNjZFM~~woSiITl@U6#Uw%w0NBH7*u?hUtrJ;-T@#D<>W z=PvQ^?`A7J>XM`y1URa>%09s8rls!g17PUJW8?ehS~2U*6T~Ocl4Uu{E^FF4a|bHa zOV%0)5WE4t*&&E%g7jvyaj?*fQb8*_D{e89Phv5qTSxTu+WqP9@^B4%#S78NeoebJ zf)4yoRQrB2R` zp_>p}kCg62;}p?)xTIT-Xsjpsd~BI+|GV`*zjYW58)7z$R!@5zdC(3(BbgLWgmi`? zWGks|q$1o@r@pXW8)hs>l@4fr;Uc$9u#Q~GA3mBDN`e`9ivS5km=XCcoI zhVcg8fimX+$93ECg1WQuja(@*WeAhsv!_EcV-C3Paf%0b2)OEc4gWHpjlMz+*!^)- z>BXBEb+j0@29Yfga8XhbIQ|1T`XsI6uN}PdKy$B|OHra90UW>n`NBVVtq77t!9?=1 z&0v>YMQ9Xlxp<2Fwd?9|j;`uSw|5a2*bK;+^e$Umo&VI%O)4K zo?wK(n@9M))WHc^q#P1wC0b%0TF&lk&2Z!w_2sxk)&r;CaS`8_ifgcc^)$7nztiOk zmfi3+F7~X{@f)?!g(lt8LF&AytTJXZ8=Q?7I!MH|FsXjEInH4v&*(iaN0rPGFw;8Z z&d)MXgn)?ZFq$XvG`3So+i9g#VT~mDB@!6ixQJY2kXpw%*n4hK48#H)BWAcDcjcPe zK}*FHg+UjkJrQZ>s>ts|(>cSg{+uX|U2{2il5{I8V7d02Oc4+BhNuFKKq2a`?owqk zEi~TR|BC5j$i|q5E%B>2EbV*WPps)k_g{L@deUqnc2$o19v(Wc{f+cbbgUYC(*j@LW|!G#TsQB!z)j9bJJftfH8IG{UDeEsgaFJZq^#IG7mD*`{A zVJv83_Q@Nm$~J+sI5|~=N04>_!))4NFAS9MI)u_AEoPXZA@Y)F)H_y#o6U(f0k@pD zh=tVp{k|$~ps1*kacj9ROKyjrek|;;HM+VkL5~q1Lb;e9B;yF*TCVf$=3V+{hSe^1 z$N;1k;^?mP=ya7!%cG4@WpRdJ2-EQR`S*j{%_y0EZ@ujO+>g$sOltpAilB=!v7Lvhyt!&yd7)M1WNg4tJ- zSm_Mu`#7xp71#=xHk8^xzLF4NqotoVi5tmI;!0!v20Dbw>4h7mu$yifu&yY$rN;J& zlVjqSq|{q7Pq|b4-M5OBS66RwjIRaVZ2dKu{0$1s)iE0_1w{03}GWV)r8gcvJOdF4kRJtUz{505_mIGpj;+(N11+~L8LrO zM;`4IBOGZRZI2(Mp2wx#6@aZQ^9NtJB*ibid3V-g*v6M{iHADoA6As#w_}fs=YbeK zrCcpa^+jqJdvOP@4~Laq`L*nDnr{q^~CId2fWtCci~&mzS*gW{?|?6 z&Y&Lk15<9C&f~zdTbYwJBcGd=H|t_MpL39&>fK*nSIT0ptsnW)+rf-~s-SNqIPV7&ub`#RR#t#-FTJbffRJj>u@ZA`Gw?mv~ zhBR*@e666hS3A3}i^_x}Wy7E^$r1AX#(R~oe?ZbeizyfM{;?FmAhegPcMsZ~QSMdR zP@$KQ0?uo!#yt1^mt8jTQ^f-oXWk`LX*cUj=IG25Q<+ZaMaQ2dJ-#srXBu`oRQ*lk zoV3eMX0y6*qk0OK<;jS$5yZ#JOZ4iZh_HZSJ4!9(f~*LE%qQ*di9tyodAlkjI}B$~ zaV-KDR?-waIwgpVic^wiz~F-~Ez!}C9!tCA|F;;vd63*YwG-#D6bw@TQlrRODbC0Go~_;IpxuFGfqltK2&1qg_RE3rCpDGi-|Jh3d137S^drIt2o3 zpb}-Jh)aUa6X{z3B7v9Am|Bml1^)Flb3gz zq&k!XT9sFouw*R%!T5I=Bd@>2X27EuT~U*}etWs7kGc+cqu+AxQ5$(Jhk4ZS8M?D) zo?5K0<8Y=iiNT=G98rBmLp8E@k{g<(R_LXG0E)TMwlgN?vwNp*np$)NMrQ@I`p+4NXO6)B%3G`E zO@|ty3};^mO{+Td&9buyuN9cu@CmSQr6pmn5IqBoUX?d)-PzYHWoNT*kiI`?q>I0I zYcz+UGom1D_LA%=LCn*G6n!=kzpsyjvR7(TpqXU6QZPP>S~K3zUzs^r;J#ifXr;J4)iV8yX`E5$!)Rq zj$4(Bf?^SF;40V%m$;Qfbj=FJtU zQNjv|hQV;7E$<7~#n%PQA$@+a&%TE$@9m`L9eK>`Fn7NnCkw;xz5$4T5Sis-`s+J) zR-6o-!D$nH!690AQhKMVB2**(u;tWWx5QZr9FTmmmw?eHN^WW?<-cosMN-QYnjxk3 z_#`6m;v{Kw+VLK|H+Oo13dN0+- z8>M1G=L+c??%Pm-Q zQQk|1HFV<-Fdv&>ioTq1PGijN1ijZEDd(sXyqcH`Ev-hDoo!i>*Vs@J;JJnA^6_#@ z7w)GDmWj$B?V5Ydya#VaafUC;Wd1nT54*O`iWUB?7oazfNOaPABLUuiC|adF?2Pl= z-*ItLt+Ko4`{}WHX3iWJu1Z2^Z(P3@VgT4K@*6S2*=6Kaa-MW%wm{(a>%&|vW!Hl4 zv&>R(NY!2NIOT7R-it~7(hmms1ZPp4={KoI42i|{qqTM4~4FHKPMuca@7GMilNLb?GHY>(D&AC-7WYk%Xr`GUA>4{fC`$PzfSQ zc1zHzg7~WAj4Xczcelme3M+>IoVBLUM`OpMqxIuv=Df?1d+i{v!cpRRwO=X60!EOm zQVq4yz?GLvVsPNz*g5|pvq&YiVekg`r*EqWfJegBfQMgsmQ2E@oTd}c0`m*K=5QjL z^wasE@qO=ysiIVzekCR70b*wT%3QnA$HZjF)86|G`@&Os>yj2q|qikyPiUmnGESj9Ruiv-V?4ePovP}P3qojEU z#$_P-GM*@Iqm% z->2B53&o3$zbi7GX@p<<%AYKE0LR!&Cw3mKP8XA8VpeTop>7!g^OFSR-%y;vT z;2de$0Qx$J5U)f0inyIR09`Q{R|$yzt>g@SD~%bmUCTvIR}s(L%2g25okoq+@mlAg zic`+=MB&ZO%=^8vpgPe^;Xn_U(}TqWJAy6w_XrP5yIfSo_Hw+bJFh*DMpU`x4;{Eb z_0G4y4w;isw9IdXcslQ5}q@3bSky#11l!@Mo}KBqr*VV88L~-a*&po8vErsXq&L9l-R^`;$yGN?IUA&GRP*P% z-kZAW_jk4QJi3=zh~$*}`Z+kg+;VnNpKUz%g-vFM3*$Duw1rmcJ5)HyJ&@7|NjUGV zry-zAxnPzk@)==>W80YAS8tVr#|m}aM`rj%pMrzc1lT!LmjO(&v0spbdBRzU&QLP!DOl@p2S zM8LJg-?(M@U$9J6B!36*~WF02Is61zKd`6}`On^~K^uz#DG zum-d1p^PYpxqiB$Y{^lIVcTA*onTw$gFxGovd=P-rdS-?X+qQdrmq|X2>2WypO!FZ zG{Zw`O^-Px3+Ft8&(&SIGyG8$Z?Zu)i69LZAwI8`{pdI=LVf@p7614=Om|~ z%~qfx!i4W*qGIq8UlbGTQAun!^5?g#gbM)HM|tBM2@-$9@ixKgzL1ssId`w7&a@kH zbdS!*ct)ZuMf|r@W+*ZPg`N7t>fa1BfC0TI+gyM00Lx*oExet_XIB#PE5%!5RUK3n z9l485jSPX~kvc~nA}^N9BS(J;S%G^3BZO-?V6=v|4h>E~Wygtm7ZI#71DAbz)ZLDc z$~9X*7wGIzTo~}-{5R2ht0RodJI*HVftqoHH$BL_L|2~b}N&Q8R=x4 zzeU}x;lS@p?|Gv+QV<`p#mVICnH;lsd|$EGR27QNUSxcGJkj*cfGvEB-I`C%ws7EM zLshB;tvcj;Hw^vHYSo+-nihCH%34W_C#0~B;6n^1-kpFSO|LVZjZe*Ha$X1v8om0ND!V+*`jE=;;HU{hv5Zeii$tRx3D~plaov!ABKM}N7?nPU%i5GE0+c3& zbpE6}8b0Y_lRw)GSVU^jGJM_i9N#d?dYR$67cLlj`{UDtTpKgB%Yj^y9*ux zr&P6$c6FPusf5ODA}@L%@*_F)!I>HM3{24j?A@Gl0Y^R>EPb z?j1Z$|4e3|0}i({f&A^6i|n*uAI&(l>^$P}z)M zd)ef9X+Ln|Ryz=Q9q}eYtWV015YH~-te`IDv;XDCrHQ7Gej_$Qd(!2gH(+^Yvvp`=|RSLgsE0Ubl_2Ei_D0*JK0$ zH#euapTBB&k#Wr>?MA+3vm%CffAxN{H?GOMcZ@#Eef&V++wVudm>2eR&V#@z}WY zf_5`*CY&lGzOs2Reo6oLuzgBr@JlmKnM0bAb({yBkQ9$k&&PM~-6ox#Ypqj>OycC! zaqC{Z3^>Ux3#{kpX%`qaUpHCue#FKl@Iw{5j_cY&;~r2zaC(D&wZ#@c<4KiyTg|ec z@i+Ys$s+H&i)noY(XK9M)Aq_mam8L^8A_>Q&YZ7^Dknup+fu@7-LU{Ms_nF^yJrOE zn&$Xl4m&Ftv`go2G1H%fjhgnuNkLFwP3qqQR*Pi}z3bS-{~GdyQzn<~=_%UC%sNR9 zpfYfkZF8;)^grEt!nr|r=a>20VRrx9tlzkIZ1G>0zKvP*f8DSDzh?aZKY0)=t$N&V z>OWlLiVi#F!V^K)|FDgXkE&?#x?P5XowJi~Rbmx&Vc6W^k;79rD-8{hz>esc?f5Hd z*F-^ruFvrri%-~okO%zC~WfnXOhRDo{(B{v&I4_WtPE9@IB zD@ikb`d=DDeQZ74tP@_}6nGTmxL$3xnN%S!-xX77JF&8LC-2eBnE1?bX!smnbE2o% z`57iA7F>ViPshg{5BEFjjAz>jPGGT6FQE&}t>HU)1^K?p;G_HDO#Ju+-r$67Bsd|I z))RmJ=dTei=Vk1%34*laKTZrM(xcRx#Gg~sTbeu3LKso?~6Z~iJD6#A(;!v z8b9zZ0v+-+>|@f|4&uqkd+&;O!rhh;XJ`AT8(#%o!TE%cvkB30)Du+xgTo$eQLdHPUDx{t2+6ZZ23;c z@9#A=s4;W{dN_MLyXw~u4Y#TCF5W5t@@|S{r}c$ByU~R4{-yt=7MJtHQ~gASv}Kc~ zdR*Yfc{L6?x*vD{t*?uJIh-u^Z0dZZnu@#sQ-c@R*c>RyV$XSwLTnj-xf;XoZe9DA z_!OC-}q?t{~rqcf1(Kg2g<4PuOviR+BrE<%ObZ?DAd~J zlTOdi&tH4zzY0QOT}!MM6cn7;T^*n3?LAS9M^8_hgP6Va$`mG~c6oUjw(+|a9kM>{ zaQ$Cyx|sIFZ2Cpe&thXdlHO_*RBdnmX7wlx>pSuJ2Z=)Q#`w<}8UIouCs&;4iSPP} zJjhRsjy^D+r0<`o3AgBy(mEeh_fe)#(59DM3-B9i?{S5_W1voJOcGGHEYkVKPKAJN z=f=1zmk3Z~h<8SF%O!%g8>py5LXiZXNV`LsczI+sr=U_$*DO2H;s_+ z1?~I$hX`$YS)+%gOnyGMwKDn$`axB?MVKZBeBN{Q}%v9we@pUS{Ogn=RukG zg^AM}i4FTj;XxJGhnxSUo8f!j^b_9Ia5|KXOW!+~ORY7C;|>O{IALJHyBGFOFs|{2 zOT^}F%)fvwa*K>lspG9PHJZ1H84vGTBbOLAzm7%=a7~w}H$KK8S^~Ouc=$uMmrKvl zv5O0Rc~gZ?2MTnj^zVHCtw*#_)=46e$2CrnFCxk!bh1S$0Ri`ROFiq?pJx>t8El`Q zsDTJ*oM@- z^(Zg?9s1dLsH68S!+kT7$QPLVe~N&Kp7#3+HVp)-xmE=XmX+709s$+1h*OJyR);#U zNH$+xKX%iFxm56)$plufS-JTDV*C>}k)ha-6zi#!=EW8zz)TXbHu-nC4S~k$ZDhav>Xa0ar-!0y+uo8p+)C3Jb;o32U%0F*W z9qNbtGR>-cFAuD#=zV`{2K@sv)-|=_L#`U=KHQ!TUk~2ymvZiH>Y+{4xJvKrcAwTb zQ*4P`>%2IOcC7=Xxqq))N~@jRO;igM>)qc8l&05i^#Pg8&p6zkdZ|8WnSXPrAdRv@d2k z4W_HakA`I9RBNb8p8vsYucLO($HZi#`v{3leG7pFJVT4L%AJEoEu%c3zM0AL*J1@n=x# z0~dXxoGPteVFbO_N#BkGP{zu~YKLnwXmwwWSFp|s)z3U=emXT}Bx(8iRMObg^A?a^ zf7H0gTqICq^1Sy&;PwzBJ9SNvQq8NXftT*-U^`^N54-BLdhGdKa+$jaN-N!Zc3Ugf z;)U5H?LE@ve4fV~bF6Nly59Z>F5D)5PRl~edfF%;Ybvq%dkb$e8RPmwBcq4*TRI+=ar*~c+-jN=4$6639+bF}P6%bo(JNGI15S-Z&zAoi-}S4>$P=BMtVrM7~V~YEk42bTxMAZx~5Y zGhmpII^|2x`zf#Q!qU(?!$f%s?2DrYD%D)W{i6;2QVx|J z)@c65@}kl;i9zuMuLg+NFVxUXenk|=IS0y2R9JdDGUojHPoq9dQx`Rl=auFy&f@M{ zpzXM#vYs<(0g6Jt=z)O&<6b!kWi8QeSZoe8;1vDkOZ!hH-3{>dp7U3#)Y^WzLGb#0Fz%*OTf z@Y;fHG|sW9*<_DnXgNwVUgKr`hTd#U3*@yPvr-=q*yGjRRn-*FZ2k482SDPl@y^0j z!3jY@57KTtON+cTEc27wDGe@RCi}@eTEmp<9*gJ&jaL-;zf`W=Mw}}U0>wN@$OcC zhQ)~)vdiBTBr7ueA_mX7I>7UuvrDAT4@YV|(#xX=D0{!F8#WG*jnR>kMtZBMNy;w$ zE{InF^!}UwH_m5U?y`YwkpQ1BSe!EU6UW zKE)g}+>i%$j{MChQWZ)OFP*^E;t?A;}=+Q<5e*|B~k1MB8m0qGg<#n_aHZV9wklhI;l6 zIpUA9LlQ>=-fAFR)hdo>MR#}98lk&WI;TtQPOAw`zgr8Nr4FZdFAFFzd1w|~d=SsZ z4dm3U)Db9A%RcBuvA9D=@(;%Lv{UY3H}~!cSi`Fw;BFz%F$kQK=!)6=$FIW$9A6(o zDYk{f^^vLvZJf$M+sRJeLzWBTQkK2FinW&D#E#A0r&#Zh#u-6QVB#70vn~MZ#Z*o+ zg->%H^xw?)RqIY~7e#zPCJ|5f4fCcI*307HoYYBU%?YA9>e=ze)3gQiosKYUK&7-V z>p^67)Or(c9qGJ|3%DT^?kd^2>KRCNtj0VCks^bx&jLjZ#eEF+3cSG6Zfj#%HG{HU zj?Vywd6r;|aA2?;J4dU_YAX;{hm5&QkU-Gv89B?)%yidc*?30SNgr;B>b^$GxRNF{uTQ=m4D*v>Tw zB_i^8FRU1^n*<&BY4jh~Tnqk7Du9GaRm3=&rmqN6?JVf=ZFRSu|QQnrD5mvOl3Kr zH$VSTe1gVL7a#oHj3NgeYbA%nEI0d>jCN1zfmd_ISztGk_o=w=(!g>=4Xcwgeuh$H7d$dqY}6D{gRP4$wL# zH5QgMEJi=YaLx5j3Gs;(vq6kn)M$a?LJDhXk(D{jl}Dmg*7YFi35JH;%abiPidbWB zY9Y{UYv87#1p&x@V}m$wY@X2f=UO+8{H7hWf?FCHO&o}6q`G+nBJSK-$wN? z50#bC`{0e>cZju6>~mT62n|N=D(uiqp~rO&q9`s9gL6o#o$@*UgqPT>9}KzL*_oxG z*>VvG$E*?T*$&sZ?}IC%)S%aE0LMF!aC$X=z1^T8vAGHJ=)3hRGBX9=a;Z|Z=kg1v zEG?+!8Bmw{&ZD$wd#D4k{aI3IP_9{T!jh|9#Vhlrxk_e;(6rg3mCKE}@wI1~NNLXs z-$Tze?a95;^DE3{mE#W|%enck)cB2Q2}n!si{b5T87$be4H`9{W!rEGWh##{vxC}y z_d)`#gXy3Tp;~&x&tu)tHiylWgE>D$7Jf9-k$I3X8XkZ(azL9wN^$`8S0F`(M$P1v zu7r&0Fj6A_a8N?RftMu@eK$P>;xTDbJzJ=poJz6gSQD8!Fe`QvDv-edGxa*uJ*VeSpQ6Bz>e+U%b#vm~}* zHn}`oWoVgwdvvwDWqMh?`CzdL^-X!_G~bK0`o)HN9GhEwb1ZB@$OZSe5sp`S?v*YG zQ_T<99h=MB?>r1?p-=fX#!E6Ozb#4Em9&2CUTuO_$P22GD{{CtgN9^nXbGabctQTX z3Wx66 zdKkukYTR#?y5M->sM`=28tQ_(Db5W32>hp+58F`vH}4+6XC^{gK*>^^T?*mjInY5! zaPp11bGGZvj9&G)&)Z+5^!D(H((-&S<;GA&==Zn*+X==nBz!Zgo!aMzd^$oejv+5j zyiP=EH8caT7HPe-<%0qz=w>Ho-24w>dg%tYnXX zXHq--M1AOc>plRu&cyVK{YMUt_I{SPxeCH)CJyK4`VpARk$%{~^ZQf-HSL^Fe(n(&W||E8kZQqqlp5P>I|LEG4q2Q&BPv$+Hp* zWgwb6Vr8SfL-n%8L zZ9FpXf$RxpObVweuP0X41{B^uB?{b4#CFS_1ng#fbBq{LCXqW*c2a#4a-wF{MI9p3 zde%g1XTO}E!7YNNcm?NTk13EMwa*3EEWC?(+Pl3VFL~ms8~nBC=#8(*aP8%jX***y zPC#DZ@xOZsfh`@s-j9PL+(p85o~=s7apSZy4ew}(5K4RP`cQfr;bWG=7tK^JT7poy zO%ZaOii5p^o85M+#-G<~<)EukZit9V-YX8v9xaJF?wvw_orIf`!L((o?B7L+F0&nP zL(9qH97B~d4`Qq^ZrhiHK49oF#vB#?}#^dyEVCku)7?y z0?hJHc+sh}`1_a18&SU=g&$7IPUVO%h@IVMu8DU2Sc`*heL7=gV>5$46$K-IW7O7O zXZti=hrWoW=|)e%yx(WLSzg|TjFSz4k&vkHqu2a;p~lkZP=78v_@M0lj8m~~vnA5h zFFBUgiv_x)R7X$Wn`_y%>lJ9vaYLMTXlO|I>}a%5S6s|X9zz%Ilv*A@Zi>H;6Hp5Zu-yp~8`b5pgiD zNNG-rQ54{*HEQCR!Z4>VWj+%-9Oy4I(h-=bDUE~!=2jxe2f3~IwxamErV}p%_2gbB zKR)we^aRG&2y;yF1T30=g+9)B36)X}Me;v{sPUc<)FD>?kSEHnC4R#SbD3)V**fdh zmXJMXAleKo_Z*zSWuPlleq9VADV(m1%6ul3N7y0LBO8~@;m|J@YQ!Acn3WvL#FxCF ze_N|Q*IY(F!A|rrH$gzgLFTFrlt#(Tug<)?GkjYhDgzt1U-m=BNB}ePYe(L#JgFr} z=0!;+bfv(3WyBO|_`%dhjCyGDW~=(4;+Ba34Rsb~@u%MEW zIR9G(0c3aILF2E@i{-aXS1y%`vOum!Mp&)cgWu12%gT4%ONpWIz=n-&x?Nc&oOU*I zd6=r5&i8V_-HrUk$sc*f_$>!^?BXjkPgYUGAh(77uSW+D7YgRMcTznAs*r~k;v3OA z{t`X;Ti?Z*-n;;+UOjp%8(ly6n8iuNRRxs)ev;%q(?)ul=r8Q%(P?`pCBv;tM`VDv z$AC>v`dm0E+Q1q`M|dT2sy1gs%C2{Wa^6RLc&k+xQkYD~tgFt2HBqOkO2xovWs-fJ zp)*%YmwYEgP=xthQJ`0^E#*@x7Q-@P?Gxawvw;1XZCE#+TPF_%fcWYkl^6?e&#SO>}>K3IMyEC-SGK=9z-eH5wCN%x%Q$;jACuWEBMI82P+(r{uf1j3T6`&t6Q|^}dkWnR`a_K!k z)$womA4_Fc^n890C1l_A^TrkYl=t9XdV&M66w1kxR&9Pc#1ywFIVFcNeP^7X!R}J$XMOcc(=B8i#m`wd+rH`_Ec4OlLhGX2TrCR6MMdTC2{BI6AhcgYsw}F;H#!GD6=LMW1b`?TA zK-Yu}U0Ec|S&(xXX{VccgOVCDG8U6RHkmDwufa<3x%bAgZZXgpcA1yv5TyWFjt%?D zfYEFA_J2Oa^1ac3%`tEs%T5-~AG-oAJSxo_bTVW^if(=@YR+nYeHKWRO268(-b|2A zuOtFDsa?^@rWr4)muEQvR0zRD5Eu~0+D%v<=HW}aIg)TobTi!m4BmOYPZ^B5)gq&` zz;_<-Zm7ef62l>2E6!6H4OsbFeki60B-{o>jRt$hVCtSI^am|*o-CS?nW7^uA=I4` zJ7K}*b|~lZ)|JfUmEG1ztYY?TJS&k}wGP}x*u{&rw1#sU`{Um)saGE03S#Y^mL`eK zwst1@MKz`?|5;^mlMY#cbO~^BJeF<>%E*L~4|p*kT%VJ!ONTKyP1?hP_W;k0PM^E) zGD)DqQ*DQFA^l~J zSP?TNpN{EQ5=>qZnCEf*lDbl_Y9(&avh#faEIuY67zgp|?inC|)q$b%bl{XgDY`Hb zvsg!~6-vtiKo8Z+6l^12tBjX90T?ACv$K!#xcNW<&<5)CYc6TFwV82lv8fqu;{3U* z^s#C{H9U09XlJeu4MLOl#PYrQQLB!20e2p&@*TPb|M;QU$@s9#M1!rXpL4V&DIr`O zeYZIUlw!{ItOSs=ycR7njFL;Q)(j@I4Svl=kl%cpqt0&G?ympP>5`!^wULz)mR&#O+34rz7v^`Sk(8Yec_KZqte?LhJn+gbBJzfM{6 zQ@yaR4SBW}W>QMV`{{ z>W54`C}39Pr`*zWK2;7G9xDEh6oK3PqQ-k6QXM^?iZ4{3zr$WYTqBaxt7UE_hz*g+ zG9p{tO#DKwGPJ}GVz#!%4Ew2+lc4bF{SHJb`V=!Vc-60-*cyrNBd_ywI`Q#LEaL$p zPX=Iv*?n*fU1f7O;Zl>+`MdymQvpbt*YYJZATMlC-qq~Q%Em*7Fl;qI{iqlY`?X^B zVI{$!vlr1s1DTo&H}MtPNxsky^ekxJEsxz-3QN)iWwa}|WGoh=vX9QE-iG_>3?>K> zeauA+l>B?96ftA&(i2X!hs<}>X*SG(5jO_ktIDC}yOVx1UKc)_0Xiss$>?aYBMD21 zfi|xT%CW1aZqij>i9y{BDnxuMlTM}m7 zyFN_iitJ)z{1|BO@b024xA6*}~}p_qNwalZG5Z=YVwHe#JK2z4&UPm0yY2+YYQc3JANr@j_8$I&5`&@0T*j zXT9;#;gd*7T7YFZgWRl9W9E2W$cFUKI{TRuQ0P0LbIJea$*G;t>ohkF+PnvSCo^xz z7^Rn=`r24gM#<^z%>oQTDZiH3aKjgKoUEb2%v8=aEEalyt_AjH_|x{eKPS%Gdw-nyyn{%S@hH4f_3`7#CVz%Gov^Mui=R5x#CJi9L}twvBKk(_ z<)Cx#;q|XTO}JKaCwJs=Dw1RBSBajLi3#{?_UQ`5G)dG!ivRm+-OLVO^w4sy`Q9CI z(<{)ehr+sy2Mb~o%i}KfG5+bdK>%#`nu+;A9;Z5}!d?s9=*GsJmDC#1%MK8nQktiX z2+}?%%?EAYb;!Zul(d@`0eRKC&Q4qD=UoVr&7G3rgp(t8ar2+WkCvaQF2(o>XHsna zAIuP-n)Fd=TQN9Wefycccnfov!;&CcU#I{WX7|0q6#3ro#b@)c82{hH7WTByN^tTO z&$t1`{&(l7q$imutFHj8^^4A`)THPTCG?8%?scJFg@K4aK){aE9v})EecYL|4>45+ z2I{1nodfhqGr#BiR#tBpP!~8{a3i+$w@m4W`JAR(PRvQwmmO(Qk3CR*lSzkvYu=>h zA$C(Uu!MNTELln3z~ZV@%h}UPoxTU1yY->9gkP^xxz}bcp=q^!*M*pB5h|U`cKM@E z{4+O@+BIO>Fw(5^X1vozGo0Ub{RsAZut0*0+pUVp{LvliA!QbEuO;!1 zyss?U7B)rQ@<7u=CU~%I3j}}pGL$PuXGF=Vk#``SKZVw0=^a`)_R;f*dT{xY_n~rO zu9w`$eoZ2m4u_O2Y42w#8VIL;uCg3|L7rC4|1990yW{9-|IPlJmju^u>7wQw_FPji zqTA$RCG@s67w)lq06&X+#Gn#8a^h>*w>Q+jdlsF(00Z|^Ia(g@U)?7ddHBoh5`R=*nZW6SbC<5Fn z>e>tH>JHyKmwRYzJ$t-I-IlH#3=Fc|FZFNv8<~U&>q=c;k7U;<^Yf*C(>*YDND)tY zA-pd3C(|GwP@pS-7K=yt+X7*;N0GG9cVb$6!TZ|0S<;P899sO;gf5=y9B0r;{azCJ zS<*WGEK_o83H3h4_-m01;^JYBru6vQwwu#RwzRJs)e9G~^$yV6Nnjs#{;O@@;Ux>( zJoH#)7;2YT-CnnL`R?Ry%a;33t-k^sJ-$2{^lZZ=Wb!9n(KA|0DXgvnp5f@lsy$!7 zbgsGQr)GVi{$TOs+W{bYM?Usp*~6+ZIe)pj@6yra&%Z#ny=%~Ua@EQuw)t+{W;0K~ zDE{@`&NsfLfhZP^pN2DDvvT(Z=ruVP4*HA)D>!KA#MiVPkNkHdJ|StKFZs=llj(!k zRV%Hhl2BXClZI;^qeB+Q|K!~3=YfT;OJ&|ws-(eLrb~Ht(v88$-PB6+LQv+M6KPSY z8GigG9j>2q^xLn+5_bbe;HKE5dapZ@zBV^gr%{@_i$K)l;sHph*p;FlgiE`s%t&a( zb2$fxV4AAPn=s+_B(}V*t$IIAFSq8cT$lK~nM0*6LF9dpYy;Z6y)AjVjWE3fVXg|shE*ZOb2$l1NR z+EC%{yW$C3quE{Svg)KYfdU#_5iTXE`;FqRgz(i$I=OoxZmU+H2UVpIWc{6CVA|K36Szr_DRLmi7s@_t#D1w@val+N&$PDQ=o2 z)BDbw0_C@!+toH4GGeMYO%ZynzY}*E0-8k*mfA;Fl X%OCX@eBKH?5QV|h)z4*}Q$iB}Yi(ow literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..e828e0c3cc7ddf79f9cef6cdcb77f753b80903b7 GIT binary patch literal 18435 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 literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png new file mode 100644 index 0000000000000000000000000000000000000000..892dd1677d10c8e2b430e603446cd0babe125882 GIT binary patch literal 5172 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 F{|AK!smTBU literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg index a7bd51660d1c07fa83b9a329092f2ede9fe716f7..d4197f296ae9ecf5b27fc20a2aad8dbcd43c65ab 100644 GIT binary patch delta 3777 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 XOwRXOpW6#~d(Hm#>FB#4d-C4^@+X@a literal 6097 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 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/developer-preview-toggle.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg similarity index 100% rename from msteams-platform/assets/images/tabs/lightweight-audit-tool/developer-preview-toggle.jpg rename to msteams-platform/assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index de0a25bf8ac..13358c7cd23 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -79,7 +79,7 @@ To generate the performance metrics for an app, follow these steps: 1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. -:::image type="content" source="../assets/images/developer-preview.png" alt-text="Screenshot shows the Developer Preview toggle in Teams settings." lightbox="../assets/images/developer-preview.png"::: +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: 1. Navigate to **Apps** section. @@ -92,6 +92,10 @@ To generate the performance metrics for an app, follow these steps: 1. Select **Generate Performance Report**. + An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. + + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg" alt-text="Screenshot shows the metrics calculation in progress page" lightbox="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg"::: + * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png" alt-text="iOS entrypoint for self-serve audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png"::: @@ -104,58 +108,66 @@ To generate the performance metrics for an app, follow these steps: > [!NOTE] > -> * An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. > * There's no restriction on the number of times that a report can be generated for an app. -> * The generated report is a static HTML page whose contents remain unchanged throughout the user’s journey. A new report is generated only when the user generates report again. +> * The generated report is a static HTML page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. ### Access the report -Once the report generation is successful, you can access it from the bottom sheet, which appears with the following options: +If the report generation is successful, you can access it from the bottom sheet, which appears with the following options: * **Open Report**: Opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). * **Share Report**: Opens the device’s share menu for sharing outside Teams. * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. * **Download**: Downloads the report in the user device’s local storage. -

- :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: -

- ### Analyze app performance report The report contains these sections: * **Latency**: This metric measures the (approximate) time taken by your app to load in WebView, to target a P95 app load latency of less than 5 seconds. - * For apps calling notifySuccess(): This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. + * **For apps calling notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: -* For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. +* **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg"::: > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. -* **Caching (Service Worker)**: This section indicates whether a service worker (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). It's applicable only for reports generated from Android. +* **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. - * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: + +* If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. > [!IMPORTANT] -> Using SW optimizes app performance. +> Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. +> Service worker is applicable only for reports generated from Android. -* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files** to open a L2 screen for a detailed list of files affecting bundle size. +* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. + +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png"::: + +This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. + +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png" alt-text="Screenshot shows factors affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png"::: + * **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: + Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. ## See also From ddd960697647b789c35fe4429ccb649103f72e35 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 12:52:20 +0530 Subject: [PATCH 08/51] images modification --- .../app-audit-report-app-package.png | Bin 20307 -> 9212 bytes .../app-audit-report-caching.png | Bin 18001 -> 8591 bytes ...app-audit-report-content-paint-metrics.png | Bin 18435 -> 9394 bytes .../app-audit-report-disk-size.png | Bin 5172 -> 7515 bytes .../entry-point-for-iOS.png | Bin 0 -> 2467 bytes .../factors-affecting-bundle-size.png | Bin 23188 -> 0 bytes .../files-affecting-bundle-size.png | Bin 0 -> 17289 bytes .../lightweight-audit-tool/iOS-entrypoint.png | Bin 2209 -> 0 bytes .../notify-success-API-not-called.jpg | Bin 4865 -> 0 bytes .../notify-success-API-not-called.png | Bin 0 -> 8270 bytes .../resources/teams-mobile-best-practices.md | 4 ++-- 11 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png delete mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png delete mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png delete mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png index a9eb53c49b59f83f18daf02fe0b840a748095df2..3227941040442a9b5a43bdfd5e5e791df6913751 100644 GIT binary patch delta 8994 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 J^};&*e*oW}d`18O literal 20307 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 JPDHLkV1l+xemDRC diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png index c4a6db645298af9f042d3f4b5e0f50ac96f7185a..fa9eaa1e9e00695430a041c63bcc2880bf008739 100644 GIT binary patch delta 8369 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 z z#FNpbq{GDh1sDBm#)CdU9G$p)l4iQxbkHlvR}gm-dQWeghosQd;YrMGw|6lAoAFBY z^`{e}U3gUmgon>Cg57dGNGXn!Fd432#io&mO3O&O-t5urQPrX||AJTMHW3O9GOO7* z8h?XNl8g1f%^Q^(+7XvyL8|8 zOq5y6DzxCVDBjd8y>zQd#v5r@^clGyr<)lR7miRBiAzf-YT=~BxNl)U);~w*xx3e{ z_WqRbZ?Up_Q0KkgLVoaBZYFLVQVxZ^x^I}DQUHcJ-&%>z6HSzLedxtM*W>^B(8gDC zthILz62Da3Ck8|;9>jCBTV+Nq6K7=$qS)kxu@t=s&;RD^Zzp*gbjQ%4wt&Xn3Q)!v0tp>jTxu- z67Tm2>%FTTuI11eAO%?unK0>@p9?Q+?(4Rx8Xx#E`vFhsQbodf>W&OP>W^Bz`b%v` zY1w_~6#UXads~q_{PUAdUtx2E!rfokWG-UH@QqDEgk_d_vKNJdSZtYC+#7?>`^0lY zqBy{G0w9&Y@=fUIpImUmcO&{7u_4DDCr;^mIIz z)@0p*aEbt&u)|KK9^YW@eF#5=&s6YCgBjstgCH{dos7r(O4`S7JgtJC=(`C#Y)JXj zz!fE1ds=sOd5)UmHao`eq#Qko>BG7gEx?#L!O6b-xtRh(##RP^eq%{+Z`=Srg4&1o zg}sv&Bmca&DFL>cz3Vl+rSy0^cs<&Y!-w8{7b|7;W^%4aWda zJ85UDGZyJYwOr9OL1dyvew6b2-s8AS;}`v^3HPIg#K-iqMGe|**! zKtG#mX=$>tq_|0o(s$8Vf>rjwp%wjfgTJ%S_E@?%&D_75HkvjVJ!y>Ytf7b>e@^kd zeYIZU8H)gKyKrom$m>uKaH_(qA4U#=_A2o@L9jiI{|;peDeU}vO09mv#Y{K@d3xj$ zSe6s)?;xMTv+l-vC|S!k2SOYQtrQ*ry76gPrCtabcYN|*SF8;LTq3zt#ZA$%nZeP* z+rirAwl}*UW74AWA7QNv;jl`5GRBEb?#M{U53uDnmXUmccbX1L`6(a$P+e#Ly5cI|#%5k1nSJ=Gb3E(E8qx4%DZ z>pv-ANox?ngbyeL;N@@#;b4@uGzDWz~UL z`Y|tWaQzQE4Qi$V)segtY>o0asHd*!Dl(<*0VmKD-#)m!7c=0bE;vQRyX-7%C?# z&`*K#(T-n}9tI)r-;uG4f!UNjgNGDcQik~+wtKc41>f3W@%NkPcFiK8NMrqgrx0uW z5zw;9|8b-4J%t$JQyCihgfm5TC?7N^{Nc#eb^^`rVb=1!HbB_2(3C!Xr$6we$Wp&1 zxl7MaSA+RFyA^ZOZ2)`N{2GRrAo=d?A#!Eiv~jFxbCd zDseJDnv*_E0sO8C?M-Y>@NW_tgtJ)&TvUdU4ABx<0!XJFU}sST;-IZ^8$R{a-3}5T zU9wwlNx(3%RefbgR=5tVrK3Z6d9l6wV_n*3bt#$Ehp*0m&c=ky3}x(2i?5#@kqPe` zcP4e(m_^|yw5XouTl>zmk#Y#c$XB8)yAEv8kK=E2kFhhk&#ze>p$Jm zCl_X}k7FwU7E!~!hS({g*mUH;WE#tL{A6s-5bvRC8|84oxeM0{)AUW0Q$BA*XYyJS zv+^6w9Xzw=#d3V>Wyaz&SNqRKofm8jQ%;qw?MFoBnYrB|Ql%46SEzCcAU*Y2V55f(#7g}UWrO(ZS{s%xc(DwiU literal 18001 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 X%OCX@eBKH?5QV|h)z4*}Q$iB}Yi(ow diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png index e828e0c3cc7ddf79f9cef6cdcb77f753b80903b7..c663cb82b4b8433c3dfd0c69deba6befda363154 100644 GIT binary patch literal 9394 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 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png index 892dd1677d10c8e2b430e603446cd0babe125882..2e143c5ee8bed1d4222032f22fe770c75d8baf37 100644 GIT binary patch literal 7515 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 literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png deleted file mode 100644 index 68cfc6865fec018c65c70897f4f66b9f5f809f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23188 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 F{|AK!smTBU diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd890a1ad1d3152b0c98250e4b21b40398d4e01 GIT binary patch literal 17289 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 U=y4DG_zWBs1xTV z2C*@E&aksS1DO0RjF5mDir5;1uy`O$5CA}Z8s{m7mBHEnMA`ZS01%mf7Zch-dK&-$ zX`l@dmcfpj1(SEJYz2FSoM|0LHQoF!*VlzzjIR;#y!40T$0cdHSm8p~xfO|RgxrY8 zP?Rr!z36$C&Kd$(UPG@wdg^ki+R;1hUVE-h=GEB-x5z%q@{cgyf{u??ADRxiRe#69 zAU!37JuC*Kh>7pycNhNO0XiIVpFS@sAE_zCWO#=h*<5}@D5q>E_&z!s_2lcj;^}84 zDVfNO+2qH=Hr&v(gkL9Zs8Q>T?%nj~J(^ieNaq;Tu7u?8Y`8#F;JPP-=P~fry@M3%cw0A$)C+1$Zr5H}XtzxcFw?=;$cEH~;$M z7wzq{KOb?Qb9!*^l)W9#TE|2c&&ke~F4m36tas_{Ki*j^w9RlIBBBR!uapOFe4*UY z0b{%pQ=Xn2R%=JlEq&%cR8Oj^s#4n2V~3l)CQaG6gkd_N`{^2wzTTi&Mn7nN8GbSO z(>FwK>V>S6BicZ3nnYoc0i^(5HhB)nlbs=Dq}d>;6Lx6H>@oO^Iyf!>=07~%acK?S zDJ{6+i;PT7Ny(8l!AhjVxE96KvDu3DEoKZo%kB4AV+^K}gp`+NTm9d<^zwxKK8s-W z>S`mqc%zaaR{~PKR06)6p;4&x!_67vv6m)+H57b$U3RwM^vB4L_N{(~Jt?BE=16K^ zAXQAIdwY9sBc+CKJ;!7njB-HynBWP<*z)f3z*V{Xt}Y%ZIHxPgf2_;?da9(kLOO?Ja)t;bU2yg)WtLdP&BIJQ{aZ@rLsMT zFAaRC;9vBnL~aO4EQ!R=oxm^=%!fMCoh5hIQr+F%T~jS5)+~`4!s-OlH%PA~ z8}W*3e`d|-C3E78NEhccyr)z=XPT?$VyooxGRD@c`9uMRhK7FYtY`~D3mEq#rO!19@fq_aDpMTz4Vf2JE&*%pm#Ig3qDf+_7P(HCiTsQo?-P}Q( z3ic9KS>bHD!NcnVhXfzof91||HIG!Dbs>#!Uz@z>i84U2;KZxD#knLBaz44=p9G2x z+L|?Q&CkgxcU@55(vvx)%{$57Evj(^0&2;dO`H&< zI;@&J6TK~Z$tp2qx1RI8aK!@~L33%TZ2R&JR&6=1;fn$3l@Mh|#eqEKT9w=@cCrGp zcRuSfY`f?BDe*iMI?bg)pnzJ_=!!~8rmJPt&08E$6qrRou4wsvVN%Z<8jdfFz>=9I{P;|i z$Zf(R;Fv%QHA$jbw_~S2i4XjXelTXLQyQDfgh?^^?W?C~-9HUp(u2BEBbI71Gx_JC zom=vxGNZJ{!IHC5hzlQ4Wa&Omz#KOWquGk~pcP=*QmF4=RG`fDALABIf3VkSXYNi^ z+8j_tYLKp-K9Q-+<2nyk_uA8rs_k1XgpzQSp`nS>1s_@INho~nFOs~K^iwaC&barh zB~vnzii|q3Vq=s0%!Q&7ZEAjcAA6A7Do{x6TjbC;2G)rvNB8ePp9ab*B&@Dt?u#k# zH6`RBl4m*}?y-kSKYEuHb^LwiT`kX&E(V`6)!>l^nFi&_80Y?BH=wg!bzV}NSBmD? z@+U$|H8{|rnGgob8-J#K-6^DkA90chn8SI$`atsAQD_Izd^^&;#1q6NTb&1=sfPZJ zJ_p>_%bo$A97-1-W(=%QcUXR20Jr z;bSjpbe#t)k{!h09L&#M8jejtz@l_6^YGr7u?;+t6bKu%VOhJ(Ox07=17YhJ{+&;o zgq!~L1@Uds7Ka8c?hR%EbCn$41o9M}2ix8Rhs#yfET{-H#i61HdpKOIQzxw|-$L1; zwXdNZ|H-y_w}|nDetL@&vXZBy5VD$-4PmY2NrH}^ah!crLjLkG4pdSwTDk#{3KJ$Ou*d diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg deleted file mode 100644 index d4197f296ae9ecf5b27fc20a2aad8dbcd43c65ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4865 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 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png new file mode 100644 index 0000000000000000000000000000000000000000..43b72ae0dee0bd3ec5f8458b36f9e7eb40c36148 GIT binary patch literal 8270 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 G!2buhROSBw literal 0 HcmV?d00001 diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 13358c7cd23..0f8fdd1ce41 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the **Developer Preview toggle** and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. +Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. > [!NOTE] > @@ -113,7 +113,7 @@ To generate the performance metrics for an app, follow these steps: ### Access the report -If the report generation is successful, you can access it from the bottom sheet, which appears with the following options: +The report provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. If the report generation is successful, you can access it from the bottom sheet, which appears with the following options: * **Open Report**: Opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). * **Share Report**: Opens the device’s share menu for sharing outside Teams. From 55ee8e6d053a9df569ac5db9fe380a52164b971e Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 13:04:59 +0530 Subject: [PATCH 09/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 0f8fdd1ce41..bdf141b4e05 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -98,7 +98,7 @@ To generate the performance metrics for an app, follow these steps: * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png" alt-text="iOS entrypoint for self-serve audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png" alt-text="Screenshot shows entry point for iOS audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png"::: A bottom sheet appears, with the embedded html report in a chiclet @@ -134,7 +134,7 @@ The report contains these sections: * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.jpg"::: +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. @@ -157,7 +157,7 @@ The report contains these sections: This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png" alt-text="Screenshot shows factors affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/factors-affecting-bundle-size.png"::: +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the L2 screen for files affecting app bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. From ecdc696ea25e837ea69ad0d9d21a65be1aecdb19 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 14:45:11 +0530 Subject: [PATCH 10/51] centrally aligned images --- .../resources/teams-mobile-best-practices.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index bdf141b4e05..68e8a7fc749 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -79,7 +79,9 @@ To generate the performance metrics for an app, follow these steps: 1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. + 1. Navigate to **Apps** section. @@ -94,15 +96,21 @@ To generate the performance metrics for an app, follow these steps: An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. + * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. + A bottom sheet appears, with the embedded html report in a chiclet + If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. @@ -120,7 +128,9 @@ The report provides simple, integrated real-time insights using browser and OS-l * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. * **Download**: Downloads the report in the user device’s local storage. + ### Analyze app performance report @@ -130,11 +140,15 @@ The report contains these sections: * **For apps calling notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. + * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. + > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. @@ -143,7 +157,9 @@ The report contains these sections: * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. + * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. @@ -153,20 +169,28 @@ The report contains these sections: * **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. + This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. + * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. + * **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. + Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. From 78d520bacdf37d19a8a574927beeaf800bb946f9 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 14:52:19 +0530 Subject: [PATCH 11/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 68e8a7fc749..bdf141b4e05 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -79,9 +79,7 @@ To generate the performance metrics for an app, follow these steps: 1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. - 1. Navigate to **Apps** section. @@ -96,21 +94,15 @@ To generate the performance metrics for an app, follow these steps: An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. - * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. - A bottom sheet appears, with the embedded html report in a chiclet - If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. @@ -128,9 +120,7 @@ The report provides simple, integrated real-time insights using browser and OS-l * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. * **Download**: Downloads the report in the user device’s local storage. - ### Analyze app performance report @@ -140,15 +130,11 @@ The report contains these sections: * **For apps calling notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. - * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. - > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. @@ -157,9 +143,7 @@ The report contains these sections: * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. - * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. @@ -169,28 +153,20 @@ The report contains these sections: * **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. - This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. - * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. - * **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. - Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. From a6a25bc7b8420a23125f923371a6185e00d769e4 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 16:25:20 +0530 Subject: [PATCH 12/51] peer review comments --- msteams-platform/assets/icons/kebab-icon.jpg | Bin 0 -> 1333 bytes .../android-entry-point.jpg | Bin 0 -> 13639 bytes .../resources/teams-mobile-best-practices.md | 60 +++++++++--------- 3 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 msteams-platform/assets/icons/kebab-icon.jpg create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg diff --git a/msteams-platform/assets/icons/kebab-icon.jpg b/msteams-platform/assets/icons/kebab-icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1eaa7c050df138cc914bf7997f43cb4a56c54ae GIT binary patch literal 1333 zcmex=+}8OUM;LNNIM zi1CJ}vvYhvkiVO!k1J3CQ1S#wip79|Avdq2D9GJOAtEwLf&BqOS7LH;0Z0uF05s#< zHHZzDb#bV{C(N0WTAU12@BxTbihz~_-6R5Ji=;!?8X$HOglz+2mzNZj0M!J5*hL{h z&Omkwkgbu9#7;tDCl?ff)b{|@*yQGvg6skTP?+$f=7k0WX$~NkVJKz@VsK}00{I`v z2ZH=X3=9@u85o!+AjFbpGB9j!WnhrFg%DF&z`(%Y!oaZYJVFc+CIyK_iD2VcfFx5I zFor%YXJFusWMB}!z`(#24VD8EINYWHl#&6uD<25c8FCm>859^i8S)sC8T5cGBL)Ko zLk6?|w;7xnm>3yB2nv{4nL&V!g@u`wosFFxggH35IXO7EIM~^_c)7T^d4PbOlaHU5 zhY!RC83NJ{(gj339PAt*6{Lax2N(o77z7yvm>HEAm;@P_1sVSzVUP!gH!Co$f|4r~ zFfuW-u(AQ2#KjF%uvGx)d}d}QpkrBCfC0r=3zTPI5o8roG<0MW4oqZMDikqloVbuf z*=gfJ(V&YTRE(2~nmD<{#3dx9RMpfqG__1j&CD$9glAUcUPH>GPMb-@gC&`3vMPMh0exx8OcQ z^OqpdUrfL_U||ROi;<}uh?xahSQQP~gd79e6AOivj2byaoF*>Zc#u=sIOv0DQqe^& zF%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$!^{YbJZ3=#dxpPj{%+Y5_-H+A-Kl>TSN8}$ zs%QS8f3!?0+k4sTI>YIwE^N8U7=JI;{=@O@%IXS+L5`B_>wY+|$eOkNP(RPz>{)%C zYqGxC^ckhmjkdvm{Jng(U>daJmt32!Te}*3#^3Ch_DbyXa7x&wtZrb96?|1f|&)a~;AxIzC-(U}#|pV2^Ya31I(!69CZ+Xej^y literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85c19bf7471f4c74a598852d86c32a1ffc8c8a12 GIT binary patch literal 13639 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 [!NOTE] > > * There are no prerequisites to use the self-serve lightweight audit tool. > * For accurate latency calculation, ensure that your app calls the `notifySuccess()` API after it's fully loaded. -### How to use the tool - -This section describes how to generate, access, and understand the performance metrics report. - -#### Generate the performance metrics report +### Generate the performance metrics report To generate the performance metrics for an app, follow these steps: -1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable Developer Preview. +1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable **Developer Preview**. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: 1. Navigate to **Apps** section. @@ -88,62 +84,66 @@ To generate the performance metrics for an app, follow these steps: 1. To trigger report generation * On an Android app landing page: - 1. Select the three-dot menu on the top right corner and select **Audit app performance**. A popup appears. + 1. Select the kebab (:::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false" lightbox="../assets/icons/kebab-icon.jpg":::) menu on the top right corner. - 1. Select **Generate Performance Report**. + 1. Select **Audit app performance**. A popup appears. - An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. + 1. Select **Generate Performance Report**. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg" alt-text="Screenshot shows the metrics calculation in progress page" lightbox="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png" alt-text="Screenshot shows entry point for iOS audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png" alt-text="Screenshot shows entry point for iOS audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png"::: - A bottom sheet appears, with the embedded html report in a chiclet +An interim page appears while the report is being generated. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png" alt-text="Screenshot shows the embedded HTML report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg" alt-text="Screenshot shows the metrics calculation in progress page" lightbox="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg"::: + +If the report is generated successfully, a bottom sheet appears with the embedded html report. - If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png" alt-text="Screenshot shows the embedded HTML report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png"::: > [!NOTE] > > * There's no restriction on the number of times that a report can be generated for an app. > * The generated report is a static HTML page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. +> * Refreshing or navigating away interrupts the process. +> * If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again.** message appears. ### Access the report The report provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. If the report generation is successful, you can access it from the bottom sheet, which appears with the following options: -* **Open Report**: Opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). -* **Share Report**: Opens the device’s share menu for sharing outside Teams. +* **Open Report**: Opens the report in a new browser window. +* **Share Report**: Opens the device’s options for sharing outside Teams. * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. -* **Download**: Downloads the report in the user device’s local storage. +* **Download**: Downloads the report in the device’s local storage. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: ### Analyze app performance report The report contains these sections: -* **Latency**: This metric measures the (approximate) time taken by your app to load in WebView, to target a P95 app load latency of less than 5 seconds. +* **Latency**: This metric measures the (approximate) time taken by your app to load, to target a P95 app load latency of less than 5 seconds. - * **For apps calling notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. + * **For apps that call notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. * **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). - * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. + * If report is generated from Android (and viewed anywhere) and SW is Not Available, it displays link to public Teams documentation. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. @@ -153,20 +153,20 @@ The report contains these sections: * **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png"::: This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the L2 screen for files affecting app bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the L2 screen for files affecting app bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png"::: * **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. From 66049d7db43d516dc0a5f6062568425d779b5eca Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 16:43:07 +0530 Subject: [PATCH 13/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 0f935ca9f0c..4d5287707dd 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -88,7 +88,7 @@ To generate the performance metrics for an app, follow these steps: 1. Select **Audit app performance**. A popup appears. - 1. Select **Generate Performance Report**. + 1. Select **Generate Performance Report**. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: From 6dc345e8771630bd5f934e00bb085fcc69819e54 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 16:49:30 +0530 Subject: [PATCH 14/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 4d5287707dd..2d319ddfc7f 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -96,11 +96,11 @@ To generate the performance metrics for an app, follow these steps: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png" alt-text="Screenshot shows entry point for iOS audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png"::: -An interim page appears while the report is being generated. + An interim page appears while the report is being generated. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg" alt-text="Screenshot shows the metrics calculation in progress page" lightbox="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg"::: -If the report is generated successfully, a bottom sheet appears with the embedded html report. + If the report is generated successfully, a bottom sheet appears with the embedded html report. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png" alt-text="Screenshot shows the embedded HTML report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png"::: @@ -130,11 +130,11 @@ The report contains these sections: * **For apps that call notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: > [!IMPORTANT] > Latency is not calculated if notifySuccess() API isn't called from code. From d3c1ed7212acb2f5d753a02efe88a205df893c92 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 17:02:00 +0530 Subject: [PATCH 15/51] icons --- .../assets/icons/bot-icon-ios.png | Bin 0 -> 354 bytes .../assets/icons/iOS-generate-report-icon.png | Bin 0 -> 298 bytes .../entry-point-for-iOS.png | Bin 2467 -> 1075 bytes .../resources/teams-mobile-best-practices.md | 4 +--- 4 files changed, 1 insertion(+), 3 deletions(-) create mode 100644 msteams-platform/assets/icons/bot-icon-ios.png create mode 100644 msteams-platform/assets/icons/iOS-generate-report-icon.png diff --git a/msteams-platform/assets/icons/bot-icon-ios.png b/msteams-platform/assets/icons/bot-icon-ios.png new file mode 100644 index 0000000000000000000000000000000000000000..7795f57ac4838670db77f926f2ddd70731cd9e3f GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^{2(?58;~rMGjRk`jKx9jP7LeL$-D$|SkfJRfr1rNgMlI69ih%-@V|`!M8O^*`{&& z2Q@B#<%t>@dm7yqU()b!Q4-V@o%lij+xe~?SMMh6PwO&PFHSSk-_*?ibJ17je<^j+ zyK|$TRQ4^)T#zZnbGSi)BV=!d&%JHDjsgmvLOz#UEcygp1w-H4oO!*gDRD;etkg&Y zU*Sa>L0``uKC?+DCDJYS`iV_Er#Ce`uUvJnaz=mc?sbQ4&IgFFCQ2OImb)a=%UVw& zs($6FS9h+K-Zid^oR%IMI<+juW?k)(FSYWu_nRN@D2|W4{;*O`=6Iuu=a%B<2K$ry w{kj$@95$F>%Xw4Z?^xlISN#9K&O2cK;=?4Z);|L7z#w4oboFyt=akR{0F4ul(EtDd literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/icons/iOS-generate-report-icon.png b/msteams-platform/assets/icons/iOS-generate-report-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..92ce14c6e8848a1099caa978f2637ae39ab70aef GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCf`#@Q5sCVBp&i!i*NI!74z({hlt4AsWH06SVtU0t8(74<8q5a!`(7;5%(~ zLrL2qIf8+WgT?Uz%OU$SCAJsWS`~+cK7I0R*_Qj_f0`$~`>p01+?IG?lMc_}gxhA1 zEYx_Mc??f)T9O+*N#&u9|FzPktF$)h1Yhd+nDnGl?z4?BOXIE7X|oro#9qJoeXh-U z&90_h>vpd5<~(HWxy$2=iLXUp^ZVa2$3IStxxVy$^|8W~NU^J{Go|J|54`l7HE7>! qE1%0QezTSdx(aT~tzYu~fP9X9*4d>imMsQ)g~8L+&t;ucLK6U9_i|eR literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png index 89eb290851df83f4c27130ac388814f155c6cba6..221981577fe999311d7d5619f7313c301acb930a 100644 GIT binary patch delta 1051 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 UWQQ Date: Thu, 25 Sep 2025 17:04:22 +0530 Subject: [PATCH 16/51] Update calculating-metrics.jpg --- .../calculating-metrics.jpg | Bin 12808 -> 11382 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg index 7f6fcb6cb44074204fa08774b8900caf2c058505..8c2c7920009c36dec180056db4af0efee623b294 100644 GIT binary patch delta 9465 zcmcI}S6EZw^JV}k(n3dSR8X1_l`0~jh%}KVAT=tT2oV(s5_1HkHz5KlLZn(CAQA{o zB3(qKgVZEo1tJMj4kp0nf3^GUKKtzNV*eL&b6`ZDe> zTsUV@IUGV%_`h2KNNJin*XbdJqYoo|)mWapbHxHX52*{u(Y(z@Gjr9eqwVZDmHL8SR0{e#+HIEwoLCqkU*Cf zSkK~DNZI|G&9Xq%=6qirWSze4OJW_x&SCfO)N0ofh#mlZ9gz6N4lPz5FJYOMUA-M| z3rK`7-oho^KbOlJy>RlPk05r!#)vQ*Am=ri*NW-Sv?ifIev*@=^!KN{QcmXoZ*jb& z&Yjg--9@8|{&j3d>CE@?H|3FAQYs$rngf%)6o#!?atN~%E`c3x*GfC%&_fZ^Kb4_RH)01{8?rX1tpl@8U3+3{Y@FooeEckbyuhNgLzl1Y zC`PXIY-RAjds(;_GeP|g^&~s=_5Nc~rT5EJb8i~wB8R#bcd}#%0$R3VNB1BtHPgU$ zD`KSgR_3?D-`h{kfqzvCWKfgTl?^%rj4bSMu|(n>$^kTwb7Qt!E)>V|v(M{xkow93 zXQd>+OkSIc*sL)~0|#~mmzg4%dsLJtn~yQ0y_MOn5t{!-!TQUOw{=-gss$22Q^~dd$e2ey9qtfM2{x$5v z`FVFzj>+pSB}*xHjkCD<6Dk0IGIkEppj^i~!8T=7V`YZ#?8NrL#M@l`sDmP&ONLO? ziwgSWd@ce>2)m4+1+sfswZ?$1?Vt)|~gc?+Irc!5%Z%A0F)*17=&1f8ogG{DlJoX^*045aNVbpgc7vY(nK3l09 zgJL1_Ex}POXU56#3vWla{)~Jh$|6GY6)GS0-~4gYrz|DxYvC21bANXQ6UxD^MN~&H zTQ>&v0#xY1f$f7pFEI1(&V+G6a?PF7`uSIm*a+?vEj%=PtaL>hk`RA@j*i|H++jo` z7>y;>*7F9#gs`h44MJzD(AU>`?SmY~R!iT!9n+RM&xiETIhtu#tFEZ48NYuGmV{uO z_gGglv>RbtES?cvw9Iy8j?b3`l?2;Yo|~9IIyy2;pgUCp56!h1tXl{z;?1*aubHxJ zN!+4Z4{QqI4Eim?Gv?)5>WA+TWE~g@A;nOZ-U;vD?u}bf|B{|7)4o0Ru&+L0BX!bJ z%;&rNZSLnv1$5{hgqIH?#ExX3;@DCXTk?<0q=|S4*sm`nXE4)qugoVjWHV^C8pSgk%v6uj-s)XDaXrKQiE!XS`WmzBEnp~w6_ zWt~z@kEMU?T`;f4>)*o4ax!ua{ObyK>_PT#WttvDBb=DhTRrv)3-;@tR>?o=>(9R# zsvK$W5$ump$=FU?aKDaq$@`fFqyA)zYxO8Y0Wf{%)dDJ2S#eSvqp<)8crOj1@7`fT zQ(Ufy$Gr?SyzOJH){-7*@VXlPWvKZ*WZj;BSMV=wz)a*f)_@uRnFiyZ#c0)o$uEOP zgWX4w`O4VRM&GMB=4oEnKXGgJ9=Yk}w02y2+K?@cqgmn~n7F+3?OJ@N>&7T;E^9Wy=@*0T!v)I7i5qW=6Bc`+D(`rlK9smnq_HdM({% z0>srseCV5@pscyXtXk<6!(y*lUGAZCId8)`MZhCY=z%i5i*O0E5Y^!(_fG}!(5yh&`t-b;9YqpBJJ8FVZ;tjSFbMCdR+a) zq(9f-U5Yi&D?uS0wlw1H@`AbGGj-+G>-V$MpI;*v>~=6t(}k(~mBCNX$xlUKeC|6sb6;glo~ zE2x13oQGWCC=0=c?L6Ip3WAcppgWD6g~fSFs*2;|0cue(47|+@@@DcUvqNwXB{dIX zB{&F0gRl-jWS0l@onUomzStd-?uF-@0v!W?dj!jMAG?eBBTg9lS298fz6q+yFvuNSSkXB z@Wz}bwN1830zovo?HS#!UER6~DmmfGxa`F=l^BVX>n%xvJKsF~J9q=GMniq;I5Dun zXp=xcDvWVemYzR$Kq;wAS~c5&a|aC&b_0(4s`%ZZTtvUjcsV1+{~BPd7)hKqC+6<%D6bUo$|!#TT7qu&sLuczT#xa zb5eVC!+~#(4Qo$dJW`uQXYUW7S+i|W+IcIZA&BYas7TncV>gdHj0Wa(t7_iYT#@es zw>XN=P*Z!5ON`!vTFeRDnzW7t1w4v~=b&h@$5b=BTiJlIg*z#u4sg8LM`V2dh<0}z z**%Q$9%>7t#cEsF0|&g8Z_Xj_juUo1a4IqV&+~j)7bA%a5~^zg+;Hs+(~u#shw~lr zI)?j71LMU)^aHlqYxD>#!?Q85BG}l=$EtFcfBgP&IZty}0|}ml(c(*|{z8)hhC5sW zId3quz6X(DO9Epiy5*mls%*814I{P-5~KI-UR>~l6URcgWU7Td9&g{Myclys>ghlD zLhZ^E+G<9-5ExsEG)_+OPoR-g?%*XuCb=2<<8$**XG&NXv#R~wP5Or)=SK5*WAKbi zaIV2)eJqRanR2iS*2~YmrlbErKnA`6Fqa>|)aIA}0z>>??!wu!=?)+{wmJmM%SgiA zizS38A8cV<%w8Cfh}L8%b}6Zzx+P){JO~)wix@xsrT(E*8pVb^e@e z7uf?K9eO5O4AW)D(RI`T%y|@-kHxFAA=K0cBjC+CaZIQ%G3A)n%@4x42Sz-KuFpqt z^{Va^lc`VVp*uyjZDx@{3kXGY{BoBv7mh}FFx~ULEu-Z`i>&yCd2jKgT(MUYX6(Ob zn{)$G_|w??Imj&oYr8pVWAlbl@rk>}0Qi~U$u=0q#4OCDXZkr1#|doi!LZtc@B}L#V6@|CWJUHB#tma=LN$gLcx7LLtecue zmtCk2LZabE#Qu0letx{4o^dkqsii2_fu%?ea0e4HuFNe9W^dKPYKmt?K@!Hg9X?{B z8~fVoc16hD*YB@Nny-qtW@%S{-VA6Glf6EVP<7-VCOTO{r2aR-JmI)NX3A915a5xY zJ%A8h^RIhddp1i$!sjHN4i{`E_-EzVW>i-%eR?8ny5*>~2%RpZIb^rPb_W4P{dcmR zfV8PJTc%|gV;F*>?LidL#AVq@V+Qj`PV9gyD_~~EV)MGn%|ItD=|iUH9F`_~VF|@@ z9GdlK57LP}IZVf#rG0iPK~@Pp+japSSK5?)8G#O{26q*|)}Y8@p1i3Pq<&tpPI1NFMs^!>of>h&}qhSfu~c%$u|goR*cpAKgO{NAZo#% zBHCcB&4%Ao&3Aiq{d8ui&sAG(zqOxNdxtt59$Lf{rbvIrXmOBGkMU$8fGjwHzE0i; zj@mPWx;RG?-PPf4@XvKMX}z$DaMJ5eW4!jcf2j2Vo1RaxHBS|;65^kiy@L78V>@92 z4bW);j0^7lT@5C+2(IAbxcpCx?H=((cXhQ(HH^-@|JR#Wg$`-3t~rwHH79T5^C!=;df>(c>0-e}h_;;DU^_;8 zr^)mX`u6UA7Sn5?pnH%zR31oam+m6WTA+^RM3iun;Tq!S6SkQi+f6Jg&mRvuC!JHY zX>5H~D{Yks2an?4lSSEDOlUlPSMk>^bac$!M{j;*>B@bNdUEl=Cok_9 zt4A|FlupD{{d+PGR;Hg?D+C5z8pXhGj^gSRr;jmkRoB;aksy?Fz~e zfq?dv%Z+!TorA*DQ(&PbAR7A6HrK~0rm}vOrEsje>w_DsE<;mPN`0YhZJLAMnNennA-e~_ItB`X2WV${E1rL~N4;3ecM9E<+^G?ekBUX6?qjM1+FaJO zeU70OtRQA4Hxs}TmNDiSXyr$p$>y0yvljR>iM71mOY*&ix9&VH{xSW%qS*`mLgJ-_ zxt!lg5=_IdXmNBSdy1ciPr)jpmpf(WMTY;h=`v65{=CdI#UHM>toHE+1iD9UzF3g* zV44>MH4dog1Fk#IFp>n&tHW4(GY)mHl6|V3IM#Mbx;yvcw9n^qd+D~1D?Lw!mBwU` zU0Qrr9L%#oPR28wQCWaE5URB*`fFY!+m}H~+C7L*Y8igZ2!B5O{#xeYmPs!cmeo|r z`Ieh|kZb%^QqhGOxoJvJ< zB(toh|G4~Mt?j&CjJjoZ_bX2tWSfUdVoOUd^7lfgeO*T}yhlqIA1QtEeetNW^v{Hsx=`VlF{=1RfZEzf4KPMN|Fiz}f(Pu?gzqB(DHn(otQ6TNaw?jQKcU!XA#!VWtsV22T6m>_1?VsaNgRRZmPdAwbU z@;eOq8XfIW+^MkabFSN`JPdVg^mwjHv*CV$2qNv0C1#4c2LUw)d$zzZ#vWwhLY*Ju z$6}|Mq8_dgrUn$tfM;lUUd&mhRoePH<%xlAUp)gt4Z;d<=xk6IWAJ?~V$EtTgR3W| zFKG`#eTL_0JG5vffljsuk+hjJUOf|}M&n1X6jp*!w@?!512;&Lxfk1QOCGLGnGEft zyix0hr{Lwx0uTb=%tFBAgTTqQu*&J>O$Pc_Z>-npvqE-NR|2zUw?{s#SyvR^dE$5r z;*^08sRnq^a61r1eFy7mQF>$?p8kBwqVo4#|ee#siWmldvi8pZ66Y>D! z$R4D_bypV&2(8yXkatF}v1n#-?6AcY4z)l}e5S>RNeryGyI34(DpJ-$5PdB7@kM*X zpWHut6}fCnB?lwo9CtanhH^ShrdnE?W>uup$owzEh>nQnlLp2Eif;zQXKyRkwMa-U zYL-K={%oC{dW;Q|kJ3>LW8wk&kp<{}w#Il{08?QxTPn@SagP}LnF%D8(kI$nCk7>f0nsJ=S!A@0$`vx>?_2gU!W^Q_@|5hNV~RYYy! zXVSVuwz3YB)YZyiR4x{bt?a|&cOFmAFFQ9j;hjcbOiWW&@+a!HkJmMcwLL7XNWAdF zr`e1j2p^PT`!Ec<05d529JmL$$M{Lx=}R$*twdnXjc$1H;++buTjTT!<@9aB^5@dM z>`dmbCKw<1avI4DPVK|$CV*PU5H+I=9xL_A;xU;U# zI#2%FL0&B}mvnO6DMf5kDO*EjbWR^X$hQY+PlVW8T5P5QKNA4Txoje*{Wek9{U^nx z|Gygk5A6c~U55WdyTJbpg*tcWqNxEUiZQveLsO5;mZaDrMZVA8y_eb0P)#amsTg~* zMkf$xZuv2VNU@w(Ms9wIZYuS)`9Mf^wlWtO!RZnBKqqJh+m)6r)I*~PApg}B`i@6|lPJCOSlVI*n@xl8E)9Hy%}Ilax3p5|Bo)SdMTvLDoZU$jMx|<(H-V~r9LA8fpFyVuH`h~8S@7~5o%1EF7b z3`&9%jT)Xr<%@d_L`d|Gi>*QuVqJ zE;Z><_b&*BbGFbGaFK@Znu9sB9KJ@vQcV?;Q1x>IAqFB#JN?%Jaukd@F1W4haS>uT z30DN|{lZkY?uNyOz z>_hVOt5iqyRuny^|JTo~@Y;Lq9vRYRyVC}CbbfmfBDF#Q?Lfh(Ivc5~tD8ng@0*NL zq4YAU!?a8H)>HQ+oyf|jq#k{w;h0`*k*PM)A^HSi19vffGyUEk1pfF5>?Ew^*XQNP z?Vl_iG^>Za&s5vnY5@k}@RbYi7*!pcc<97TmwoUE7!l@m=kLzb7%E)mRTv*WMrz=P zF45rzcbh%0*B?p}Li`RQodP8yq`;_uXY9@~MIO0t8md>EANo-8hNDHFDP9jo-)Cm(NNUT>HVj4;fq3gOj#4D>8z@A zFD=(n<bL{~P7ZeQV0y)KI4 zT=29)Xo1j~o{GXNU+29s}K?=APu7JuiD)gQNHb&nmdl#(21>i<=CtXnhpIQ9g3hE`csHjnn| zoqmz1Lx}8m>6-NPEs2mUOocn;X#>6|Z^`=$b3Y50>v7pB+k*tq)i$3uj;vrf>y`LH zt5Lr;?VyVJcZJ@cBf=*-t#SlVxpLuB@VTQmp3$Ydf05tZxEnD3u6zDi>~htaa7wqB zkA114&(v%8$oERE%=sQ=&P)!9QZL~*FKwl8vppGu-2{HSaTBuz5tzrDiBga1qr_Gl zH@YxVT_a)e&m2tY+#59lx-XGTeO4^TX!wFx_5AYc_-GjMz@aSb(zW6BQT{^B8dLXH zFFXB5dyvuBeu_VUsrpR~R2)E-oAG_RrZAu++c^y+tye<`k$O(m(ee*+_6Z4(oJIMC zN9l%pU1XOu4)G6-|8=Lwma#>dtKC(SOu078$ZE8iU9-hbK}?mG*NoR3@8gbJn>TX8 z3s!80`?LZw?Ba5p|GBlH7Emh{hS_aS3jtbtD zj)eckDr2br1?m;yv@K}z9z^VpLt4A=D8`cZ&UwIVC^ALnNAJHcPRC@O3@^ATiu>{t zIDFrTSY*|ESEmBG03hk6eKr$x{jN%jYl1UvjXy7Hk;3OH_8|3ACr-ynwnMJUzr$05 zI>*36jP$Nuv83$=AwYDB@IY3CyL06HGplCz@3XSOs(umss6kQ?yfoGTjHWgeJ!;vQ z8$-P^Nex2<`JLJL)TwvUc0fw~kF(KOy}_)y;b7m3u)sn232>BQySxzIK-=-NVjiI+a=fgMRH|5a ztDA%4ZXd|<4=&%f+4c)S(Sj!rJ$g&ZSppdL_GaB?5|OoHp~Z$wnUWpiIctKH(`*d( z>cdxg<^XT9X3fiT?vrwH*CAiY*RrSZK1c=N?eFRM<%>*D^LagTQ6zVHbxKP3hXP&? z5A!nuDulZ~IYX~37&NGOvFj;c!}IAGFm#Dxo+fZ4OTqH-`)p}K^FEcgy_aufABiCG z9H>=c7_ue#J9j0A>GT=*=KO^N)uo0`o+&@f0s%6qRYL3ZX)6^1F+x{`E9=}Vh%g7E z@$MekqMjiy`aE-Irst<;A0^n3NSPxOLh1*%{rXm2Z{SWUCjIr_=Kr$^xo7hnEVO3^ z;Cw>vCT5kP6bV9hNaIiGho7C4D9?P)uyRE5FVyx@MAGN1r!LVoFop$?A*H7h?;=ZeW&&(qymU$;R ze|)bT!ny(zLTt=GYJFE6iySm-XEowgU zi0@RbCkU?s4dDAijA8NLM#AnC!R&}KPkqWX4W0xuHArp`l!g!f`2qrs z4Y^Ap0mc6D>LcpoMN{8%q@ksL!wm!1ULlZ!M}q<&}y{q#`;3{3NVIo}`_2O#y_jrSTEZxpPL( z-Wl=wSRrheF`@&WHtn8De0QxR`_hP6z5ghECEuuK_N9wTt8P2rey3b&9p44>myk2F znd6y@*$Th$B5ew=Q8MrOS0vX<@NHjdR?%zmpL z_D60+_N1cPm*Gaf+e3@{f}GgMa;w^!t@6k+9)luEsbeQIP3{oBNzkpIi|famR>pku0yhBmDsx+TA`|Wxjy@?WkbKw rfJnJ`R=-Op!iL;RARqm-UGa5GQ@ymw9#<=(h$D*#|CjJU_on^_ld5c0 delta 11100 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 S*=+1_e)dC_LXPYQU;hJw7VhEz From 26142f098e582c112a71a0aceb0af04f6b41c509 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 17:16:42 +0530 Subject: [PATCH 17/51] icon --- msteams-platform/assets/icons/bot-icon-ios.png | Bin 354 -> 1808 bytes .../assets/icons/iOS-generate-report-icon.png | Bin 298 -> 1446 bytes .../resources/teams-mobile-best-practices.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/assets/icons/bot-icon-ios.png b/msteams-platform/assets/icons/bot-icon-ios.png index 7795f57ac4838670db77f926f2ddd70731cd9e3f..0e127ff1259ec9a2ecea1160c041847a41489e1c 100644 GIT binary patch literal 1808 zcmb_d`8OMg8Vwa9h?b~Hn|5LujiOQ|D8>@nsy0-qrIx6W)-tuEq_s3u|G^#NkS)(tmKY0Y^l|E`k;ZM>y=mLIOxa*z2wS9Ow^(7wW zm>pc^DR8jeLrLcc{~uU>ylI`?)YN2TZmuh)iA1Ed^mK1C;m-G|-mhDnQtNy={di$P z!9PnZVuue8_J2a7V|W?el|4OQO|-PMj8G^P?lYHix&;jXZH zbZpEKkFQFhP=@ji{qaPi+bLC5Rjudf@SL_bGYWgNs!IF8pXC@TeuQqYXFda#QG^Nq z&Asp@f|qP;Vp5~G>TpV;eiM)Aj$X&;xqOwx3wK^5Gwc>6byIyRJMh}ZbZON6G_fu0N+$Mrx zdu;|R9T5+SgiM6#9YxVV${QvM&x?vCkFKw*Od9QqHY?kyljYGZt*uT3!pl^njc+jJ zhMm^1vnV#{>E}XAZu^5eT3()GP*8QS94}pu$z(SBMrWw>8I0r`PL1+xcY)l7XtyzD&AWsoKgZ(*jA>s~cR6iILe$sS=M)qm<&;mq)0o&M z!v7ICc$|S2*sLaqMUBMRSUuEmGE?(5vQFL54+)npKs!%-KCzfzTnzW>PVDSs*4x1Q zKMyJ-Z_jncF&}M(_#$)l0U)>W%|!5qR0brku&@SF@$6I@H0OloT0CUpJS?q~PxS z3YGs@RCK~Tia&Si_`xGE;6G|xvrb4Tgt0AE-?_EV1)iz0Om4W}Hwwv_visV%|blQT1V&ZR%+ zWoAM?<~2E#v6k;}x!iV(`Nlx1v{Xz~6mw(e?yD!|DG`cKe@@tIhFd)%@|H^}Pb1{H z_Aoyd>Bc$#u2-3XjGEfo9Mv<}<=BaI-y%H%y_>O^%@fYulG5_mO(*I^na9T4ou|6Uw%88jgF` z!6J4==RmKMhM51)Q)$#p_VNNwuHo#b7M#Fp^7YQFsQBjg@FdjW!zN+Qcj zqmW8vopC$Zc|!Ima#TNVXZ^iYRut>ODn0cgj%5))YxEOGyn;b7nFxvV#x#qV*&GWPTgFZCm7dj;3j#X&MZ}fFKA|y?9LCwhciLAW0HT z(}XyV5k(PI?>x-wx`JVtbDCvYe=toGq9{`J&cn>IEM!?mUDwF649l{B=Xt8$d6RJ1!Vnf2peK+|_m6Gk#f?XH`{|c3eEJeZ=&AAAR40JR_*p1?Qg@RBNp5Bv~E00000 LNkvXXu0mjfq(z0a diff --git a/msteams-platform/assets/icons/iOS-generate-report-icon.png b/msteams-platform/assets/icons/iOS-generate-report-icon.png index 92ce14c6e8848a1099caa978f2637ae39ab70aef..8d8c888ff67d9c748e2e1dcd2ef1ac134215915a 100644 GIT binary patch literal 1446 zcmbW1{XY{30LDl2l9#;XWyq12jiDk+EZR%hi*d6^EwXjEbn-HWkIj3myfvkbt#ZoC z<@HKZ%f*?NI^4$G$J?3B%eqQ=>(X%UPq_Qx`+Pso^9MZ4V7$Msmbn%H0MJDTpa?tm z+aXX>eJ3pxhW@u*qz_md$@ieOB;jE4MaDm~sB%px-Rk}1F;aL>&8hV%~ zg7p!(w&p~Z^&oN<#{b-%XYUhvb?j;i@~)3VJZ-AxS+`G0{FFEGQ#+}_^Ks;bIZh?~@iAwO|O_+)K0{XnOm(=akHFh~OC7ZfPgmzN1c z%(AjulanMzD3ld5bQ?`1-uOVvIqVu27v~0pIn(KMx5I~P^C;FdgIz-DWNoc&Nq2re zu(743vaSy7c;G;#P$+z0Yh?lbW#$*%iDWSTpvUT4FxwhH$VNZ zt%kAhC8s}Kb9{Qbvh(tv120}=%NG`~SnM_8sZ(ewb#*jcudrfbO&}=Pv-qk4Vz_s2 zZ6voRhhx4yhR5UOuWudnN;z`$Xh&HQ#YD)U0(IJ;#=wItL=e=m?na={= zvJ-CAnw*kyN@L@b%%Ato;~pN5_ev_Q0h1!c#X2o9eb4&3K)t-oY|sbj()4rjV?Mu0 zJR1gz(zFlaILf>*@w3F@FDZd7`!RL(^&T;8(8qz0LAd&Fq&yS5LECw-a#qs~0rI5d zsy8?3JTEXb*Ces}gn;dBOfwRfyLo#%$z-yp_O7G5$^L4jI0iFAX;S*l>L{yNT6Rs*7(hGysDU(P1FMgT{u2au&-lePgu|gTv!1mzR@V zFvqjDl#!iF)^g8lpl(?2GPUEN)TMz_3tvB>42F|2M~_BcHBT`?jM4UXSIfT1NvDyb+i%Ux{0#yvo+sF3t$L(_ delta 268 zcmV+n0rUQ*3#tMkiBL{Q4GJ0x0000DNk~Le00009000092nGNE0N{}Z5RoA$f4=|# z4!;371ydvd006&9L_t(2Q-zQ#j)YJUMGwQr5`sV@SO5;oI@lsBKx0?{1_%T}&;-Ii z%yd1`tvYj5RpsR7rnKJ|{DYG2`zB3OhGD?6EDXb7+cx4jCJaLiG0U=~ZCjEg;XF^) zb)~8*vMf{5k4Tc_c^>mT69j?UVr7<_pd?+_+4r41&nb$6x~{pdO9{d|NxDe%G)*{; zgYWws$MKO|*QM`!#&Kj>7S*e18lLA-()$HczUw+n(?m|1rV&LEwrzi;@4z2yKWfdT SsHUR;0000 Date: Thu, 25 Sep 2025 17:22:54 +0530 Subject: [PATCH 18/51] icons --- .../assets/icons/bot-icon-ios.png | Bin 1808 -> 1019 bytes .../assets/icons/iOS-generate-report-icon.png | Bin 1446 -> 843 bytes .../resources/teams-mobile-best-practices.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/assets/icons/bot-icon-ios.png b/msteams-platform/assets/icons/bot-icon-ios.png index 0e127ff1259ec9a2ecea1160c041847a41489e1c..ea13f2100473058eeeea534e5152e6394cff136c 100644 GIT binary patch delta 995 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 literal 1446 zcmbW1{XY{30LDl2l9#;XWyq12jiDk+EZR%hi*d6^EwXjEbn-HWkIj3myfvkbt#ZoC z<@HKZ%f*?NI^4$G$J?3B%eqQ=>(X%UPq_Qx`+Pso^9MZ4V7$Msmbn%H0MJDTpa?tm z+aXX>eJ3pxhW@u*qz_md$@ieOB;jE4MaDm~sB%px-Rk}1F;aL>&8hV%~ zg7p!(w&p~Z^&oN<#{b-%XYUhvb?j;i@~)3VJZ-AxS+`G0{FFEGQ#+}_^Ks;bIZh?~@iAwO|O_+)K0{XnOm(=akHFh~OC7ZfPgmzN1c z%(AjulanMzD3ld5bQ?`1-uOVvIqVu27v~0pIn(KMx5I~P^C;FdgIz-DWNoc&Nq2re zu(743vaSy7c;G;#P$+z0Yh?lbW#$*%iDWSTpvUT4FxwhH$VNZ zt%kAhC8s}Kb9{Qbvh(tv120}=%NG`~SnM_8sZ(ewb#*jcudrfbO&}=Pv-qk4Vz_s2 zZ6voRhhx4yhR5UOuWudnN;z`$Xh&HQ#YD)U0(IJ;#=wItL=e=m?na={= zvJ-CAnw*kyN@L@b%%Ato;~pN5_ev_Q0h1!c#X2o9eb4&3K)t-oY|sbj()4rjV?Mu0 zJR1gz(zFlaILf>*@w3F@FDZd7`!RL(^&T;8(8qz0LAd&Fq&yS5LECw-a#qs~0rI5d zsy8?3JTEXb*Ces}gn;dBOfwRfyLo#%$z-yp_O7G5$^L4jI0iFAX;S*l>L{yNT6Rs*7(hGysDU(P1FMgT{u2au&-lePgu|gTv!1mzR@V zFvqjDl#!iF)^g8lpl(?2GPUEN)TMz_3tvB>42F|2M~_BcHBT`?jM4UXSIfT1NvDyb+i%Ux{0#yvo+sF3t$L(_ diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index c895346e1b9..587e4f733ea 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -155,7 +155,7 @@ The report contains these sections: This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the L2 screen for files affecting app bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. From 2d62736ad6f186e89843647c044ba23bec0822c0 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 17:28:26 +0530 Subject: [PATCH 19/51] icons --- msteams-platform/assets/icons/bot-icon-ios.png | Bin 1019 -> 895 bytes .../assets/icons/iOS-generate-report-icon.png | Bin 843 -> 844 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/msteams-platform/assets/icons/bot-icon-ios.png b/msteams-platform/assets/icons/bot-icon-ios.png index ea13f2100473058eeeea534e5152e6394cff136c..c70ce8ecc2cf5f94f06c3641c82c5629d131a013 100644 GIT binary patch delta 870 zcmV-s1DX8$2mb~kiBL{Q4GJ0x0000DNk~Le0000e0000g2nGNE0KqmHW|1K%f4l$y z4!i-CymCnZ00R_BL_t(oN9~r&OEO^?#gAz>t?WXXlonYQZK_QL>8ec#MbIj+puelX zAqWb^g%M$GqBhm0g6?!t>}I81?EB8c^zkic-ic^22L^BR&is6ybDnu^pMQm4tP<_@ z*UADkD+|!9EI_le0L{t*G%E|xf2_W3H^a+hvst{qzoWLc7UkvT+Arp03h?pq5m#4N zcz%9HI-SPh;URLl90Gv={C+pQeBk{2T%ZY8 zS67G9(o*#I_ahVv!Q=60D~(AR@bvT)OG``G+}uP>O%2-G+F-Za1(el#e|mbt_4Tzt zPEJlD91g=~vuUgKOF1O0V4+YzOG}FYIvfskb#-BAXh^C@4>mV9|FgmC>#MfXn3Ms( zD%H@?ARzVi_2RXrrY2NZSIc|0njR!9&sUK$AS?Fv_J*6A8&pjKiz(IIVQ>k0hTW*&Wgeen5w+Dc8wZ0y znSCcGClU%mR#jDrKexBHvAVj7qoX5jm2oKn5{N10++)SQ5=);k%?!={{yyUII2INb zFh4(!SS%)CDHe;`RrE;-@bdB!$z)Pm%#<=1^c;Q2M*uG_E~G;A*Vxz?=H})QjYbiPL?jeUH9bcgQ0?vQ=1m9Qk7HzH1T!-;@|o>7I;@pae1CtBwY4<~Kv`KCy1Toj zN-md6HVq8Q?d>hjf6mV2cZP{$hSp$(c`m=#Bjqu}oy*3?22!b%Y!o<{84d=BvyfFD z92}G<3&9wagM$O9kZm}HI`-k2$+&)9B0Q5cF$CWD=w9o*gBJjvXoU%3_2qi+G!E5aMy w7yc-qij+P0Q?dZf$^tYi3(%}AKyw2A06JB0rD;X<)c^nh07*qoM6N<$g2qXiV*mgE delta 995 zcmV<9104MS2KxsgiBL{Q4GJ0x0000DNk~Le0000j0000m2nGNE0EJTX-;p6Gf4=|# z4!;371ydvd00WRoL_t(&L+zJKC~Z+3#=qluzZFH~k#{D_L_!IPlrk|fVMwCv{_i9&B79G79J_ut$zZ(zP{wTzrT;g#YJRf zWFR*;7dD#>US95-AGe4;I5@!6)D%umPT=F?gTuo^%+JpwE-ntm#l`si{6s`V1WHRw zk)55bJOE|UFE1|`8XCgL$OxjMq7WS&4R-nb{EUx}4+I4T$qH~_X=!O_e{F4*s|w1Z z&(F`%-QA7r>uc21)WF-@8-am=h>wrQ#l;1#uC9=hl7i{!X-rN|qOq|NRaI4D8COv@ z8kgQ~w<9Sj3GeUk7#tkL%*+hJ!oqNTe2o77eypypA~7)$!NI|JczBSNP{A#`gR{m) zE3i=%o1dSbyuZD@#p~;Cdr>go~?x3sh%BqRiHZ*PcFn4-8Df7xYdXsG0Lcz8ID zj*cW@mX?;#*4BomrY3psDoUbhfr*I;ndPUaCjguE*ISoa-e~P}`T6uZ7*4Ni(Jo%fOn;UIyZB6U#?bY<0=HzG<6&0GkX*In< zYWhHoFP%e4^xoc{R$E&uZD(i4c=~VJ+uJpL_O-FGG2@Br*njE#o^$8nW@41h&dy?G zWksqZt-@%d$Mu<(L)6*X8Sd}zk)EE8>gsB_XVs*YVq#*9f8HENIX##b3kwSv9v;Tl z)|R9N&mAl>j5!Ks?D2%BuZTpVZWsB!sHg}X9UVwbO*MLR45gVS6qKBtjJ&)&nMuyR zzrVk1M!w^QWJ>7XM{I1Y#3KvQ^768j{G6N|`No+F>6YU1C$tBx!4)7J0LA^l6xrC= zkn=VN%N5|^Im#K_F4|G(YaXaf&*}e#NB*(3M4N>r+AJ*5W?_jo3rn;)0N;aC=lT#o RYNr4I002ovPDHLkV1m-)Bp3xk1JR(lW21ksL9?P! zgC>Phgn>`9Mrdt9$SIaC^CN2kvtq9GnH4eLVa1JKxJ~`}IfYW7#`>-^v0s zD+|!9EI_le0L{t*G%E|xtok0%f6#TSTrMM*%b`#xz-F^yaB#3Q@>gG9U(y^72WDqy zF+V?#v9YnvXz$VjHX=iHkU`D^8;u5DUS7KW-Q67?A0H(i$H&JdK6NejUD|-^KxG-_cDj}2 z=j!STwOUO+qTOzHU2hcBkOg^|s&#~8V+neAco0y=C&NI^(J3q6f2F;W?qdld6f<{a zWkq_Gt^CJeCNC~7O3h}SDi#(N5Dtg2v9W>W zV-T6iUwF)&4Vb&fU9bt5IRDhJ%j0Y<~J~I?(J-Rs*3Lz4S$b21X0a66W z=krJ=lX!l9mUrql!w^v0v8M%@EDQyPfy?F6&Sq^uCEikao8j{RWhvjYF_~yJf*O%w xz@L)w0`)_(0L{t*G%E|xtSmsY>T^KgH?qZ`C^Iqlh5!Hn2>?k&PDHLkV1g#2c#r@9 delta 818 zcmV-21I_%*2FnH^iBL{Q4GJ0x0000DNk~Le0000j0000n2nGNE08S1ddXXV0f4=|# z4!;371ydvd00Q7iL_t(&L+zKnODjPX#ZO{Pl-ML%i`a+~5KUpMEJO>7fM6wv2v+_N z>Fq5dLLgY$g(OYvL{LyGJ5fSJ6cN8rL5;fRTy~%EFpp$*8IdtqUVse-}oyE{teh7}2`;e?>R)AK~S{hO0l9^Ye4;?(X9H z`Wm57$iDkMA0HnG1On*q@5jKv0NUHz?V9FM7JYJZf|ZpOY;SKP91e@!K5pf5 zIVr24G!bjhp|!QOAz$9y+(>lu`Mi`Fb=rddRz*oPKRFNDfk!QpD3{B)zrVLzd~tbs ziBhSA{r!C@zrVk`&Lqkye~$zE{eHBywc+^q7^|zR*xA{!Yrmk^*^Ztj&ZKmMvS<$O zh@k}-$KORs;{pPi;IgG8XA)Nv9U4C&(EW$rw3hKU9x0PO-)H1#q;^^R?kLJ z5>4-Na4yTt!_jCI)6>%;zFMtfaBvXGWD=d7oziY%Vgm7aTr6^XdntqUVs7e=%$jA&gL(Yi3A^#FVVen8T2nkCWh000002uVdwM6N<$g3U99C;$Ke From c1382d343a3675edaa3f0bd752b0340c39c665d4 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 17:57:05 +0530 Subject: [PATCH 20/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 587e4f733ea..c61a226a02e 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -84,7 +84,7 @@ To generate the performance metrics for an app, follow these steps: 1. To trigger report generation * On an Android app landing page: - 1. Select the kebab (:::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false" lightbox="../assets/icons/kebab-icon.jpg":::) menu on the top right corner. + 1. Select the kebab (:::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false":::) menu on the top right corner. 1. Select **Audit app performance**. A popup appears. From 09b4e35d6bb389e34b0d2774c93b55fb5de6c12d Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 21:38:44 +0530 Subject: [PATCH 21/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index c61a226a02e..5203061e635 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -84,7 +84,7 @@ To generate the performance metrics for an app, follow these steps: 1. To trigger report generation * On an Android app landing page: - 1. Select the kebab (:::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false":::) menu on the top right corner. + 1. Select the kebab :::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false"::: menu on the top right corner. 1. Select **Audit app performance**. A popup appears. @@ -92,7 +92,7 @@ To generate the performance metrics for an app, follow these steps: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: - * On an iOS app landing page, select the audit app performance (:::image type="icon" source="../assets/icons/ios-generate-report-icon.png" border="false":::) icon that appears next to the bot (:::image type="icon" source="../assets/icons/bot-icon-ios.png" border="false":::) icon. + * On an iOS app landing page, select the audit app performance :::image type="icon" source="../assets/icons/ios-generate-report-icon.png" border="false"::: icon that appears on the top right corner. An interim page appears while the report is being generated. @@ -155,7 +155,7 @@ The report contains these sections: This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. From aa295a925437d2e77bbd4a1cf94d6f150ac1f886 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 21:45:42 +0530 Subject: [PATCH 22/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 5203061e635..1ab343bce1c 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -135,7 +135,7 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: > [!IMPORTANT] -> Latency is not calculated if notifySuccess() API isn't called from code. +> Latency is not calculated if `notifySuccess()` API isn't called from code. * **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). @@ -143,7 +143,7 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: -* If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. + * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. > [!IMPORTANT] > Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. @@ -155,7 +155,7 @@ The report contains these sections: This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. From 5889948e80bebba0dfd7bd6ceb97adff1dcc80bf Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 22:02:12 +0530 Subject: [PATCH 23/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 1ab343bce1c..cf254734875 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -153,9 +153,9 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png"::: -This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. + This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. -:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. From acfb083427cd965293f7e0df19262b523d746863 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 22:15:16 +0530 Subject: [PATCH 24/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index cf254734875..c6ef0d11214 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -130,7 +130,7 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: -* **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. + * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: From fb21a33103fcd98dd9bb0b4637dc5927db4fb9d8 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 10:53:55 +0530 Subject: [PATCH 25/51] PR warnings --- msteams-platform/assets/icons/bot-icon-ios.png | Bin 895 -> 0 bytes .../assets/icons/generate-report-icon.png | Bin 0 -> 1262 bytes .../entry-point-for-iOS.png | Bin 1075 -> 0 bytes ...chiclet.png => generated-report-chiclet.png} | Bin .../latency-not-calculated.png | Bin 0 -> 12601 bytes .../notify-success-API-not-called.png | Bin 8270 -> 0 bytes .../resources/teams-mobile-best-practices.md | 8 ++++---- 7 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 msteams-platform/assets/icons/bot-icon-ios.png create mode 100644 msteams-platform/assets/icons/generate-report-icon.png delete mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png rename msteams-platform/assets/images/tabs/lightweight-audit-tool/{html-report-chiclet.png => generated-report-chiclet.png} (100%) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png delete mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png diff --git a/msteams-platform/assets/icons/bot-icon-ios.png b/msteams-platform/assets/icons/bot-icon-ios.png deleted file mode 100644 index c70ce8ecc2cf5f94f06c3641c82c5629d131a013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895 zcmV-_1AzRAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGiyZ`_WyaAQGa!CLH0~AR_K~z{r?Uu_+ zGGQ3Sk7+lp>_VB87FiZ;s!avys!a$*&?>N?zpK9?2nxl85n*kjHr1wr?sQS?W~E*1 z`_9Ak@hxZGiD)qg25lHh=41-+@$nH?S66s`envW-#^K>1a=9D=fdKq|KPoCJ z;PrY1xTHj_S;~Nf+S=N}%F2pBeSCc2{QO*?30GHFhtkqg^!N886bixP@n|cJNg43; z^b|`=OW54pL`_W%+S=M+x7!7j)p~k*!u9pFKu%6hA{-9GX0vIl^-DP+7qw(wLM1zbe(x&>$f7_4VSlrluxTS69n>wwfL! zEYDYwG9WAV_V$LGn;TSCRtgMT{P6Gqx7#h1C3I(JCt6!u<$M(>dyrs>L;~yU>jKiz z(IIVQ>k0hTW*&Wgeen5w+Dc8wZ0ynSCcGClU%mR#jDrKexBHvAVj7qoX5j zm2oKn5{N10++)SQ5=);k%?!={{yyUII2INbFh4(!SS%)CDHe;`RrE;-@bdB!$z)Pm z%#<=1^c;Q2X4e%CRy$JdEk-X^fALV`O9m zGcz;tne8_^td&xHe}9j)wKWMqSy>snySt@IE|*I-4GhZd?JdsE&g6H7iDQP=V1;=u zztF~gn9#>NIxsg!IKIG7m@28gqeRURB1lqUPx#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L1cOOLK~z{ry_d;L zTuT(j&uwQ7aZH?|prYcqkRS#mZUS*BxX#vp$*tnXg&>LuDvBbCA~=DHBThKa&w1)s zze*puFWSbTc^?#g`&OOvovEtMb-V`R!`|MWtgf!g?(VLfpPvg;9*@U2`#K=Y2nq_4 z@bGYni;I(_q$Ej5NRWt#2(iSQo13ziO1s%unsd_sw9`cx& z7|F`YlA@v_aqjQ$z3uJo($dl*Q&UrNaBv{k*Vh3dM91yzt<`sNabX?F$;pwbsw#2T z*4Dgrb#>C*+-xUOQc@&7K3<}tqO71X%%|q{P~&fIZe(L)LlzbmZ0HLL3dHH{?e*5z z*UP}bfRvS$S!;50b1gBznD;=*x3{;Yudh!=M@Ov@PFq`>x1piIzNoIQmYSLx$;imC zivtP5-QV9Y9UUDqG&Cfh;NW1Jd`3t}h#l_%5z@T!s}Z}rytEutG==6N6grsD(7Y9= zr>8PDHYPniJu*BzY_}%{sB`4lKC@Vf0mX!sZ_O=Rv9q&NDA?B4R+*ffw8juwI8^U{ zP6s7aL#Rf!!E1ob&d!dkudmx8IyySC@6<8ncyui30v2y=ZOP)|qE+P1*KHQ0%gM>fi-^(T z9#7$s#|nxJuPK(}<71m^!W}61C8p#EPg?t=`w>{#jz+RtPa5|5ST-cegzPd48?ee-A>FY?u`LAY&9c;JnK|WjRSs(IXYuwVbAd3g2!i;jSNlUmnUUSU*{^Jh6Wh4qh-M;1La1}iHo4|lsW zH#g_4t*x~UeR_Jjl$V#=E|adGq97VTe>G3;u({`WuLGci!P(9=%a;o2ag5bo?p*pK zdS42Mobj!Luqu5kFb-lO0x2OUMUL5PUP3TFK5h?vnlmgS{AzU|fCJP|ety1GR8;)_ zXk&t$nXd|a&5;u&eJ?qLP~ZrKR$N?czgQlKNjTxa0KI7f0iSvsa?;3duxV7{{}&?v Y0_!vMFZ4qTE&u=k07*qoM6N<$g0qNPumAu6 literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/entry-point-for-iOS.png deleted file mode 100644 index 221981577fe999311d7d5619f7313c301acb930a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1075 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 literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png deleted file mode 100644 index 43b72ae0dee0bd3ec5f8458b36f9e7eb40c36148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8270 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 G!2buhROSBw diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index c6ef0d11214..4b8d94c5c13 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -92,7 +92,7 @@ To generate the performance metrics for an app, follow these steps: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: - * On an iOS app landing page, select the audit app performance :::image type="icon" source="../assets/icons/ios-generate-report-icon.png" border="false"::: icon that appears on the top right corner. + * On an iOS app landing page, select the audit app performance :::image type="icon" source="../assets/icons/generate-report-icon.png" border="false"::: icon that appears on the top right corner. An interim page appears while the report is being generated. @@ -100,7 +100,7 @@ To generate the performance metrics for an app, follow these steps: If the report is generated successfully, a bottom sheet appears with the embedded html report. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png" alt-text="Screenshot shows the embedded HTML report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png" alt-text="Screenshot shows the static html report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png"::: > [!NOTE] > @@ -130,9 +130,9 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: - * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. + * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, either a dash or question mark appears in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use `notifysuccess()` API call. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-API-not-called.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png"::: > [!IMPORTANT] > Latency is not calculated if `notifySuccess()` API isn't called from code. From 2fa360a2348a27c3ae0b5fce11d4e06ec80a5bba Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 11:00:05 +0530 Subject: [PATCH 26/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 4b8d94c5c13..8f83ca53880 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -132,7 +132,7 @@ The report contains these sections: * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, either a dash or question mark appears in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use `notifysuccess()` API call. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png"::: > [!IMPORTANT] > Latency is not calculated if `notifySuccess()` API isn't called from code. @@ -166,7 +166,7 @@ In case the disk size can’t be calculated, an error message with the reason sh :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: -Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. +Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. ## See also From 4957573b70da0e1c8607202b5adff9efdfd30f36 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 11:26:20 +0530 Subject: [PATCH 27/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 8f83ca53880..2c4e81b6660 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Identifying existing apps with low performance to drive them to adapt best practices is crucial for improving app performance. The new **Self-Serve Lightweight Audit Tool** allows developers to analyze and optimize app performance on mobile platforms for Android and iOS. +Identifying existing apps with low performance to drive them to adapt best practices is crucial for improving app performance. The new **Self-Serve Lightweight Audit Tool** allows developers to analyze and optimize app performance on Android and iOS mobile platforms. > [!NOTE] > @@ -124,7 +124,7 @@ The report provides simple, integrated real-time insights using browser and OS-l The report contains these sections: -* **Latency**: This metric measures the (approximate) time taken by your app to load, to target a P95 app load latency of less than 5 seconds. +* **Latency**: This metric measures the (approximate) time taken by your app to load. * **For apps that call notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. @@ -134,10 +134,10 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png"::: -> [!IMPORTANT] -> Latency is not calculated if `notifySuccess()` API isn't called from code. + > [!IMPORTANT] + > Latency is not calculated if `notifySuccess()` API isn't called from code. -* **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). +* **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red). * If report is generated from Android (and viewed anywhere) and SW is Not Available, it displays link to public Teams documentation. @@ -145,9 +145,9 @@ The report contains these sections: * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. -> [!IMPORTANT] -> Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. -> Service worker is applicable only for reports generated from Android. + > [!IMPORTANT] + > Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. + > Service worker is applicable only for reports generated from Android. * **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. @@ -157,7 +157,7 @@ The report contains these sections: :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: -* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and improve perceived performance by reducing delays in visual content rendering. +* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and reduce delays in visual content rendering. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png"::: @@ -166,8 +166,6 @@ In case the disk size can’t be calculated, an error message with the reason sh :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: -Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. - ## See also * [Build tabs for Teams](../tabs/what-are-tabs.md) From 9cea6e0ba2d46ee78b55ab6789cc8d2a5cb99449 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 13:09:34 +0530 Subject: [PATCH 28/51] Customer review --- .../resources/teams-mobile-best-practices.md | 98 +++++++------------ 1 file changed, 36 insertions(+), 62 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 2c4e81b6660..e092919d4eb 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,56 +62,58 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Identifying existing apps with low performance to drive them to adapt best practices is crucial for improving app performance. The new **Self-Serve Lightweight Audit Tool** allows developers to analyze and optimize app performance on Android and iOS mobile platforms. +Identifying existing apps with low performance to drive them to adapt best practices is crucial for improving app performance. The new **Self-Serve Lightweight Audit Tool** allows you to analyze and optimize app performance on Android and iOS mobile platforms. + +The steps involved are: + +1. [Generate performance metrics report](#generate-performance-metrics-report) +1. [Access performance metrics report](#access-performance-metrics-report) +1. [Analyze performance metrics report](#analyze-performance-metrics-report) > [!NOTE] > -> * There are no prerequisites to use the self-serve lightweight audit tool. > * For accurate latency calculation, ensure that your app calls the `notifySuccess()` API after it's fully loaded. -### Generate the performance metrics report +### Generate performance metrics report -To generate the performance metrics for an app, follow these steps: +To generate performance metrics via Self-Serve Lightweight Audit Tool for your mobile app, follow these steps: -1. On your Teams client, go to **Settings** > **About** > **Developer Preview** and toggle the switch to enable **Developer Preview**. +1. On your Teams app, go to **Settings** > **About** > **Developer preview** and toggle the switch to enable **Developer preview**. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: 1. Navigate to **Apps** section. -1. Select the app you want to audit. The app home page opens. - -1. To trigger report generation - * On an Android app landing page: +1. Select the app you want to audit. The app home page appears. - 1. Select the kebab :::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false"::: menu on the top right corner. +1. To generate the report + * On Android app: - 1. Select **Audit app performance**. A popup appears. + 1. Select the kebab :::image type="icon" source="../assets/icons/kebab-icon.jpg" border="false"::: menu. 1. Select **Generate Performance Report**. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: - * On an iOS app landing page, select the audit app performance :::image type="icon" source="../assets/icons/generate-report-icon.png" border="false"::: icon that appears on the top right corner. + * On iOS app, select the audit app performance :::image type="icon" source="../assets/icons/generate-report-icon.png" border="false"::: icon. - An interim page appears while the report is being generated. + An interim page appears while the report is being generated for both Android and iOS. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg" alt-text="Screenshot shows the metrics calculation in progress page" lightbox="../assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg"::: - - If the report is generated successfully, a bottom sheet appears with the embedded html report. +1. Access the report from the bottom sheet that appears with the html performance report. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png" alt-text="Screenshot shows the static html report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png"::: > [!NOTE] > > * There's no restriction on the number of times that a report can be generated for an app. -> * The generated report is a static HTML page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. +> * The generated report is a static html page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. > * Refreshing or navigating away interrupts the process. > * If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again.** message appears. -### Access the report +### Access performance metrics report -The report provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. If the report generation is successful, you can access it from the bottom sheet, which appears with the following options: +The report provides simple, integrated real-time insights using browser and operating system-level APIs, along with Teams-specific performance markers. +You can access the report from the following options: * **Open Report**: Opens the report in a new browser window. * **Share Report**: Opens the device’s options for sharing outside Teams. @@ -120,51 +122,23 @@ The report provides simple, integrated real-time insights using browser and OS-l :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: -### Analyze app performance report - -The report contains these sections: - -* **Latency**: This metric measures the (approximate) time taken by your app to load. - - * **For apps that call notifySuccess()**: This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg"::: - - * **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, either a dash or question mark appears in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use `notifysuccess()` API call. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png"::: - - > [!IMPORTANT] - > Latency is not calculated if `notifySuccess()` API isn't called from code. +### Analyze performance metrics report -* **Caching (Service Worker)**: This section indicates whether a [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red). +The performance metrics report contains the following sections: - * If report is generated from Android (and viewed anywhere) and SW is Not Available, it displays link to public Teams documentation. +Section name | Description | Action | +|----------- |-------------| ------ | +| **Latency** | This metric measures the (approximate) time taken by your app to load.| **For apps that call notifySuccess()**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
* **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::| +| **Caching (Service Worker)** | [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| * If SW is not available, the report provides a link to relevant documentation to help you implement SW in your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files** to open a detailed list of files affecting bundle size.To optimize your app, click on **Check bundle files**.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::| +| **Content Paint Metrics** | Is a tabulated list of all relevant content paint metrics (and their values). | This data helps you to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| No action required.| +|**Disk Size**| Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: - - * If report is generated from iOS, actual SW implementation can’t be captured accurately. Hence, an error message appears. - - > [!IMPORTANT] - > Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. - > Service worker is applicable only for reports generated from Android. - -* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. To optimize your app, click on **Check bundle files**. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png"::: - - This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png"::: - -* **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). This data will help you to identify and reduce delays in visual content rendering. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png"::: - -* **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. -In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. - - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="Screenshot shows disk size of app on your device" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png"::: +> [!IMPORTANT] +> +> * Latency is not calculated if `notifySuccess()` API isn't called from code. +> * Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. +> * Service worker is applicable only for reports generated from Android. ## See also From 7c6383f238d4a512b5b75b5c944bc9325c85858f Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 14:33:39 +0530 Subject: [PATCH 29/51] Customer review --- .../assets/icons/generate-report-icon.png | Bin 1262 -> 824 bytes .../resources/teams-mobile-best-practices.md | 21 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/msteams-platform/assets/icons/generate-report-icon.png b/msteams-platform/assets/icons/generate-report-icon.png index 893887ce62e7b290f28e977bca9689841c0d9305..78d37db2ad9f8a10761754a06f83360dbdf4f4ff 100644 GIT binary patch delta 786 zcmV+t1MU3o3AhF!iBL{Q4GJ0x0000DNk~Le0000K0000M2nGNE0Kh@K29Y5&e*(=( zL_t(IPmNVOOJh+G{%#(|EJmUcHWn6wl}WL7B33?FL|3-WkFZGPU$C+j6l{W^jbNvh zM6ggW1i@0&LPJc}R}$kR$=&&8bF!L5;|C}A-kCYyJkHFCWeZ+jUT}JPij$KQ+~42B zvMgP#AY0*dI?>(Tje&sy^!N9}e<~CT_R7i%c6N4w3SohJ9av6_?j87K%GxF!>XC#wJtsCoSI2e>e-vnf*;_B)O zYin!R-Q7h#pRa1)gLZDWTU*AE8Po`k;^N{0OG`^wUth=N<)zA+f%Xid9t{$v%0}m6 z3I?T8=}SG@K*%(_Uay`wf72q)&d#v4wS`0?q2KjszC~lq0&^fHC5|QQy0^Edx@M^w zG}Y8cz*9XxKi3oGs8Rn>lnsQ8fc4@=1Ipg@sgRXKPrI6|iUvY%e0_aYLSy`vP~(!6 z%R>6r#-K)M6v1E+v$L~$QRuJ>`uh6tYi0&NhK5iPBCj0MPq{?Kf5*oW?Cn)&rUP6i z?6$Tx74S}*o14@53Eo%mfC9E5vn3IVxTof7dM*?WC`4Y{pg9UdOq(P&hA zZen6WQzlH!v~IGAXx{lwxy6x_Z%f`8P$rW>JRaBE$C7!qH#ax2v9Y0Z%q!@##;pf! znH7nrr>CL+DHLpPZ{z6bsAlw4Fk(&@Yd<+T`HzqaK1}abMPG&~iNoQ*U*SW#8}>U- Qng9R*07*qoM6N<$g53*q-T(jq delta 1228 zcmV;-1T*`%2JQ(ViBL{Q4GJ0x0000DNk~Le0000U0000X2nGNE0L~m6+L0kNe*}X` zL_t(oN4=NHOI%A7#?NhM4RK7IqM)MUxR4+QByIw6DY(wof61-l#)Tk?2r7yqiXu3H ziX%=q&(C@4SHDUhxi8wrp?Mz^efw6O^PQ=x&UL&7;=|tFo~*8}%I@y2oS&ZyQy!1U zH~Tsu%LobzlJM|wiHnPqq@*NCe@IA>h=>TW#G9L&vb3}$v$M0Zyu2)jhlg@?b!7z| z$MLCpJ1`#dn3x#J%F2?Wq9Sqb@9(|s?d{Ui(jrq+Q*v-{AlKK|0U<=k?d`4AcX4rH z9m&bbk*caHan{z>ymfVT(%jr^CsI;UBtAY~qN1X#pfSv+=JinHZ*Fd6e`8}q78Vw4 z=nD!8#Odwr_14$d%fP^Zl$DiPYjSgQEiu5D_dvG$fwj;9#44Mo37A9q$1V(!BDk5xcy+v>a44 zh2|j?I+)PVycMUXr!qD+e4$%}~5;T})nk;e*(46iAc;GoJ zv&1OH6IHHoD|ZjTI)8F*_$5YwW0MLdf8qyf*ujB>9@OSm~+bIkkXZ{Otl%NL0;?^)0Bi({(a1E~^o zN~u>o({UCSe->Jg2siHl!qL&ulAWC`d3kv@+@VIPV{^Jh6W zh4qh-M;1La1}iHo4|lsWH#g_4t*x~UeR_Jjl$V#=e=d`*pQ0cdKz}t)?y$M%c&`JX zgTdL(HOrR@>2ZwJUhZ7_BYIy7hn(@PgRm-nD=-dXA_6HPCq<6gYhFSyK0a;_eVQ{Y zBK&G~Ab [!NOTE] > -> * For accurate latency calculation, ensure that your app calls the `notifySuccess()` API after it's fully loaded. +> For accurate latency calculation, ensure that your app calls the `notifySuccess()` API after it's fully loaded. ### Generate performance metrics report -To generate performance metrics via Self-Serve Lightweight Audit Tool for your mobile app, follow these steps: +To generate performance metrics via **Self-Serve Lightweight Audit Tool** for your mobile app, follow these steps: 1. On your Teams app, go to **Settings** > **About** > **Developer preview** and toggle the switch to enable **Developer preview**. @@ -99,7 +99,7 @@ To generate performance metrics via Self-Serve Lightweight Audit Tool for your m An interim page appears while the report is being generated for both Android and iOS. -1. Access the report from the bottom sheet that appears with the html performance report. +1. After the report is generated, access it from the bottom sheet that appears with the html performance report. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png" alt-text="Screenshot shows the static html report in a chiclet" lightbox="../assets/images/tabs/lightweight-audit-tool/generated-report-chiclet.png"::: @@ -113,10 +113,11 @@ To generate performance metrics via Self-Serve Lightweight Audit Tool for your m ### Access performance metrics report The report provides simple, integrated real-time insights using browser and operating system-level APIs, along with Teams-specific performance markers. -You can access the report from the following options: + +You can access the report from the following options on the bottom sheet: * **Open Report**: Opens the report in a new browser window. -* **Share Report**: Opens the device’s options for sharing outside Teams. +* **Share report**: Opens the device’s options for sharing outside Teams. * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. * **Download**: Downloads the report in the device’s local storage. @@ -128,10 +129,10 @@ The performance metrics report contains the following sections: Section name | Description | Action | |----------- |-------------| ------ | -| **Latency** | This metric measures the (approximate) time taken by your app to load.| **For apps that call notifySuccess()**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
* **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Hence, either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::| -| **Caching (Service Worker)** | [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| * If SW is not available, the report provides a link to relevant documentation to help you implement SW in your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files** to open a detailed list of files affecting bundle size.To optimize your app, click on **Check bundle files**.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
This opens a detailed list of files affecting bundle size. Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::| -| **Content Paint Metrics** | Is a tabulated list of all relevant content paint metrics (and their values). | This data helps you to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| No action required.| +| **Latency** | This metric measures the (approximate) time taken by your app to load.|

  • **For apps that call notifySuccess()**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::

  • **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
| +| **Caching (Service Worker)** | [Service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| If SW is not available, the report provides a link to relevant documentation to help you implement it in your app.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files** to open a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
This opens a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::
Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.| +| **Content Paint Metrics** | Is a tabulated list of all relevant content paint metrics (and their values). | Use this data to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| |**Disk Size**| Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | > [!IMPORTANT] From a23628bb3e3b75c96baa8645da9bb91180cf4c03 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 14:42:28 +0530 Subject: [PATCH 30/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index d84ef6a38c2..7435799e479 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -125,14 +125,14 @@ You can access the report from the following options on the bottom sheet: ### Analyze performance metrics report -The performance metrics report contains the following sections: +The performance metrics report contains the following metrics. Section name | Description | Action | |----------- |-------------| ------ | -| **Latency** | This metric measures the (approximate) time taken by your app to load.|
  • **For apps that call notifySuccess()**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::

  • **For apps that don’t call notifySuccess()**: Latency can’t be calculated. Either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
| -| **Caching (Service Worker)** | [Service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| If SW is not available, the report provides a link to relevant documentation to help you implement it in your app.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files** to open a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
This opens a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::
Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.| -| **Content Paint Metrics** | Is a tabulated list of all relevant content paint metrics (and their values). | Use this data to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| +| **Latency** | Measures the (approximate) time taken by your app to load.|
  • **For apps that call `notifySuccess()`**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::

  • **For apps that don’t call `notifySuccess()`**: Latency can’t be calculated. Either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
| +| **Caching (Service Worker)** | Indicates [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| If SW is not enabled, the report provides a link to relevant documentation to help you implement it in your app.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files**.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::

This opens a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.| +| **Content Paint Metrics** | Indicates all relevant content paint metrics (and their values). | Use this data to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| |**Disk Size**| Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | > [!IMPORTANT] From cbc9d796a8172be11a88e5373745d12694b98d46 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 14:49:37 +0530 Subject: [PATCH 31/51] self-review --- .../assets/icons/iOS-generate-report-icon.png | Bin 844 -> 0 bytes ...-report-chiclet.png => performance-report.png} | Bin .../resources/teams-mobile-best-practices.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 msteams-platform/assets/icons/iOS-generate-report-icon.png rename msteams-platform/assets/images/tabs/lightweight-audit-tool/{generated-report-chiclet.png => performance-report.png} (100%) diff --git a/msteams-platform/assets/icons/iOS-generate-report-icon.png b/msteams-platform/assets/icons/iOS-generate-report-icon.png deleted file mode 100644 index 8d335bd35fd6084a2584d0af2a43426c91220744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 zcmV-S1GD^zP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGiyZ`_WyaAQGa!CLH0^vzSK~z{r?Uu_+ zYEc-)msXZNNkJouB8zAw7zIKD(V)3wqkpeKv!YRhCWTRifes=cg$1GcKuk-kd++*i zd%1B3?sFguru;kUteF+91aI&XJ;`#Kaa7ovCe4k(gNhvQmKT~(^H(C zouOW@!|8NlU|>MTl`t1~EK5+?myzv;dpUrhpwD9^(D| z9e%$bQ&Us;{QQ)rM2pf|A0HpMy}d;uk-*y88us?~u(Y%!AJD6`0ISt14h{}*adCk_ zAb@BzDi%?IYAb@V(Z#g*{{BAR-rf+4#jw7FEjacpR6P zmnasC@{Z7SJ@?R&79d^7MnLx2Y!)XcCrG7I5|c{GQfj_>HX=iHkU`D^8;u5DUS7KW z-Q67?A0H(i$H&JdK6NejUD|-^KxG-_cDj}2=j!STwOUO+qTOzHU2hcBkOg^|s&#~8 zV+neAco0y=C&NI^(J3q6rM;5wV+kP?Gk0ZWMS7L3{KsG>FD@=h&0{^JwYg4NQ%72W zv>XqqR4Nj81lrlz!RqQN78Vu|4u`R^v4Q2~Wo&M4Vry#)BO@c-`9=V>3N;U5)*c-l zVRUpNdj=P}{Mm1(_@i1%`pk z< [!NOTE] > From 7ba6a838f4e86525ceaad37f49a224f446a53791 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 14:51:59 +0530 Subject: [PATCH 32/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index c4d016ebc87..f1b682bcb38 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -101,7 +101,7 @@ To generate performance metrics via **Self-Serve Lightweight Audit Tool** for yo 1. After the report is generated, access it from the bottom sheet that appears with the html performance report. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report.png" alt-text="" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report.png"::: + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report.png" alt-text="Screenshot shows the static html performance report" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report.png"::: > [!NOTE] > From 694d16ce7e99cefd433303453609dd50fbd259bd Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 26 Sep 2025 15:46:23 +0530 Subject: [PATCH 33/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index f1b682bcb38..06aab62e6b0 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -135,7 +135,7 @@ Section name | Description | Action | | **Content Paint Metrics** | Indicates all relevant content paint metrics (and their values). | Use this data to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| |**Disk Size**| Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | -> [!IMPORTANT] +> [!NOTE] > > * Latency is not calculated if `notifySuccess()` API isn't called from code. > * Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. From a24013c2ad8160f08131abb46e64b1f38d0dbc6c Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Tue, 28 Oct 2025 12:12:27 +0530 Subject: [PATCH 34/51] Addressed PM comments on draft --- .../resources/teams-mobile-best-practices.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 06aab62e6b0..50484278d09 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Identifying existing apps with low performance to drive them to adapt best practices is crucial for improving app performance. The **Self-Serve Lightweight Audit Tool** allows you to analyze and optimize app performance on Android and iOS mobile platforms. +Identifying new or existing apps with low performance for compliance with best practices is crucial for operational effectiveness. The **Performance Report tool** (or Perf Report tool) not only allows you to assess performance of your mobile apps in absolute terms; but also helps you compare performance across different apps by benchmarking against recommended values. It's a self-serve, lightweight tool that can be run directly on your mobile (Android and iOS) or local device. The steps involved are: @@ -76,9 +76,9 @@ The steps involved are: ### Generate performance metrics report -To generate performance metrics via **Self-Serve Lightweight Audit Tool** for your mobile app, follow these steps: +To generate performance metrics via **Performance Report tool** for your mobile app, follow these steps: -1. On your Teams app, go to **Settings** > **About** > **Developer preview** and toggle the switch to enable **Developer preview**. +1. On your Teams mobile app, go to **Settings** > **About** > **Developer preview** and toggle the switch to enable **Developer preview**. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: @@ -108,11 +108,11 @@ To generate performance metrics via **Self-Serve Lightweight Audit Tool** for yo > * There's no restriction on the number of times that a report can be generated for an app. > * The generated report is a static html page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. > * Refreshing or navigating away interrupts the process. -> * If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again.** message appears. +> * If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again.** error message appears. ### Access performance metrics report -The report provides simple, integrated real-time insights using browser and operating system-level APIs, along with Teams-specific performance markers. +The report provides insights using browser and operating system-level APIs, along with Teams-specific performance markers. You can access the report from the following options on the bottom sheet: @@ -129,11 +129,11 @@ The performance metrics report contains the following metrics. Section name | Description | Action | |----------- |-------------| ------ | -| **Latency** | Measures the (approximate) time taken by your app to load.|
  • **For apps that call `notifySuccess()`**: The overall latency number appears on top, followed by a sequential timeline indicating end time for each API call on app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::

  • **For apps that don’t call `notifySuccess()`**: Latency can’t be calculated. Either a dash or question mark appears in place of the overall latency number. An error message appears, with the nudge to use `notifysuccess()` API call.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
| -| **Caching (Service Worker)** | Indicates [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. The values are **Available** (in green) and **Not Available** (in red).| If SW is not enabled, the report provides a link to relevant documentation to help you implement it in your app.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB.| Click on **Check bundle files**.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::

This opens a detailed list of files affecting bundle size.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](teams-mobile-best-practices.md) to reduce bundle size.| -| **Content Paint Metrics** | Indicates all relevant content paint metrics (and their values). | Use this data to identify and reduce delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| -|**Disk Size**| Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | +| **Latency** | Measures the (approximate) time taken by your Teams mobile app to load.|
  • **If your app uses `notifySuccess()`**: Overall latency is shown at the top. A timeline displays the end time for each API call during app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
  • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated. A dash or question mark replaces the latency value, and an error message prompts you to use the `notifySuccess()`API . :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
| +| **Caching (Service Worker)** | Shows if [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Available values are indicated in green and unavailable values are indicated in red.| If SW is not enabled, the report provides a link to relevant documentation to help you implement it in your app.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | Indicates the total size occupied by the bundle of JS files on your Teams mobile app. Ideal value is 1 MB.| Click on **Check bundle files**.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
A detailed list of files affecting bundle size appears.
:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to reduce bundle size.| +| **Content Paint Metrics** | Indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| +|**Disk Size**| Indicates the app size on your mobile device. If an app is larger than 20 MB, the metric is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | > [!NOTE] > From 776c9a46c988e548f244704806cfecfc5bb69a90 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Wed, 29 Oct 2025 10:16:23 +0530 Subject: [PATCH 35/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 50484278d09..a75abb4e08c 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Identifying new or existing apps with low performance for compliance with best practices is crucial for operational effectiveness. The **Performance Report tool** (or Perf Report tool) not only allows you to assess performance of your mobile apps in absolute terms; but also helps you compare performance across different apps by benchmarking against recommended values. It's a self-serve, lightweight tool that can be run directly on your mobile (Android and iOS) or local device. +Identifying new or existing apps with low performance for compliance with best practices is crucial for operational effectiveness. The **Performance Report tool** (or Perf Report tool) not only allows you to assess performance of your mobile apps in absolute terms; but also helps you compare performance across different apps by benchmarking against recommended values. It's a self-serve, lightweight tool that can be run directly on your mobile (Android and iOS). The steps involved are: From ddcb1b4b9b652b5dcffd817d49144bd7b55a7af1 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Mon, 10 Nov 2025 16:47:46 +0530 Subject: [PATCH 36/51] PR review edit incorporations --- ...app-audit-report-content-paint-metrics.png | Bin 9394 -> 20469 bytes .../app-audit-report-disk-size.png | Bin 7515 -> 7628 bytes .../resources/teams-mobile-best-practices.md | 26 ++++++++++-------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png index c663cb82b4b8433c3dfd0c69deba6befda363154..3a2f1319d35ad17ef7e63f597ae723bdc996834b 100644 GIT binary patch literal 20469 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

dJ+&C#)Naf;NOsE3NUlx7u)@IBXc15McJk<^ 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 literal 7515 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

  • **If your app uses `notifySuccess()`**: Overall latency is shown at the top. A timeline displays the end time for each API call during app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
  • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated. A dash or question mark replaces the latency value, and an error message prompts you to use the `notifySuccess()`API . :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::| -| **Caching (Service Worker)** | Shows if [service worker](#use-service-workers-to-cache-static-assets) (SW) is enabled as a local caching mechanism. Available values are indicated in green and unavailable values are indicated in red.| If SW is not enabled, the report provides a link to relevant documentation to help you implement it in your app.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | Indicates the total size occupied by the bundle of JS files on your Teams mobile app. Ideal value is 1 MB.| Click on **Check bundle files**.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    A detailed list of files affecting bundle size appears.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to reduce bundle size.| -| **Content Paint Metrics** | Indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="Screenshot shows content paint metrics" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png":::| -|**Disk Size**| Indicates the app size on your mobile device. If an app is larger than 20 MB, the metric is displayed in red else in green.| If the disk size can’t be calculated, an error message with the reason shows up in place of expected value. | +|**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated, and a message with an embedded link prompts you to use the `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | +|**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism*.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the link displayed in the report to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | This metric indicates the total size occupied by the javascript file bundle of the mobile app.| Ideal package size is 1 MB. If package size exceeds the ideal size of 1 MB, the size is displayed in red.
    Click **Check bundle files**.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    A detailed list of files affecting bundle size appears, in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| +| **Content Paint Metrics** | This metric indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="screenshot shows content paint metrics"::: +|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than 20 MB, the metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="":::| > [!NOTE] > > * Latency is not calculated if `notifySuccess()` API isn't called from code. -> * Using [service worker](#use-service-workers-to-cache-static-assets) optimizes app performance. -> * Service worker is applicable only for reports generated from Android. +> * Use [service worker](#use-service-workers-to-cache-static-assets) caching mechanism as one way to optimize app performance. +> * *Service worker caching mechanism is applicable only for reports generated from Android. ## See also From 12dde3eb69a608bde1b3544b785bac163b6b468e Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Mon, 10 Nov 2025 16:51:45 +0530 Subject: [PATCH 37/51] At text --- msteams-platform/resources/teams-mobile-best-practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 9d968bf50a1..998459f8754 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -5,7 +5,7 @@ ms.author: surbhigupta description: Learn how to optimize your tab app performance on Teams mobile with best practices such as using service workers and performance audits. ms.localizationpriority: high ms.topic: conceptual -ms.date: 03/27/2025 +ms.date: 11/10/2025 --- # Best practices for Teams mobile apps @@ -135,7 +135,7 @@ The performance metrics report contains the following metrics. |**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism*.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the link displayed in the report to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | | **App Package** | This metric indicates the total size occupied by the javascript file bundle of the mobile app.| Ideal package size is 1 MB. If package size exceeds the ideal size of 1 MB, the size is displayed in red.
    Click **Check bundle files**.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    A detailed list of files affecting bundle size appears, in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| | **Content Paint Metrics** | This metric indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="screenshot shows content paint metrics"::: -|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than 20 MB, the metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="":::| +|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than 20 MB, the metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="perf report disk size metric":::| > [!NOTE] > From 01430b567d0852ddf62b03986a71264c948d6c49 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Mon, 10 Nov 2025 17:07:27 +0530 Subject: [PATCH 38/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 998459f8754..a85c6deb92c 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -131,7 +131,7 @@ The performance metrics report contains the following metrics. | Metric | Description | System response/Action required | |----------- |-------------| ------ | -|**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated, and a message with an embedded link prompts you to use the `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | +|**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load.
      :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated, and a message with an embedded link prompts you to use the `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | |**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism*.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the link displayed in the report to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | | **App Package** | This metric indicates the total size occupied by the javascript file bundle of the mobile app.| Ideal package size is 1 MB. If package size exceeds the ideal size of 1 MB, the size is displayed in red.
    Click **Check bundle files**.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    A detailed list of files affecting bundle size appears, in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| | **Content Paint Metrics** | This metric indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="screenshot shows content paint metrics"::: From 2ea6b148f91b112572d095ae1b829e451cc2f275 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 13 Nov 2025 14:48:44 +0530 Subject: [PATCH 39/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index a85c6deb92c..ad7a9d7492b 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Leverage the self-serve, lightweight **Performance Report tool** (or Perf tool) to evaluate efficiency of your mobile app. This tool runs seamlessly on both Android and iOS, and with real-time performance metrics mapped against industry benchmarks, ensuring a superior user experience. It also enables you to implement Teams-specific best practices into your app directly from your mobile. +Leverage the self-serve, lightweight **Performance Report tool** (or Perf tool) to evaluate efficiency of your web and tab apps on mobile. This tool runs seamlessly on both Android and iOS, and with real-time performance metrics mapped against industry benchmarks, ensuring a superior user experience. It also enables you to implement Teams-specific best practices into your app directly from your mobile. The steps involved are: @@ -84,7 +84,7 @@ To generate performance metrics via **Performance Report tool** for your mobile 1. Navigate to **Apps** section. -1. Select the app you want to audit. The app details page appears. +1. Open the app you want to audit, wait for it to load. 1. To generate the report * On Android app: From da476fdbda3bb89fe054dc11c55d1741520082ce Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 13 Nov 2025 17:58:13 +0530 Subject: [PATCH 40/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index ad7a9d7492b..e379ac8dd0c 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -101,47 +101,42 @@ To generate performance metrics via **Performance Report tool** for your mobile 1. After the report is generated, access it from the bottom sheet that appears with the html performance report. - :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report.png" alt-text="Screenshot shows the static html performance report" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report.png"::: - > [!NOTE] > > * There's no restriction on the number of times that a report can be generated for an app. > * The generated report is a static html page whose contents remain unchanged throughout the journey. A new report is generated only when you repeat the report generation process. > * Refreshing or navigating away interrupts the process. -> * If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again.** error message appears. +> * If the report isn't generated, an error message appears. ### Access performance metrics report -The report provides insights using browser and operating system-level APIs, along with Teams-specific performance markers. +The report provides insights using JavaScript SDK and WebView APIs, along with Teams-specific performance markers. -On an Android mobile, you can access the report from the following options on the bottom sheet: +You can access the report from the following options on the bottom sheet: * **Open Report**: Opens the report in a new browser window. -* **Share report**: Opens the device’s options for sharing outside Teams. -* **Forward in Teams**: Opens the device’s share menu for sharing in Teams. +* **Share report**: Opens the device’s options for sharing outside Teams on Android. On iOS, this options opens the device’s share menu. +* **Forward in Teams**: Opens the device’s share menu for sharing in Teams. This option is available only on Android. * **Download**: Downloads the report in the device’s local storage. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet" lightbox="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png"::: -On an iOS mobile, **Forward in Teams** option is not available. - ### Analyze performance metrics report The performance metrics report contains the following metrics. | Metric | Description | System response/Action required | |----------- |-------------| ------ | -|**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load.
      :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated, and a message with an embedded link prompts you to use the `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | -|**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism*.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the link displayed in the report to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | This metric indicates the total size occupied by the javascript file bundle of the mobile app.| Ideal package size is 1 MB. If package size exceeds the ideal size of 1 MB, the size is displayed in red.
    Click **Check bundle files**.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    A detailed list of files affecting bundle size appears, in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| +|**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load.
      :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated. Use the link in the message that appears to implement `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | +|**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism. Service worker is available only on Android.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the **Learn more** link to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | +| **App Package** | This metric indicates the total size occupied by platform app's javascript file bundle.| Ideal package size is upto 1 MB. If package size exceeds the ideal size, the size is displayed in red. Click **Check bundle files** to get a detailed list of files affecting bundle size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    The files affecting bundle size appear in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| | **Content Paint Metrics** | This metric indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="screenshot shows content paint metrics"::: -|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than 20 MB, the metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="perf report disk size metric":::| +|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than than the ideal limit, metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="perf report disk size metric":::| > [!NOTE] > > * Latency is not calculated if `notifySuccess()` API isn't called from code. > * Use [service worker](#use-service-workers-to-cache-static-assets) caching mechanism as one way to optimize app performance. -> * *Service worker caching mechanism is applicable only for reports generated from Android. ## See also From 946cec577ba12af59f78af8e58709b3c47fe4e68 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 14 Nov 2025 11:03:16 +0530 Subject: [PATCH 41/51] Update app-audit-report-app-package.png --- .../app-audit-report-app-package.png | Bin 9212 -> 16800 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png index 3227941040442a9b5a43bdfd5e5e791df6913751..9c04126bbd07c118bfc8b8c15442e040396f4c9c 100644 GIT binary patch literal 16800 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 literal 9212 zcmcIqRag{E)TTi?mhMHmr5mIr6cAXtq(tdXL1J0D7LZ
    0Cl`S(Faxa_KImq<+5Z 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 Tk@NI-1x-^`SEc5qb;SPwF%G^U From b82c03009aa22f2e71a46928ff401f6a55f8e839 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 14 Nov 2025 11:57:01 +0530 Subject: [PATCH 42/51] Date --- msteams-platform/resources/teams-mobile-best-practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index e379ac8dd0c..418ed4d5d7f 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -5,7 +5,7 @@ ms.author: surbhigupta description: Learn how to optimize your tab app performance on Teams mobile with best practices such as using service workers and performance audits. ms.localizationpriority: high ms.topic: conceptual -ms.date: 11/10/2025 +ms.date: 11/14/2025 --- # Best practices for Teams mobile apps @@ -62,7 +62,7 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Leverage the self-serve, lightweight **Performance Report tool** (or Perf tool) to evaluate efficiency of your web and tab apps on mobile. This tool runs seamlessly on both Android and iOS, and with real-time performance metrics mapped against industry benchmarks, ensuring a superior user experience. It also enables you to implement Teams-specific best practices into your app directly from your mobile. +Use the self-serve, lightweight **Performance Report tool** (or Perf tool) to evaluate the efficiency of your web and tab apps on mobile. This tool runs seamlessly on both Android and iOS, and provides real-time performance metrics mapped against industry benchmarks, ensuring a superior user experience. It also enables you to implement Teams-specific best practices into your app directly from your mobile device. The steps involved are: From 8a83f79a4b7391f2560c7e1f67c21b003763c01f Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 14 Nov 2025 15:03:27 +0530 Subject: [PATCH 43/51] Update bot-sso-code.md --- msteams-platform/bots/how-to/authentication/bot-sso-code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/bots/how-to/authentication/bot-sso-code.md b/msteams-platform/bots/how-to/authentication/bot-sso-code.md index 6acf5cb9b98..e058eaea41e 100644 --- a/msteams-platform/bots/how-to/authentication/bot-sso-code.md +++ b/msteams-platform/bots/how-to/authentication/bot-sso-code.md @@ -9,7 +9,7 @@ ms.owner: ryanbliss --- # Add code to enable SSO in your bot app -Before you add code to enable single sign-on (SSO), ensure that you've configured your app and bot resource in Microsoft Entra admin center. +Before you add code to enable single sign-on (SSO), ensure to configure your app and bot resource in Microsoft Entra admin center. > [!div class="nextstepaction"] > [Configure bot app in Microsoft Entra ID](bot-sso-register-aad.md) From 148486c7a9f1a71128937a72a8bf6ab76003113c Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 14 Nov 2025 15:03:53 +0530 Subject: [PATCH 44/51] Revert "Update bot-sso-code.md" This reverts commit 8a83f79a4b7391f2560c7e1f67c21b003763c01f. --- msteams-platform/bots/how-to/authentication/bot-sso-code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/bots/how-to/authentication/bot-sso-code.md b/msteams-platform/bots/how-to/authentication/bot-sso-code.md index e058eaea41e..6acf5cb9b98 100644 --- a/msteams-platform/bots/how-to/authentication/bot-sso-code.md +++ b/msteams-platform/bots/how-to/authentication/bot-sso-code.md @@ -9,7 +9,7 @@ ms.owner: ryanbliss --- # Add code to enable SSO in your bot app -Before you add code to enable single sign-on (SSO), ensure to configure your app and bot resource in Microsoft Entra admin center. +Before you add code to enable single sign-on (SSO), ensure that you've configured your app and bot resource in Microsoft Entra admin center. > [!div class="nextstepaction"] > [Configure bot app in Microsoft Entra ID](bot-sso-register-aad.md) From b23c0df0d61266757200887795e03e2baf798d97 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 14 Nov 2025 17:00:13 +0530 Subject: [PATCH 45/51] Update teams-mobile-best-practices.md --- .../resources/teams-mobile-best-practices.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 418ed4d5d7f..6ff8179b515 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -10,7 +10,7 @@ ms.date: 11/14/2025 # Best practices for Teams mobile apps - Mobile devices have limited processing power, network connectivity, and battery compared to desktops and laptops. If you want to increase the adoption of your Teams tab app on mobile devices, you must ensure a fast and responsive web experience on the Teams Android and iOS clients. This article outlines the best practices to optimize your Teams tab's webpages for the Teams mobile client. + Mobile devices have limited processing power, network connectivity, and battery compared to desktops and laptops. To increase the adoption of your Teams tab app on mobile devices, you must ensure a fast and responsive web experience on the Teams Android and iOS clients. This article outlines the best practices to optimize your Teams tab's webpages for the Teams mobile client. ## Use service workers to cache static assets @@ -20,7 +20,7 @@ ms.date: 11/14/2025 ### Sample app -Check out this [sample app](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-support-offline/nodejs) that makes use of a service worker to cache data and provide offline functionality. +Check out this [sample app](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-support-offline/nodejs) that uses a service worker to cache data and provide offline functionality. ## Minimize webpage size @@ -42,21 +42,21 @@ To run a performance audit, follow these steps: 1. Select the **Lighthouse** tab. This tab provides insights into the app size and performance metrics. - 1. Under **Device**, ensure that you select **Mobile**. + 1. Under **Device**, select **Mobile**. 1. Select **Analyze page load**. :::image type="content" source="../assets/images/tabs/dev-tools-lighthouse.png" alt-text="Screenshot shows the lighthouse tab under dev tools." lightbox="../assets/images/tabs/dev-tools-lighthouse.png"::: - The report shows various diagnostics for your app's webpage and a set of actionable insights to decrease page load. Ensure that you take the required steps to reduce the latencies flagged in this report. + The report shows various diagnostics for your app's webpage and a set of actionable insights to decrease page load. Take the required steps to reduce the latencies flagged in this report. -1. Select the **Coverage** tab. Your webpage might contain unused resources that don't provide any value to the functionality of the app. This tab allows you to see actual size and usage percentage of the resources on the webpage. +1. Select the **Coverage** tab. Your webpage might contain unused resources that don't provide any value to the functionality of the app. This tab allows you to see the actual size and usage percentage of the resources on the webpage. 1. If you can't find it in the home page of dev tools, go to **More tools** > **Coverage**. :::image type="content" source="../assets/images/tabs/enable-coverage-tools.png" alt-text="Screenshot shows how to enable coverage tools in dev tools." lightbox="../assets/images/tabs/enable-coverage-tools.png"::: - 1. You can use the report to remove unused code or resources. + 1. Use the report to remove unused code or resources. :::image type="content" source="../assets/images/tabs/coverage-tool-report.png" alt-text="Screenshot shows the report generated by the coverage tool." lightbox="../assets/images/tabs/coverage-tool-report.png"::: @@ -76,13 +76,13 @@ The steps involved are: ### Generate performance metrics report -To generate performance metrics via **Performance Report tool** for your mobile app, follow these steps: +To generate performance metrics report for your mobile app with the **Performance Report tool**, follow these steps: 1. On your Teams mobile app, go to **Settings** > **About** > **Developer preview** and toggle the switch to enable **Developer preview**. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg" alt-text="screenshot shows the Developer Preview toggle in Teams settings" lightbox="../assets/images/tabs/lightweight-audit-tool/self-serve-lightweight-developer-preview-toggle.jpg"::: -1. Navigate to **Apps** section. +1. Go to the **Apps** section. 1. Open the app you want to audit, wait for it to load. @@ -95,7 +95,7 @@ To generate performance metrics via **Performance Report tool** for your mobile :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg" alt-text="Screenshot shows the entry point for Android audit tool" lightbox="../assets/images/tabs/lightweight-audit-tool/android-entry-point.jpg"::: - * On iOS app, select the audit app performance :::image type="icon" source="../assets/icons/generate-report-icon.png" border="false"::: icon which appears on the title bar. + * On iOS app, select the audit app performance :::image type="icon" source="../assets/icons/generate-report-icon.png" border="false"::: icon that appears on the title bar. An interim page appears while the report is being generated for both Android and iOS. @@ -115,7 +115,7 @@ The report provides insights using JavaScript SDK and WebView APIs, along with T You can access the report from the following options on the bottom sheet: * **Open Report**: Opens the report in a new browser window. -* **Share report**: Opens the device’s options for sharing outside Teams on Android. On iOS, this options opens the device’s share menu. +* **Share report**: Opens the device’s options for sharing outside Teams on Android. On iOS, this option opens the device’s share menu. * **Forward in Teams**: Opens the device’s share menu for sharing in Teams. This option is available only on Android. * **Download**: Downloads the report in the device’s local storage. @@ -129,13 +129,13 @@ The performance metrics report contains the following metrics. |----------- |-------------| ------ | |**Latency** | This metric measures the (approximate) time taken by your Teams mobile app to load.|
    • **If your app uses `notifySuccess()`**: In this section, the app latency is calculated and displayed at the top. A timeline subsequently displays the end time for each API call during app load.
      :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg" alt-text="Screenshot shows the notification for apps calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/notify-success-called.jpg":::
    • **If your app doesn't use `notifySuccess()`**: Latency can’t be calculated. Use the link in the message that appears to implement `notifySuccess()`API for your app. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png" alt-text="Screenshot shows the error message for apps not calling notifySuccess()" lightbox="../assets/images/tabs/lightweight-audit-tool/latency-not-calculated.png":::
    | |**Caching (Service Worker)** | This metric shows if [service worker](#use-service-workers-to-cache-static-assets) is implemented as a local caching mechanism. Service worker is available only on Android.| If service worker is implemented, **Available** is displayed in green, else **Not Available** is displayed in red.
    When service worker is **Not Available**, use the **Learn more** link to proceed with implementation.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png" alt-text="screenshot shows caching status for Android" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-caching.png"::: | -| **App Package** | This metric indicates the total size occupied by platform app's javascript file bundle.| Ideal package size is upto 1 MB. If package size exceeds the ideal size, the size is displayed in red. Click **Check bundle files** to get a detailed list of files affecting bundle size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    The files affecting bundle size appear in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| +| **App Package** | This metric indicates the total size occupied by platform app's JavaScript file bundle.| Ideal package size is up to 1 MB. If package size exceeds the ideal size, the size is displayed in red. Select **Check bundle files** to get a detailed list of files affecting bundle size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png" alt-text="Screenshot shows ideal app package size with link to relevant documentation" lightbox="../assets/images/tabs/lightweight-audit-tool/app-audit-report-app-package.png":::
    The files affecting bundle size appear in descending order of file size.
    :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png" alt-text="Screenshot shows the files affecting bundle size" lightbox="../assets/images/tabs/lightweight-audit-tool/files-affecting-bundle-size.png":::

    Use [service worker](#use-service-workers-to-cache-static-assets) and other [best practices](#best-practices-for-teams-mobile-apps) to optimize your app's performance.| | **Content Paint Metrics** | This metric indicates all relevant content paint metrics (and their values) for your mobile app. | Content paint metrics show how fast visual elements appear while your app page loads. Use this data to identify and fix delays in visual content rendering.:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-content-paint-metrics.png" alt-text="screenshot shows content paint metrics"::: -|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than than the ideal limit, metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="perf report disk size metric":::| +|**Disk Size**| Indicates the app size on your mobile device. | Ideal limit is 20 MB. If an app is larger than the ideal limit, the metric is displayed in red else in green. If your app's disk size can’t be calculated, an error message shows up. :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/app-audit-report-disk-size.png" alt-text="perf report disk size metric":::| > [!NOTE] > -> * Latency is not calculated if `notifySuccess()` API isn't called from code. +> * Latency isn't calculated if `notifySuccess()` API isn't called from code. > * Use [service worker](#use-service-workers-to-cache-static-assets) caching mechanism as one way to optimize app performance. ## See also From 06a9ce9cbffd33026767de511cd81007452fe9c8 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 11:04:31 +0530 Subject: [PATCH 46/51] Update whats-new.md --- msteams-platform/whats-new.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index 263f5191b7f..7241da0cf1d 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -42,6 +42,8 @@ Teams platform features that are available to all app developers.
    * ***November 19, 2025***: [Microsoft Entra ID authentication for bots is now available in group scope.](bots/how-to/authentication/bot-sso-overview.md) +* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.][Best practices for Teams mobile apps](resources/teams-mobile-best-practices.md) + :::column-end::: :::row-end:::
    From 5f7a4ceefc2ea32c840ca41042ce46799ccb143e Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 12:05:27 +0530 Subject: [PATCH 47/51] Update whats-new.md --- msteams-platform/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index 7241da0cf1d..6fcb8288953 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -42,7 +42,7 @@ Teams platform features that are available to all app developers.
    * ***November 19, 2025***: [Microsoft Entra ID authentication for bots is now available in group scope.](bots/how-to/authentication/bot-sso-overview.md) -* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.][Best practices for Teams mobile apps](resources/teams-mobile-best-practices.md) +* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) :::column-end::: :::row-end::: From ae1237a440ae2d42b303b68d5c2ed8c94846ba24 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 12:06:58 +0530 Subject: [PATCH 48/51] Update whats-new.md --- msteams-platform/whats-new.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index 6fcb8288953..e11ccc769c8 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -38,12 +38,12 @@ Teams platform features that are available to all app developers.
    **2025 November** +* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) + * ***November 19, 2025***: [Create and manage agent identities for your agent.](concepts/build-and-test/manage-your-apps-in-developer-portal.md#agent-identity-blueprint) * ***November 19, 2025***: [Microsoft Entra ID authentication for bots is now available in group scope.](bots/how-to/authentication/bot-sso-overview.md) -* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) - :::column-end::: :::row-end:::
    From 1d9461237957ba74cba1426971f7f9bbbf629a01 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 12:08:58 +0530 Subject: [PATCH 49/51] Update whats-new.md --- msteams-platform/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index e11ccc769c8..e35c4ad652c 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -38,7 +38,7 @@ Teams platform features that are available to all app developers.
    **2025 November** -* ***November 21, 2025***: [Use the **Performance Report tool** to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) +* ***November 21, 2025***: [Use the Performance Report tool to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) * ***November 19, 2025***: [Create and manage agent identities for your agent.](concepts/build-and-test/manage-your-apps-in-developer-portal.md#agent-identity-blueprint) From cbaed67a18e563581519501effceb2b0e033e9ae Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 12:32:31 +0530 Subject: [PATCH 50/51] Update whats-new.md --- msteams-platform/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index e35c4ad652c..86df4f8029d 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -38,7 +38,7 @@ Teams platform features that are available to all app developers.
    **2025 November** -* ***November 21, 2025***: [Use the Performance Report tool to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md) +* ***November 21, 2025***: [Use the Performance Report tool to evaluate the efficiency of your web and tab apps on mobile.](resources/teams-mobile-best-practices.md#calculate-performance-metrics-for-apps) * ***November 19, 2025***: [Create and manage agent identities for your agent.](concepts/build-and-test/manage-your-apps-in-developer-portal.md#agent-identity-blueprint) From 96d15242aedcf0b210ed805eb52ce75d8e2d6a17 Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Fri, 21 Nov 2025 12:39:54 +0530 Subject: [PATCH 51/51] Update teams-mobile-best-practices.md --- msteams-platform/resources/teams-mobile-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 6ff8179b515..31f7f6d2cd5 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -5,7 +5,7 @@ ms.author: surbhigupta description: Learn how to optimize your tab app performance on Teams mobile with best practices such as using service workers and performance audits. ms.localizationpriority: high ms.topic: conceptual -ms.date: 11/14/2025 +ms.date: 11/21/2025 --- # Best practices for Teams mobile apps
  • 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 Mp00i_>zopr0P9uGNB{r; literal 0 HcmV?d00001 diff --git a/msteams-platform/resources/teams-mobile-best-practices.md b/msteams-platform/resources/teams-mobile-best-practices.md index 77cd029e3ce..a44a2edbc7e 100644 --- a/msteams-platform/resources/teams-mobile-best-practices.md +++ b/msteams-platform/resources/teams-mobile-best-practices.md @@ -62,13 +62,13 @@ To run a performance audit, follow these steps: ## Calculate performance metrics for apps -Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the Developer Preview toggle and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. +Monitoring and analytics are crucial for optimizing app performance; and identifying existing apps with low performance to get them to adapt best practices is the ideal way forward. With the new **Self-Serve Lightweight Audit Tool** developers can now assess and optimize app performance, especially on mobile platforms for Android and iOS. This tool is accessible through the **Developer Preview toggle** and provides simple, integrated real-time insights using browser and OS-level APIs, along with Teams-specific performance markers. ### Prerequisites There are no prerequisites to use the self-serve lightweight audit tool. However, for accurate latency calculation, ensure that your app calls the `notifySuccess()` API after the app is fully loaded. -### How to leverage the tool +### How to use the tool This section describes how to generate, access, and understand the performance metrics report. @@ -85,47 +85,49 @@ To generate the performance metrics for an app, follow these steps: 1. To trigger report generation * On an Android app landing page: - 1. Select the three-dot menu on the top right corner and select **Audit app performance**. A popup appears as shown in the following figure. + 1. Select the three-dot menu on the top right corner and select **Audit app performance**. A popup appears. - 1. Click **Generate Performance Report**. + 1. Select **Generate Performance Report**. - * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon, as shown in the following figure. + * On an iOS app landing page, select the audit app performance icon that appears next to the bot icon. - A bottom sheet appears as shown in the following figure if the report is generated successfully (static HTML). + :::image type="content" source="../assets/images/tabs/lightweight-audit-tool/iOS-entrypoint.png" alt-text="iOS entrypoint"::: - If the report is not generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. + A bottom sheet appears, with the embedded html report in a chiclet + + If the report isn't generated, a **Performance metrics could not be calculated. Please refresh or try again** message appears. > [!NOTE] > -> * An interim page appears while the report is being generated. Do not refresh or navigate away, as this will interrupt the process. -> * There is no restriction on the number of times that a report can be generated for an app. -> * The generated report is a static HTML page whose contents will remain unchanged throughout the user’s journey. A new report is generated only when the user clicks on generate report trigger again. +> * An interim page appears while the report is being generated. Refreshing or navigating away interrupts the process. +> * There's no restriction on the number of times that a report can be generated for an app. +> * The generated report is a static HTML page whose contents remain unchanged throughout the user’s journey. A new report is generated only when the user generates report again. -### Accessing the report +### Access the report -Once the report generation is successful, you can access it from the bottom sheet which appears with the following options: +Once the report generation is successful, you can access it from the bottom sheet, which appears with the following options: -* **Open Report**: Clicking this item opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). -* **Share Report**: Clicking this opens the device’s share menu for sharing outside Teams. -* **Forward in Teams**: Clicking this opens the device’s share menu for sharing in Teams. -* **Download**: Clicking this downloads the report in the user device’s local storage. +* **Open Report**: Opens the report in a new browser window Chrome custom tab (in Android) or equivalent (in iOS). +* **Share Report**: Opens the device’s share menu for sharing outside Teams. +* **Forward in Teams**: Opens the device’s share menu for sharing in Teams. +* **Download**: Downloads the report in the user device’s local storage. -The following figure shows a bottom sheet generated for Calendar app on Android. +:::image type="content" source="../assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png" alt-text="report-success-bottom-sheet"::: -### Understanding the report +### Analyze app performance report The report contains the following sections: * **Latency**: This metric measures the (approximate) time taken by an app to load in WebView, to target a P95 app load latency of less than 5 seconds. - * For apps calling notifySuccess(): This section contains an overall latency number at the top. This is followed by a sequential timeline indicating end time for each API call on app load. + * For apps calling notifySuccess(): This section contains an overall latency number at the top, followed by a sequential timeline indicating end time for each API call on app load. - * For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there’ll be either a dash or question mark in place of the overall latency number. There will be an error message (highlighted) notifying users of the above and nudging them to use NotifySuccess() API call. + * For apps that don’t call notifySuccess(): Latency can’t be calculated. Hence, there will be either a dash or question mark in place of the overall latency number. An error message appears, notifying users of the issue and nudging them to use NotifySuccess() API call. >[!IMPORTANT] ->Latency won't be calculated if notifySuccess() API is not called from code. +>Latency is not calculated if notifySuccess() API isn't called from code. -* **Caching (Service Worker)**: This section indicates whether a service worker (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). It is applicable only for reports generated from Android. +* **Caching (Service Worker)**: This section indicates whether a service worker (SW) is enabled as a local caching mechanism. Values are ‘Available’ (in green) and ‘Not Available’ (in red). It's applicable only for reports generated from Android. * If report is generated from Android (and viewed anywhere) and SW is Not Available, component displays link to public Teams documentation. @@ -134,12 +136,14 @@ The report contains the following sections: > [!IMPORTANT] > Using SW optimizes app performance. -* **App Package**: App Package indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. Clicking on ‘Check bundle files’ opens a L2 screen for a detailed list of files affecting bundle size. +* **App Package**: Indicates the total size occupied by the bundle of JS files. Ideal value is 1 MB. Click on **Check bundle files** to open a L2 screen for a detailed list of files affecting bundle size. * **Content Paint Metrics**: Is a tabulated list of all relevant content paint metrics (and their values). -* **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger than this, size will be displayed in red else in green. -In case the disk size can’t be calculated, an error message with the reason will show up in place of expected value. +* **Disk Size**: Indicates the size of the app stored on the mobile device. The ideal limit is 20 MB. If an app is larger, size is displayed in red else in green. +In case the disk size can’t be calculated, an error message with the reason shows up in place of expected value. + +Using the metrics, you'll be able to identify performance bottlenecks and optimize your app for better performance on Teams mobile clients. All the sections in the report contain [relevant documentation links](teams-mobile-best-practices.md) to help you optimize your app. ## See also From d28e2e289e569307fbe6eb8031399fd9f8e2a38e Mon Sep 17 00:00:00 2001 From: SukanyaDas-MSFT Date: Thu, 25 Sep 2025 10:48:09 +0530 Subject: [PATCH 05/51] Updates --- .../calculating-metrics.jpg | Bin 0 -> 12808 bytes .../html-report-chiclet.png | Bin 0 -> 13142 bytes ...erformance-report-success-bottom-sheet.png | Bin 169231 -> 13015 bytes .../resources/teams-mobile-best-practices.md | 29 +++++++++++------- 4 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg create mode 100644 msteams-platform/assets/images/tabs/lightweight-audit-tool/html-report-chiclet.png diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg b/msteams-platform/assets/images/tabs/lightweight-audit-tool/calculating-metrics.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f6fcb6cb44074204fa08774b8900caf2c058505 GIT binary patch literal 12808 zcmeHtcT|(lw&;g|^xi>w?@AYth)5F=MCn2V1cVrnCP4xLl-?8s1b&LrJ5oaENC#06 zP|zSHiPB4g7^4Z{#dGeu=dQcXdF$Nw&->%O{bh&E%${#{nVG$3CdZ$SR{`!z7SkPH=M>}|A!8}?qEivZ_#Ka|NlaJ{}uFy^iIT|zW%@;o3Q%^IbNgvWv1aNAPjH-EP)Gu^r!t#gWysCF!%ug^pE~g z=3NK?s6+q|M*pKs?gapFJp_RE>3@{{!zOpVLcRX>ItJSJ2|t>L4ypiv!xaGd-U9%u z``_wlU;jcjDO%Mjnq0xO#~-)@_ySUZH4p^&02(w(3pfp&0rZX+0W;tP9o?VLe*irr z{U12Vz(CK)bdrhb4>Gf`u`n~UGBYu;ar2ay9S4bM@GlSC*I7?efT)P@aZ!e zgT;OQwzj^pxkWhme)xmNt$1es3y)tm53tB;JKzPpLuXh8<#aIegg>hNO|ySbv4sC4&Hhud zf9Qn<*y-tL&ZFl6K)?~DH0>P$l(y3&T@_RN8?3I4yw2W}JY#u3Bt2-{w!HD3is}>s zQ@R^FhaziiPfRa=cfMy*a&&(eeg<2oDYUr~*j(`T@~*EehsdE98d-CpT;OX;;%#fR z+DvJhD&P6iG$r8Q!6wF|${x!avzl$Ls?U`bG3A?kzhg3T)5E(<-e^27+ zL-%g=jNw)W!>}8EU0GA-F0fT|H2f&5BpBb~j=lCX-oaFS4CnDwWK=g;wpd8y(z8;y zW&qg>Hg|2d!C@XmH&(ydrGc!6Uf| zgfB=^Kbr_$aMsev%w)v2Lju>Ot&XsvFRIi zs!#mMCft$Ml6Rw@yRm%Uhme#Wg-y3hHBlr`i{N&vlfm4#0|a}&#nfHtoU6=p!dx3q zEc?q^tZr18(@IKQGW8f(?dfOMS>ZrKM7fe;RbV)q+}G9wmEY^<-}~h0*z$XLxZSXc zT$>ijvI(f)6Lg8wFm6Xna%9<2S>=xb#yoJ+F~Di;SOpiGp@8dQ4~7i06Qw>FdloT7 zN(j$fX^5`sLVvN5OQVLj3%MtaFZl#u*vH>8M$md@fXt00_dsv;>9xKJJ_YA3Ufmts zG~sKT-PvVF8796h`b)2U=TRlt9&s4qD5+r6sx7)kRX_~zMl=Zqc*^6KlL?LMrg))j z4dXL)u;PowgLgeAVrp-vR*i|j6*?IXfvtP!eV7njFv?X~)m8?Gllvs)l?UN==%i`P zy#@>@RaAVwxz6*ps6}th?HWiq#4WL*t-xU*$n)ymH$G_|xlaXIF5lsG!kyFKQ6z_K zfbsU453Z8PgMEC2pGg!=xDQloefYOqz;6BUO!D{LkG`QZCoTmWnfl5{Y6w%dD`>Lb zqD`_pb%?ZNtW!w@)Q7-!l@!m2981_Oxsh+P9sN{dGzL7yXC1)$=f-fyrdu2--&#ho@<@kPCxo9RuBSaG-2Q9 z6Cns?>F%eBj^?*CjHMu}FB=#fw+Giw=0ZW2j=4cIO*G;l@OOMGwu8N?rr>|^a zz@RMUT#<&M+>^*{GN=;h&L}fNq~~?RcP>NByAiJ`)3<5SbVP?$sWk52L6z;Uw-Vwr zn!0S2pP@eVUoI`Dq`78)<$yzI%g#$uwB#5w+?s3&Yf<_E5{8?8)VO9{6uitKYn%Gk znq6e-?XHT|dZ5zYXYz%ud85Su=^}%*BwwYCEfEi^0R{ORm)nDzDA+4;Z&r#wskZ$}^R;f{e|6Q^Tf$mi^Z z1KUH&{($wNn%(C6H&P7c%uv~;9mizN|a2?Y@Xl$7gzyBJ{X@y$WC)L!VU(Y{&_RiPmRH?Ow9Chm(lVWXsGRZa)U(!bX zP+o>d1rUjdAnFZN@5C^IgDTO>^-4$GTatSt|9)bpdT`8%8yD>&BG^G@PPGL|hXy@o zFpC^|9HSg2XrtQ`TaNrnM~og#&+{68-P5C)zx+g+(u;owIel=T#EAV+yl z)?D+j;<}z{ZQ^!{JtN-$Xb0$5lp43rX36ABxVVM3`4e1K`xSPhqdXVp7vu-kzn`X! zm4`3>$-4O8Gco#MM9?%k*X8JGpCrr)#JbTH+mFjmSypMr`zJL-h$W-uW{KNx5hk1O zwNs>%L@I8^wccSp?Jk>-Z`$=GsIG#ODK|~d!4&xPl4GjSB!m+Q;T2iyPI|k1l8v!9 z>sD71R++y%;ero(9DBaIorq{(*r^F2JHZX{M}65?Nzz4%*D9FjGpu{?_t59`PijBJ z955I0L3Vm9vNi?t4k;tZO|YO|6Whg$@I`M@{rhC z83=I=ApZ;qbz^I4o8*|Yy44Y8pfNM7w_{sR_cDqWr_E;JUIf%?eXK|~YL3E&ouGjI zaiHBJLx{M|(1M|O(WDx0d1CAo!AkNiXFY42=>Yq^9wS=AIFeBl$=!ZlK3HsHKL1sK zTjGn4J(^KI3awRJkuxr?fr9BW^t$y0d=?c8PdG*LOc{Q04M~z@RY25&qSD9~T_5IlraR5fUX0rpd*b^fg5`W)hf1qZzAm(xGaHRtH64QzWF&M)D=qVn;)1rN>!6^87n*$YAyJ4F)wpC-qj@V zD@BvGjtmgi>IlhHzI{=+DZaf7tGb_7q(5A|(U#5i&fl-b>!oc)OqxIr)>7oVz;NR* zrAl@B6lh?YBm+t_mL%{8K35<;#`J~=4aO?s6Q>%OlB?{vNr}4g!lFrKk-8reqO03| z0&B-IcG>;{xGuh@P5fA~R{UB4E?8J@nFk*;HdqHrxu2A&ml&hh>9xM4>bu6m&s@>2 z_FAUi+nLcW~{ToxnE+7ClsVck3naQ&sWFsg!d*WhB=h6FS|Q z3h2Ezc1X8!!ej(gO}}N|J+$S;uSZ7g_DmmW+mT~n*9&8ZULQmg8!#6a8s>&XzfwBwOZ@d=(DAH-V6>RtS3@=;I;(G;d3h6mh&cZ z6zh)^XDG*f5&Fh{fZDzHBeI{{awZ`CJ3Ev7IXY>HY?xH~ZIyo+fmLyc^kV?;ByNe( z9GOl*N5kbm>S_XTS%O72rb&QQDIU8d*Fv35o4|IaP2|2Ul!bhH7-#tCMa%wxBUz?T zmNufnQG{q>J!uJRmm(oU&@CA{21H2p5eYEMR0%6MEa;^5p&d(yz_Ntjo?(VnyzkZYwYF@9CoiTs z(kG#6%HeNK?>;Q8tCLh9y`xRr6Qqyin{bJvA|w|pjL(zgi0RLIu8m4mY$o)U8&1_! z9s|D9@amR^o`jFLZa+&M2+bcbF#}EfXiA_3^=A?iq!5Dt4FXd#1w!Dn!XE=E5z)s0 zw#2#z4?DDV-_UR|FZy<9 zN78tgxgKvE6BB~pTK?{dw=GFVDjiO9k*3Dn6Q~?M*FCh9GQVDuPTLYG{`uH9mq8#e z{>!=hLsS-deET8>5eJtH3BykAGGX?Tv38uF&GcTxH$injp;f;VZFn4K?Zz&mc#zgPHi z;ij`1hYy7|loF;TKa*|oqXkWH&D^0C9$l#7_4yxQ4pP}jyC}aKv>|Z<87y;fV=PMk zZCvs746d_u_s#(3_ff<9Bn8WaSUD1I#8WkUSV9lKpWb7Rt>Y3wZ@W1jo>{srn)kd& zXE@p(-xU?=wx4CS=IS_{{m5W6ww30(7W}&pu>v1-`cwLabTq|ap40Yo;8DHbU-aFU zkq|_vM&rxw=xX`I4^s?}AEp{70O^xg+v9Xhv=9Rq>*0K4b+|IA1Os9Te6IZfC)n^Z zz>PD1A!HLp_v0q}NvB5wwh!Z057%?E;A5B-ion8f(J_#Dcn&n&&k(`IzNrnj2C*P} zuYmZ`D;%2On{LwVHln>Fb@YOMChp3)67Gx&eHo+%vH~m;rKgO~(F}$IwwH0jGD<|pCtO1&v!_FrLr&U34)JU4!Ck*eZY}{5Z8c)NL;$B!*4`H9%$uC}Q28GDX=l&)YME;*vPUQC$=RWvcg>>|igu70N99DOj95Rsu3vEh>^nR4>oNeoMym^}CMP$m-nBcr0 zS?dckTXV2xjuQPw?LXNUnb^_nje(_K#WzuSx3P)Dyr?>t6$_nm>+o(=TaU_bWR9V^ zidIW&oz|_>4_Rw&? z`M$dIZb2}V>vKxxK;gyu>kogifa<`)v79g;+8$@9`xsy$O`=4$Fu#c@b1c;ffU-}ipZoPyV6Xv@vyCU8y4-5z>g zt3;0lvmgd+O*APMM=i)q$)P^_Vn~-CSCbY9AWR=G}jwUlvq(6Xe%adv};|{OkrrYGV0|Uk3i%+uO*c3cG zowz3mdUSdG7F(P!p!yd+n8G_oypKPLtX|m!u^Oue>os`ARCrhrjOPzrJ#o8E2||9E z(66r*1g;97l{Qs~GqLZd`3MESj#nHwvY2#A9{OD}TsJKYiyX}FiiU}~%p!w1^lAi# zTWq4stW|qwtC5A!qWR67%{ay~mCrv{68lj?!$@PJ28bB2i=z|+5OZTjmzFZ8}~7aJD*p<@d!3wyj^0Cc2z*1P^UKX z-Gh@IHuEJWVOM7J1Bxy`dME8YlwkFO>z$-X>_UkU!mkPK118nrAWg}A8ia`H*HGSV zOXSSU?zwQAfCxK2a|mb_IzESqX!Q01fX16e~$;m6}*dDneT#F@w*Rhp>7!36M5 zJYf=h7;7*`IYaPSUG4`BMrYcXzA9R=`>0m>k#>A|gIi~ZxWLPTwRoFTeLe5|uOZD( zE2ySjCW09;l;nud8XG`KF!d0A4oiv!c(QhW(9P8Qx_Rc@JLIHIXglGGyuDnU)~Iig ziNl!DST#hlg=+}JP0=GPJlO9MD_es3V||aNYOt9m=6>leT^&5BmAQW<2dkJ|&)|1B zZ2>X6c2rE^YaqD~7^?qF-ra9oN!Fh)DoB>;$hR)G>1<0aMHPBHZ8enbO8A!gB`o(H z0KbOcr?T1+=CJy^<}sKhv4O{sWkLMPFdu%-P0y3#gQx-fnQ~{h?LfqBvW`;070Dg7 z#J(xh@2E$RQG_=*bw${OgK`$1f`49y?;~R^cjXDiBV8J;*qC6mzPyCZhPsY?dsJ~H zdfxYDhL&82*2S>4@mQ+eXYeXl+A#n*vKa}1g$+7`g>`uR8v-pvrqR3Ti#cNMo4a|G zR%NSlt995UR!gAI({P%DI)-5Hk%DU;(N2+7rm5Twfycn`eF<7FOi=%zNu42fKl#;1 z=@0B!`YU_69l*w!fJo}J0AWEIAUq%zz*4dLKXwaLHu1 z7~cxL65Wp-uIdk^M)==Ew#xbsAp*G;%dpd9cAvo5u_UT2DiN-a9m5k-u|^0^%hD}F zb84|Pfg?k4=ck41ZUppnP-g5BM1}X=18!aokmZY`gjmi+`28-@Gs!p|0}3=sr{LNa zYa=ftRr>U~Nz?8LeGZ;8Z6n5`4yN8L^<3sO;<}s_Yl1LRt%^6!V2u8LK zza^yK)^OTVy=``ue6H(Cs#KEr<0MBT7(ZPxS(G}1;O_A!^y89;N>X`Y&euQo@q;&^ zkXl%z-Sa`QZI27X9_7$rwYk$dvYq-Y%pq-QgdWt52op=JJ9i)J7E8g3AD zstv>+C?Pa+2O8w;fUocJERL#nk7@M#s{-3|?@sQ+EPDRN+VYHrm1Utni#sFy0>Luv zuvcP!a@bQ>ub~laS)%Wt*Bqty?I7g9@*sn5Bx;Oyd$9T!h#oGDv*U$5uq8n-i|5=& z+6(3lpHyczzwDjpu_{w<`Etct>z7KB+2pP7=lNn^gSn|PaG#?*V_6(HwZN0R*ptv+ z3~5>%z)ULd-q}&tXz(gB3R}04osh|g&ia~;(^+W66tz&eR(mxusDwiV=f*wz%`Sy_ zU(Vtxw0Vif{Ic-8LD`M3n5);>i2^m}8TqgNbA%VuhKws|vH`9!OXb>B#!c=gN-z;n zS+X-dJ~(&%B$hTC&1Mf29AN9bP z%nPdYiO3 zZFxxm`P(JDB5_@s`!=tGK-~yLIQ@<#t z?MV78dG`o#Fx?>5n^P(Fv*^5%}2!|rqudA{DB{Ksu} zQUjdVGX#ZC;fz@UN-P1itBliRid_ta%#aQ!6kUR5LM$z(9ULbiD>qduw)EPyZ0p!; z@?QPrH^sJ{bn$s;)lRd~X~!=jAP+bb!Da}|`)&Ruey_U{k^}R1h!JyiH_9t)BM)DU zL=`aXK9YOfd~HhH?*4~vJh22pY%&?03PxR&?))z8M84=_U^)Kl$t`^7SzYz40%%1l zBeF-38ulwE>gvPgPxK*U*Wymv-Bdbp|DR-n|IUf||L6H9Hw!9~Cg5MID?i_tO&3sM z`bURKCj$SUC@YOqXawP$$Aa0Z(|!EOE(G(#_E*auV^yCP-Q6amqHC6{OEl2vWq|eU~?m$BKTp?Q~0F*IuYcqg&4DJ&RUEK zdZ{$3(6K^Ue2dbllK4FicbBOV&UaKxQ6|g{i)JNPHTJ$Fl~|)}CVSb24b4Y$Yb=9y z95n<*W-dRQ_)27zrMv?QyA#E3LaLiLuf!#bM_awCHqlqxTH5 zJ9@j#z4vTori8(>zb?#v9=72@dU#K1al}NOXAF}RqH2@CtBMH<1j%${x(AvN_eGJ&w{<~_tr+!Q3N(z}M2MifpIi!@e&A-e zbLgHRrXmhi=(>1M7;I?z@wJq=Py!;TiJsInS_Dr1!3Gu~XC>}Mavb|Nxt0!@HlbIwYz?>Aa(# zMyew~hWZ)cJP}xsK;WZI(R0O?V$(8h8M9W~r$S1lH082(YOB*+3*&&?w2iuTJCZUu z@lH<&ehjmhT@zFOX$!;)Kg+)2-<>~uN9-dxXK+$R@BDy;)1eMs6D_zfN|J26pmIM& zQE3gUi8d2z%Pb4BS@Ngy{q*8g;wR+dm=t=e&M)l19bdWz7WsZ_e_6R@FaNRPV^4xr zkaq-ojx48$tCdt1v(&=ipC4=Z?%H6HiPb%=gp(zw?pvhR1`auN6Q;7)#_krB1Sipl z)vR7&zekpaz6)ZD8la354p9`o*Gfn6eJqLOve#Wo;HpnvBS5r(UK9=)|Ml^_0nTA+ z=Uy#M6yk|z*WorV+)1rNMM(wsgwb10vu>C9cfE6zod$O9+5%BcuO%1lUL)F?Qk!&| z*uHElV8!@9)~{Th*$XEj8_sshM-HSn&eE-BeMy zS&&uF{Iwvq_5ixTnD(ytN&d5H%X9+g9$S~z^4#{vLX0yYHs2n zDvxxHW#}zy`t0_jCVvKj>4Mfi?d7hOWFFFyaSZMx;l^`e1c&ZhNqk0QQA>Jx@|&Zd zXcVQpXSy5J9)|9gfB3Cx_bm3Xx2fs#9Q0_PlJ9|h4u$%((QX7Y%Kjpi5yFQ087W4= zb+EGQ$yRfFO}pXam3giYzT9~GYVfJOod!;^G^3Tf*6KBB42MX%Uzr_+2^I@{&ew&U z|7OSK5pX|o_)3smuf=sFY+^j%(P`F@4u1hV;^U(Nof34?qD?d5WCND%oTP0Q9$8s% zp9l@p9qD#wk+>+`XXV>r-ydGs64vI-S4thYx><1VCm*bNzp?&DH-g(VLN7IdSk)y2 z3h30nECjDn%OE>TT@*RL)NBQ8P+2!XtO&pCMB-`Kg{d*~StMI-q*U}=#Qiy&Z-u@c zMFA4dx44AwMS7=khqJ2o<3S_+Y!sXK;l0;}sM0e((m4XsNFeR*CHV@1j0&_X^7EKeBz9wm^OWK}}YN^G2i$=D!y4oEXR-T#i zKcbyydOyHx^43K+G> zac8p=L9Ocp;`$!=ri@Yo<9d2i-g7&)FR-%Ff}(>@R^0pKQ<0IpGM7{H{7u)Yzp&9g z_Qb4mNp6$~7zWT9ScbE|*MJo>BDMWZw*quxNKhs&LIN)sGln4Qt)acNFSsAkQzT|hyB^JQW9XCX1a+0k_}s29J= z*pJIem$5#`QxWDquUki`Tg_V--t|8}ACBPlAUO|vijlA1D|n9{3-7ai>wWfdY3?`0 zZ<%@hiDfsE9NsKj*8Dkb4d3UcSkL#E*1~YZZpp+M7MZrImLcDMC0wX<1O!jjc9lM2 z9`|ERq4z#Y?DvC)e_CXN>f4LX89P1F&(vJ^xLBhqBO}%#Kj7qK&vk)$+q0LpkHi%W zEv7aa>%V}wF*fuk1vMNpzesR-+2)$TOmJI#biqi?*JAv@S?unav;#>7#DFGT6C*CV zyo5|oZIn)XBO4)5ofUitAxAgMw6?Z|8ZKJ$X`L4Ss`3b!up`MkKE;2ldFI)@}Ctv*!d?G*+!>0|c+70e%4x%9}(C`t&@-Jn!%hR$(Mk;aoykm+r z#?K*|IOhS?rd0G)eEkMht{dN!(xXqT-qn1G%-Vz(KOGK}HCKFNHz}ryV6*6CugHrt zo+FmLH({nY*huoj(y#YsJ0a85)dKtY=l2eeT--cVue7&L_{v;{Ryg{zC@YTcTz}rI3g<&mF zv}@~A+Y7B*q^s+0gT9X6jbDq83XGox9)b(171g3kKK~@1Z#^oZ%58f}wJroT`OK?% zwd(mzDcNf=a2T~5%<8??>Nb^x8F{^CYMvJwE=fUy2N6tPAVot<>X|*SOw%E*8kPC3 zYgRIuGMTPR&s}-W+eZa1HJah72HqLr)`uY3Y+G-gZF_oJx}L$Cr3#^qn9hTz60DsM zrHMYvaVGcYVwvFzZ3KN{Oi7xF4vhC)pof`@tsY2dTU0%>00ikqNWHDQQ(UD5z4>5W zj@=m7!!v&$>?b$$dezmU)j_f|EldYEGVDQ-8=t61y zY!4ZmP2qbmB*}xcb#u{$9I;MOm2e4fM&+`^wE6GVaSIRebKHK|XtDaXQ-mRqB5;&= z*q;CrIBeqEygy_v@vI!-H&M0tSuMn))4tOAo{1m9*9QXB5jYN{fB~2 zZatTpZ!{Sz-ylv$MuGBYqpnJQd51Lhi8BOjAx@IRB@E^S#n(lZ4|JxXoHcau-^|&^ zxtdq0x)mChI<;_p=ff>d;`>UP6-e-p96)4!(w(lqIPUZT5QDROBNTwhw6sNk{32+mJ$y`X7@cJzQNv z-N>{(9dqsat8I7my3B(O66wgLa(D8ld~%6mc2W;nzSHN?kyNiH}8J9Y93V?Z_aN|_di6Y^W67+UDvNo^b>70l6w#C;o#tqXs9de0gqicICscE z1i&-GmRNS+;f{x%nj%j50K*#a0?%IIu>uZGWdiY~B|h+)$W`6g0|$qO?e^=Ah8}zu z2S;#2Ls`MV$80NysGjs6eP_a#f~czGE>uyKO>9+30g^_SV*;he!K0q^jhw40xu}c{ zRq*flhl(vxu<=kiNAP5~-!=B)Fn8+k=bN9-9u@uv0T)_3ef2{21KGYoSl@w+u|PrN zNL^|+UBOP-`zjiE_oE7s@9*j+lN-QdD8ue4>nc78<(&G zXmgiN$Sy8J+SlFj;VacRh-LBPESjmF@zovan=57Z#Jl+S(#uVMWzw1l2-IL*BS`4& z&W|?i2gEUP{*)!7zJwUuIM_KIHQwGF+flAh|a=+>6E#9O5$ zxvzDkwuCpN?Hnsm45U!$mvU!IR2O@lOia32OinEKK`_+i*}+trnIC6O=X0!tV{;h( zR!_=9YyY9tTp9mKZsV$P=b4`qgixQ~qZQ_Jc7wSy1DPTZy_NTUP8TAb2C^l#-pmEk zPN7ASbOw5JMQtE~MGp1#$uZM6IXo|F933B8Cl*z(u4u6=lvNK10=JY~cQpFq@!C*P z|Ne3>TbbY1_c5*Io)l}fBA!@UKGBWQFK9{Omw$dwyS9?7yrnhcANce5V5NU~n6Alp zyAIpu(sX6V^{nir_tvECb}fdq+PafeVyEF`R!GRMPo1N}q|Uv=my*t3=6v;o9q@08 zZMsn_$@(-N~G2x7_~2wPCeJ;%)O9$Bea^ zUq43Xe7!wZGVFUqq%j@u&~6yuAoLZe#A@|tioDxsTVhzxk$U5-UuGo08EJodbuyQw z5Kcgc#n&p*Oz8u5g>P9aoxk~TXU@E5ezH7Vm{*VgWG=XA8rQaROA=n~f8t#2hEc^x za-u~Xo=M1=Qc-CxiHB3_EI#OSo~@UtIa!^L>y&J*ociICw#C29Nj3y>#_2j zFHiErc%FVro~iRF2|W5|=(N(8;qv=z25!#Y7~Tl~f6XFL+4(dvFf$6HfV zliwYt7$n@s|9v*>txFE>W=k9Q-)R`L>rL&KJ?IlU29`ASJdIOdwZ}v8+kopcFO!!oLftKC*Iw&Vqdu{+}%6-{P}tz@#N^4oK*S9*hs?Xgp#xP+P@itMF8w7n2j!_Pr-;n#qa&lTE=**?F@XBBA6T@;nA4tU!>yzimfB`(Fh* zetK=hP+0W=XStG?hC6YW7}pKg)xQ~^b{weNN#OdQcW416@TQE~!PJGXU|~U0hjpXe zK5fUOf`i4ip(?ri=SJPK)L3;-jZ36Md7bJc!KLp&^>~B-NlbI_`C5rLaOB;=meB_c zHS(c%M~}MP;}2j~g+Nh%Wt8%!{(##SpD);`*apH=V%uDPfXq|?$^golM%wB!tRPN? zz5=QV&PlTb*)^ z+C}idwD**go^0pYL4f)qSZB0!u*PW$4!(=4;zrZ=1kSrCe25H}1Y7D$6blfJYwJ+bov&yD@^b$ATD<|e#DE%PAC_!?o zNKPWqv*eP9ZMqVfhkmzZm8Xf8tEHBjk5Ms+Bw2iwo`=f#LB^^d(6V>6;uU9`f~-we ztxX0URt9n$RNp;dQ|=B*dxEkhkgSkONqcoYHgZ;LX3nKAIr zCN~#FLi_8UujM1OvmsMi-u%1XdktrEH`laN2MFf?X0!Ho3=1V~SOy|5K+jKaV8Mh8 zSBqfhFc(}eAWqQ7+mZH`G+zVF?hfu)BT3Mqm1T2eRVSDZ8RwS=qi1Oa{`l*Qh6k{d zf5f#t|M^6e*mgGHpx>P#+>9M&@{wcF+cGiWXJzy>Efm=u4l_afA4UwiK`x&fn%YjE zs!NK|a%BL$HX2fD`1#ovI9Kg{&%<_HDn^(i?Y&H(?>!K+Lr0UXQ`g&DP+D(Ie%BK{ z8U!he#)`Nvsb?g);Ywl%$|@Uz6%#tRpGA@~7Gfn%rai3Z3T2Uxk;IVbJl{PZ)|Po9 zLr}#uL_r#lY>H&QD2>28p8kWn1k#b0K+HVotZ4H?_-~=V{#Md`_bg3J!s*~WR;k1; z3Z^}2e0-gH*TDFA`N^ zg=6iB>q8;ea^gD3@S;fbekm)nRci!E5$?P+UZ(_757`R>C4_`b`=|~mD32tF&eshS zG&X#ca!N+%KqprGkr5~PCIdP<%ExaiqZS0>o3eUrH7Q?;GsSSMWvvaD#2RI6tB`k6 zCcQN}lnzFaepBb`Dp>3iC-+|1if^|s4mQ?3dr=>~8?7GCmVXN}kXFlhW%<9Eo_jGy3JQ7qdnQo#o%7naGiJGm!ZTiD#DE~y`$CKQ53`C@+VIdaDSk!_f9 zxQE~Jm_O=GUPf5>nNo+H`-fn|va8-})>b(jGlRyP>x-3P9l4Yf0gbo8!kfV8=<7;i zEvjs7qb6A9k3H!V8tlUUeGtoh%-3`|H0?S3c;&AeQ;NUNn#>i|rN{iaLTiyJ4bO8M zvw*$!*2yk$mC8Znx=gTl5Rn zGM+gOLQfQ5hUU7q5Ut$e99mP)B#1gN*&dITn=VT|7?H!H8GSX`InPV-jYVijz9(fLt5a$@pVV zrWSW4O~!e`|M%rObk)WGI186>CS2-Tr&XHrCG5dT2fd3hF#3cm8jdqFL>y9m&z95r zKk9xc%zt&NBYUPyGa7p3yT6p=)njqf$rSA9y*Zw=Yq6St>V-3F2TW6+bR?W@0dQ1n3v-j&qGOo6~hd3q}?>obKhl2&}u~?(?T5U2HTPE(>2 z*Xy4v+WZ~Izc!DQ>UUB*!#;g;i$jAh_tb7tSt%j* z?0C^ko!9H`SyqXgd)gIr zKB4_9X!zt9(=W9d@osJ^-ZX7O^&NJ?msk#Mb<*wYPs)c#!q2uGU;p>H_oop5FZ)5L zF`>Q1F+ebqy~g|}hP9>oe?t3yrjMrr$oKdlFr0wICg*CPt1$b4$ZI16JX~Qe2cS{o4Zjx?c6&!} z2;fIDm^h&_p&*HqS^u5y1GP3eerM;u693#XHp%cR0P}wTpq8LrI|d-u=l1DUP)8=3 zm*ZdaohHAPda+awC>h(o_Xe>2{tN)+oN_|S4w6TsMp$L}c`^CLb)jYS zXy3h_*z(JUyiJa%TS1y&sK?^Q9b7`vZ_B-DKL*CXY)F?;WqL7Y1z_=B<=CT+v~wi8 zWrldG?FT#VPu6*0H3P*5h&1A*Hp;3uBbkCYHk$n(4}{II*T}`NwKJ!JyU1)sRbp~1 zVrZq>vtMxikSMWn_V8XqYc)<2YPG7q?K^cdPnRHWd%@#$lH zGtJyU+mIr}wZ<3-`s%r+=eBhi0n|a^;dZUBAGf`aJAhS|3lS?)enK4*n{UWW6-E38 z4hEzKskscgJlBR)dYXT^$pM+^F>Z9en+>wkj4{iW{F&RX>(bL#QtgU2wl*-zS)bWZ@DnvwF* zu;m+Et}%GG$}oAV-*KX2CX2Het!VtW*mCVe!b-=ATh%V~Bm%*&pUO!d^@ zr{^mS-b*fnkFcX#Y}D>wVz0+e{%CsjZb{!L!?aqmooTpH^`P&Z%(lnQ;6(rOk&c+m zcEwBfcQ@00rnUWaABd|dH#wxI7xO9StY1O|RD}XgU5SWI_-vdTj-C-^Y}X%X6X8<| zJs~)i@jn(W{~^j0up0`&BkPwFhw_Kbo6s;3U+5?+g2MR8$t;r+h9w5+A76eC$7_`h zhAz(m1ie@-0V?Qm0F0PeOTT;sZI8Q*NsA=GAVXhEfyIzkf3bkN@?Y*VWo6N_}H|eu7 zOU~mW@+;wX*TIcK#zI@7A`UeCt+}Ud+-CKyB-3=!NSzxi4qj^1Y(_J*Qe3|QA}Jt< zs}`3t8)=r{1Z8>GFHdO_Woh!!#zY<7Krh2hmM}Xh#~t4p;xkWc=95n+XcKi90@8^VT0Y*^1U&f`gmH9Q)r3xddh63gS(4_`%+@_9-ze(wbBV#A*UbazPqr` zvS#w%6z~AJvHFZef}ih4Dk=hq$W~YSoiHby=5zO*>{gEjaX#_#?m)jMfELiyo%wcF_?Z@qt7#lMln)yI)e?|=7D>u$7w-{OLfV9$ z*wNts=*KM~RDmH$Aj}=wI|lBk#}ur5QB*h z`ZQQpYP@bC#Z~j*tMAiNC%^lw8vKsnEFf>{ZsrY??ux~i7ykjCO@wE2TaT8Q-x{J` zHEY@JqOvK?N~4L@ava57nPcb!Qr9rt$cScZce zQzPxsm|bzqE~R+Fxe)#6PcMfFwZO0~mAasx^a(Ast^PQZq5H-sofrP3+iK&D&=K0! zw2^Mr^9@|MVxbeZ8($zn(nd8sCDZ>&mIr1^l z@?kdK?^>U*zNqQ5!xYc;RkMy|L_$BkbkA15q~|3kBk9AU! z3b4)q`xCn3O#QD9(zEeT*IrE3tQoo;IXu(NeV>1M6(4T@`g99dl zvSy_l15(>|m-jUoLByqzC&|&Ktk=1igwT0`=s>bP+f&h4gaoz(!9uRSZ-xVP_+yP2 zJt$!_nTw3j>`~8`4|}b{xQrDFTC11-fGd=8S5{H^%4Bmbx z{hrcFoT736^jTgO#o!kaCAD%fCAHeOI!)WDz-uAvj?1y7fi)ybrn)k+1>+9RWoj1a zvT<&*YL5|Q>8 zg^zRF-GpAP#B`|i+mh^OVXACIB&wP0-B-GfJ4?(5-LfT^9Ypo3+PaHddF(T|GpaMf zQ!}z$S(h0J`3gXlKF#eqRna9x-*=()OZT*i7oVQ;P&TbEpJ-hg;DhRX?sWAEnpL@( z=~V;l6v9af;=?0j=yP-zPjEf@$EFo|Y@b!*q*+(wxp^>nV*X?(APCft5HG!2%#C>3;fyMd5AZ0~?-R)YW8-f#&h>PMRob5MMd}1dzTUEgo^a<*YG}|)#uY)o}2=B~VVVFbmgvd49BQ<>R zXWIZ6X09kKO#ovEg0|>9I?cepfvD@oBZW7$(a?0lW~JQ=2Jlp*Aw;%Cf%_8YZ{)Mz zlHne5rz?hym+}e5JV773z%)%Ii|9E?{K2QmO{{O_L^Moy$$jnyb@w__H(?dTkx%0u z8ihSEtjA|rkc!9j3rxk?@A6Mm*|HtcJnycx>B`Hzr250HI>09-;NErzsp}K#L;m(= zf!<2qq|eHY_l7(=gKzXHLr)T_T&)b^{|8-}YZTSic#63UvybLe(?#`K-fd2#6jD@? zpwSo!C!byQ{8#{IA;11Bd-EsitFlS~!v;e!4#6+5>)D<6Oe2Dy3vYS5##4GP%)2J7 zgL8Q9rI5Nbk-5kFf1`0z`2-+0=s+B!QIk=Mb*$;9D;X>bpdtL3s5?iL5;6t&*O*#L1EVwr7HD+ozTkl)R8Xw16N@n)Uwl|e4(EyGj-`M`Old5nAsPRxh zv)pOAX?z8cFW@qFSdUTmYLKE)^w_Kz3fm0M!y&! zEuy0Fs%EPOt^w_wy?K{hz>CMcu^t%|_aTCeiMO_os{=r~$c*J{G?EOvB?V`io`vVaE~R=!x0ViNTc`plgkN5n zk}WS_KbljwK-qDFEQXekx7zM-|HThyk-&>%5rDJ`rI`oS9qt2iK@DUUmrNSw1&9z0 zQH0_4a;ooKKN*y=oczsKBHRm7=xR|RYxKZs9~=zI#qI?Gu0=7xp!To+zx0JG~;S~xeSonRqhXGnaNOL<@p|gvEFk-8Hu^C3O7SAZP zB-H_iuv!v_h0O2C-bm&tKn|!mp2)K^sU|>qRO1opGX6E$gL}7hhECKmJ+AqIm^1g7 zb$<2kuJ-DbOOuFsz}{Plt#89t{_i+VYQIL2?;z#Fd>89Pmrvj5XdW`$54CuyfQh}U zn35oOZPWr894dNLgtd(zvA(wtkmTqEfsT2qzgA0t+@HcvfKf4lz)lC>>*8JrJeS7H z4gU&Is{tXVpws+mgzC(92g8HS>cN;0@_Uv{R-~yafuOV)YEBktTk9$E=K-VD!4ZzR zT%*2TqkrzS=B0XU!yk27iHxJBI^*bABQ(Ur?szI+0#lh z-GSG*N_jn@7Nj8&DL{!EB>mtBD~Ys+wivEQopvEgm33&ua5m{*=m;Rm>mMVEwMlP@ z+(ZW83wHu%M?f|=x>*Fn&=&glj(#OLV2>TCA4eAun1R380KVIdGtr^0BfY0AV8pa< zF*1^2%<=xDL&=r9)3>5)?{FRIHjTjGA?3vle>j`oI-wL`DgscV8(|ag?pE`7cp!MG zu4H@WSMPU-eKuglxy!<~fkSKB29zsLX&xm{lGXvG$1uG$we(?OJuZRrpr%XLZ*d-b zGmsMm<}q`K!$6k1oyd}&uY#vic`P1%bzr8 z9R;;`O{X&qG@o%On+#=!{E(E72wsm5Jm`I(@GkE5d|5K;THFq=fP-`4qt*eJrt1Go z2H^kaQS_h4LDD^>+`^#w6MJTQ)ZmLs=NZW}j}P!{gXB16n_%NgKwCvU58-}Htua7S z^>8n(%do=C>GfzCXSanqkGv{erJEd<7~BI`)J_?Kwwu5l+5#G|a}G8t(Aw4<7$8o7 zE3;MWhWU@_ztoMko+~CHBxU$|alD1rQIVizA*$@sQGm+suOtzNC)?ADIVZOXFO9G& zu-EmTp>L?zwGth_!S~}HT*HLvY=K%+=so&CS2We<7!pGF_cv%Qeue>QB7s` z&QYsSBTFv0(Z=~+n5+65)dc_*DM;% z5zX@oymd>I8pv*3_ICmj66%Wyx|Xi+k4twjDqU<4+w}JD?AqBc_pyU~bk?EML519` zmh5v$Eg2i=;RK{y;oIVJn@%eNXP^PvO@4c|=&PQl%GmAqNbj*UOZPPqLLf-+DTU%< z4o+qL;n1VS`x))5!=uLbIc%IIVosAbG~7msbVue#N)0 zr8h*(SN}v>fO#D#+~uIvsB}g+BZI_h;B#>{E0e*K1h)nB)^ssK2+qeRN1p_1Zm##oWU++08e9v{e&>J9ulH`eL1=?Y&W7;G}RickEoT;W$JaN94h4ffeqy7)7o(=M5U8d&vPbQhHvr6CwbJxMg~ zOthXN9XkoA8dMiDVsGQUDDzH8{wzK>?_4i zFm%Olz74TJ-RS`xV`V6CM7j87iaK!}!Q-s76c)9`fk?yhxfU8dTK*(ok;s>E4~BHv z^LkRirWZ>72)&g$o;ltGG_HLM-&Kfw8n3C1<9-{Jj=DG{8`2#qFcSWUNSD&=9le-# z3oLGkZ0PDV)Q!mczMhc2A)aE?N+&bYso4W$OU`tLPxKH7b@0vkatNi9X1eox7Z?p# zax2v$bqPE9$~?HeN^+Y8K_vkYHAZO$Lfv>wa%;3QOxgq)B5uxDq>Nl9YCJE%kDB_b|{aomPhpN+Ber%w(N;_#J$wg z&A=wHl5bZ3D6|z9k|te_AkFA;Yk?#Q8(q*>+M_=&JUHVL-@f{1!2rDvfz^%E$({P- zY!E0tNSMj0+i>CX^C)Tn7xynL`K z9I>*JL%bsoIYg{XBp-&~n!r(xnTER8@BYsK+W(E=^I!6ANMQ<4@Sn`f;26|jb*j)r z-uD2)M?u&{<_C$<)RDpjOPjE(2gF4DRFB$Sg<;j(Kz0W@b&du^exoXPHbTndQ-9Vv zG9u4Q?*Kt2wg*F-35MwYlr|xF9rI()k;IDxJh7$jT?vsc%o~8?XclCAAbB;ej?tP7 zhZV-b4tRhRAL%}PHu&ZWg_|VJw#3g|N4mz&(TQc!Wx)$Ayl>;fqg#LkJi{_a^gj_U zAYj67Y%x}5%$i|t+=aIxt-cAmNb_=SaCYpU1aLXyaRYX~Ib3gSF8D?!e;{CcuE~5f z)Y|CsC*Ks)&Ec>PV6IN}{6t(|U!67k;V<}2Q=P0x;!XkEg!DhcD(YboUN_Aip*8Ap zGr!(+j>a>xoWPL8@E-`CbfJ*(S-Gy1hiNw2Em?h;BE3ME4R+iw7a2fr^OucK;;bW_ z-0pAqFfLl}olTC{#%PN2)oskhCU@lBk}NX3Q0YVNk_y7m7a&ycgjBnu9=#S5RPN7~ z&~M3%<^9>^xif33DAluUG;o{U@&%GmZ06G4VL?DhO+!j;=nu?C29y(l3wmcyE5XX3C*hQlSRhN#5Y%3`A^&sGL+VD_B_4jyb4v~%&nKuQotHm?8&j4Yf zzX3pPq4JV8k}}=^_8aOb#^$rlI*UFZHt{6MDV~*fxl+E+ntXqag4Y84?tus@a&SES zE%Lljik*T@LnzR1`6I0FH$OQjTIklsqF~u|)u0lyY6Eo}`v8_F0zLxo)dxl%+a~MZ z;=%K_!WLl6Q1ux7^elCQ_BhV`{8tZzNhpUbJV8+&w8C{!a_2B6a#Q(FnFT5SDO$(;J|$BcFN6YjH6fjT;2*=AI&%oy%&;fi0| zlE#@L4(xQc0x&=GH~~$5esIJr3QCS^{Ox7Z5`po?zPrgzRoU^vA5U~(bQKh1vK_m9O3}8*hNM%yheUTyb@RX?I_%5IE zYnkK?{ZWBjSe|5qm{Z4|4{GW673={eY9LqU#VB?l=i$~ne*OS=rA5+p8zS%M?MjM zEes&crDdFRSOGP-53a@QtZxHQWM;OfgUu5Dda^-zXWRQmAi1N!4S!k`ZpBC@YuSR= ztsM784I&@-QEoSm{NWMOVyVA+Id=_*f^@AESZfLpG*o(S=|CIY!3v?W)Oj7%+NyL! zu-?2%fv2G=gQP+FLX`fH&o9RE(YQp}TlW1{9C|#Ygo}9y&f|~z6TKe@q2?w|P?p}Y z9Ob-zPCiX*aY+W9bI8SW!7B^fU`9 z>_d7sP2>dn5u%)RIAC@OASIL!lhWqD&uL)iI$nZy-=J)Tghv(AfFgge`XNE{~_*+2P!62U^Q=SBvo2isH$q3X2+R_wp{(HxGrd9&8A{rRKuod&va zpN`ZxfoRHI7PZA0LBXUxtG_P~Md1^2&n>upBHWjIy8RPU)^Ap!pFy8|T*>yh&D_gQjQicTb+`Oz$o%MZ&x)C5h=0N?)0 zMES1?>i-)9tdxuVdL(FM_Y)hN{a5(cUlN&+ z!uNFL#Wi{33*EywUJW)`B@QrsL^QQ0GAqH|*olcey3k3Jo?DYo1^HC&_~LX^bTx3S zg$KWt4{(;(D@lTW0Ya82oQN`Yns zWohMlQyN+A7QSaUl;RxT!y*x-+l*OHeMMx9xI9Lc%T5_XmL9iae4pWLG72|t-@ z+0FzezB*zZnIi)V+S0F~YtASOcOJZu5RFpsk`BC?{nem)UPobs-I}JF_=lJ{Am=*; zXpikRWnRqjfj~~j_6kUsR1T1rZ9KJ=dR^l(=luEUXFE9{95N1d$WfT&diu!-%Tq=b z$;fXZze(?qCH%@Nl8nhY=e;8^Ny_M9Q$U7k>JeYV2q}a3lNyJya;Kc;=U7{tnc)&0 zCSWeVFm{=(ubWOg(5nHe00PlIaIjihRN zQNl+|`3%10nG+F!6~dz`Z%1qz#Pb47-sS=_2|$j1AUW0!O0R*J%1r1-@90YffF1~T zUzaKY)4qLI{nHNfbT=B2P=>xragDLoIM6ya!kWe%JlK~}BqMF3P;))c+yTv)M6zaB z%EWneaRIugLB`qxK;uH{4^&6JCx5Vrk%qB4?Mn9iMYub#nF>Zk3vip%{yE&77*6Ij zecqNdNxs4Q1cen^ZSSI^X4Nd#q01Kf+U#Agq#b{ON8 zc&5Q*v$hfSMNKvIE`D3Bng5oE$G@kB8Tm?)9gP~MtCawQh3`=D8&RHO>Q?g~KK%rb zkhSZB(7{+u>hb3_#B)PE0mj+SS(42%i2hd>>b^H zT){x&9#T=fbzW>!Tt$Pg@O4xX2OVRe?dSjR?gR>Q5d0yfnpF8kPYUo^7#s~1ZRK)B Hi?II%bOsGF literal 0 HcmV?d00001 diff --git a/msteams-platform/assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png b/msteams-platform/assets/images/tabs/lightweight-audit-tool/performance-report-success-bottom-sheet.png index 65626ffa7831aaecdd3e24a012dfb0362b0cf504..951c3b4b5cd28b28bde5c0ac520075959284e1a7 100644 GIT binary patch literal 13015 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 z%0D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