You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[Exploring the Super Secret Kudu Debug Console](https://azure.microsoft.com/documentation/videos/super-secret-kudu-debug-console-for-azure-web-sites/)
275
+
*[Exploring the Super Secret Kudu Debug Console](https://www.youtube.com/watch?v=-VjqyvA2XjM)
Copy file name to clipboardExpand all lines: articles/app-service/environment/how-to-upgrade-preference.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Configure the upgrade preference for the Azure App Service Environm
4
4
author: madsd
5
5
ms.topic: tutorial
6
6
ms.custom: devx-track-azurecli
7
-
ms.date: 06/25/2024
7
+
ms.date: 11/05/2024
8
8
zone_pivot_groups: app-service-cli-portal
9
9
---
10
10
@@ -34,10 +34,14 @@ In smaller regions, Early and Late upgrade preferences might be very close to ea
34
34
35
35
Manual upgrade preference gives you the option to receive a notification when an upgrade is available. The availability is also visible in the Azure portal. After the upgrade is available, you'll have 15 days to start the upgrade process. If you don't start the upgrade within the 15 days, the upgrade is processed with the remaining automatic upgrades in the region.
36
36
37
+
> [!IMPORTANT]
38
+
> In rare cases, you might see an upgrade is available in the **Configuration** page for your App Service Environment, but you don't receive a **Service Health** notification (if you [configure notifications](#configure-notifications)). If you don't receive a Service Health notification, this available upgrade isn't required and the 15-day time limit doesn't apply. This is a known bug that we are working to fix.
39
+
>
40
+
37
41
Upgrades normally don't affect the availability of your apps. The upgrade adds extra instances to ensure that the same capacity is available during upgrade. Patched and restarted instances are added back in rotation, and when you have workloads sensitive to restarts you should plan to start the maintenance during non-business hours. The full upgrade process normally finishes within 18 hours, but could take longer. Once the upgrade is started the upgrade runs until it's complete and isn't paused during standard business hours.
38
42
39
43
> [!NOTE]
40
-
> In rare cases the upgrade availability might be impacted by a security hotfix superseding the planned upgrade, or a regression found in the planned upgrade before it has been applied to your instance. In these rare cases, the available upgrade will be removed and will transition to automatic upgrade.
44
+
> In rare cases, the upgrade availability might be impacted by a security hotfix superseding the planned upgrade, or a regression found in the planned upgrade before it has been applied to your instance. In these rare cases, the available upgrade will be removed and will transition to automatic upgrade.
Copy file name to clipboardExpand all lines: articles/app-service/overview-authentication-authorization.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -172,9 +172,7 @@ When a request fulfills all these conditions, App Service authentication automat
172
172
173
173
When using Azure App Service with authentication behind Azure Front Door or other reverse proxies, a few additional things have to be taken into consideration.
174
174
175
-
- Disable caching for the authentication workflow.
176
-
177
-
See [Disable cache for auth workflow](../static-web-apps/front-door-manual.md#disable-cache-for-auth-workflow) to learn more on how to configure rules in Azure Front Door to disable caching for authentication and authorization-related pages.
175
+
- Disable [Front Door caching](../frontdoor/front-door-caching.md) for the authentication workflow.
Copy file name to clipboardExpand all lines: articles/application-gateway/ssl-certificate-management.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,14 @@ There are two primary scenarios when deleting a certificate from portal:
66
66
| Port | The port associated with the listener gets updated to reflect the new state. |
67
67
| Frontend IP | The frontend IP of the gateway gets updated to reflect the new state. |
68
68
69
+
### Deletion of a listener with an SSL certificate
70
+
71
+
When a listener with an associated SSL certificate is deleted, the SSL certificate itself is not deleted. The certificate will remain in the application gateway configuration and can be assigned to another listener.
72
+
73
+
### Deletion of a key vault certificate
74
+
75
+
When deleting a certificate from key vault that is associated to an application gateway, the certificate must be deleted first on application gateway, then on key vault.
76
+
69
77
### Bulk update
70
78
The bulk operation feature is helpful for large gateways having multiple SSL certificates for separate listeners. Similar to individual certificate management, this option also allows you to change the type from "Uploaded" to "Key Vault" or vice-versa (if required). This utility is also helpful in recovering a gateway when facing misconfigurations for multiple certificate objects simultaneously.
71
79
@@ -84,7 +92,9 @@ To use the Bulk update option,
84
92
1. You can't delete a certificate object if its associated listener is a redirection target for another listener. Any attempt to do so will return the following error. You can either remove the redirection or delete the dependent listener first to resolve this problem.
85
93
`The listener associated with this certificate is configured as the redirection target for another listener. You will need to either remove this redirection or delete the redirected listener first to allow deletion of this certificate.`
86
94
87
-
1. The Application Gateway requires at least one active Listener and Rule combination. You thus cannot delete the certificate of a HTTPS listener, if no other active listener exists. This is also true if there are only HTTPS listeners on your gateway, and all of them are referencing the same certificate. Such operations are prevented because deletion of a certificate leads to deletion of all dependent sub resources.
95
+
1. The Application Gateway requires at least one active Listener and Rule combination. You thus cannot delete the certificate of an HTTPS listener, if no other active listener exists. This is also true if there are only HTTPS listeners on your gateway, and all of them are referencing the same certificate. Such operations are prevented because deletion of a certificate leads to deletion of all dependent sub resources.
96
+
97
+
1. If a certificate is deleted in key vault but the reference to the certificate in Application Gateway is not deleted, any update to the Application Gateway will cause it to appear in a failed state. To fix this, you must delete all the certificates without an associated listener one by one.
Moves between subscriptions are supported for APIs that use the RU architecture (Microsoft.DocumentDB/databaseAccounts), but not for those based on the vCore architecture, such as:
titleSuffix: An Azure Communication Services how-to guide
4
-
description: Add calling and chat functionality using the Azure Communication Services UI Library.
4
+
description: Add calling and chat functionality by using the Azure Communication Services UI Library.
5
5
author: pavelprystinka
6
6
7
7
ms.author: pprystinka
@@ -12,12 +12,12 @@ ms.date: 10/28/2024
12
12
ms.custom: template-how-to
13
13
zone_pivot_groups: acs-plat-ios-android
14
14
15
-
#Customer intent: As a developer, I want to add calling and chat functionality to my App.
15
+
#Customer intent: As a developer, I want to add calling and chat functionality to my app.
16
16
---
17
17
18
-
# Integrate Calling and Chat UI Libraries
18
+
# Integrate calling and chat by using the UI Library
19
19
20
-
## Set up the feature
20
+
In this article, you learn how to integrate calling and chat functionality in your Android or iOS app by using the Azure Communication Services UI Library.
21
21
22
22
::: zone pivot="platform-android"
23
23
[!INCLUDE [Integrate Calling with Chat in the Android UI Library](./includes/get-started-calling-with-chat/android.md)]
[!INCLUDE [Integrate Calling with Chat in the iOS UI Library](./includes/get-started-calling-with-chat/ios.md)]
28
28
::: zone-end
29
29
30
-
31
30
## Run the code
32
31
33
-
To build and run your app on the device.
32
+
Run the code to build and run your app on the device.
34
33
35
34
### More features
36
35
37
-
The list of [use cases](../../concepts/ui-library/ui-library-use-cases.md?branch=main&pivots=platform-mobile) has detailed information about more features.
36
+
The [list of use cases](../../concepts/ui-library/ui-library-use-cases.md?branch=main&pivots=platform-mobile) has detailed information about more features.
38
37
39
38
## Add notifications to your mobile app
40
39
41
40
Azure Communication Services integrates with [Azure Event Grid](../../../event-grid/overview.md) and [Azure Notification Hubs](../../../notification-hubs/notification-hubs-push-notification-overview.md), so you can [add push notifications](../../concepts/notifications.md) to your apps in Azure. You can use push notifications to send information from your application to users' mobile devices. A push notification can show a dialog, play a sound, or display an incoming call UI.
42
41
43
-
44
-
## Next steps
42
+
## Related content
45
43
46
44
-[Learn more about the UI Library](../../concepts/ui-library/ui-library-overview.md)
- A deployed [Azure Communication Services resource](../../../create-communication-resource.md).
14
14
- An Azure Communication Services [access token](../../../identity/quick-create-identity.md).
15
15
16
-
## A complete sample
16
+
## Get a complete sample
17
17
18
-
You can get a [complete sample project](https://github.com/Azure-Samples/communication-services-calling-ui-with-chat-android) from the GitHub.
18
+
You can get a [complete sample project](https://github.com/Azure-Samples/communication-services-calling-ui-with-chat-android) from GitHub.
19
19
20
-
:::image type="content" source="../../media/call-chat-android-experience.gif" alt-text="animation to showcase the experience on Android using call and chat in the same app.":::
20
+
:::image type="content" source="../../media/call-chat-android-experience.gif" alt-text="Animation to showcase the experience on Android using call and chat in the same app.":::
21
21
22
22
## Set up the project
23
23
24
-
Complete the following sections to set up the quickstart project.
25
-
26
-
### Create a new Android project
27
-
28
24
In Android Studio, create a new project:
29
25
30
-
1.In the **File** menu, select **New** > **New Project**.
26
+
1.On the **File** menu, select **New** > **New Project**.
31
27
32
28
1. In **New Project**, select the **Empty Activity** project template.
33
29
34
30
:::image type="content" source="../../media/composite-android-new-project.png" alt-text="Screenshot that shows the New Project dialog in Android Studio with Empty Activity selected.":::
35
31
36
32
1. Select **Next**.
37
33
38
-
1. In **Empty Activity**, name the project **UILibraryQuickStart**. For language, select **Java/Kotlin**. For the minimum SDK, select **API 26: Android 8.0 (Oreo)** or later.
34
+
1. In **Empty Activity**, name the project **UILibraryQuickStart**. For language, select **Java** or **Kotlin**. For the minimum SDK, select **API 26: Android 8.0 (Oreo)** or later.
39
35
40
36
1. Select **Finish**.
41
37
42
-
:::image type="content" source="../../media/composite-android-new-project-finish.png" alt-text="Screenshot that shows new project options and the Finish button selected.":::
38
+
:::image type="content" source="../../media/composite-android-new-project-finish.png" alt-text="Screenshot that shows new project options and the Finish button.":::
43
39
44
40
## Install the packages
45
41
46
42
Complete the following sections to install the required application packages.
47
43
48
44
### Add a dependency
49
45
50
-
In your app-level *UILibraryQuickStart/app/build.gradle* file (in the app folder), add the following dependency:
46
+
In your app-level *UILibraryQuickStart/app/build.gradle* file, add the following dependency:
51
47
52
48
```groovy
53
49
dependencies {
@@ -57,7 +53,8 @@ dependencies {
57
53
...
58
54
}
59
55
```
60
-
Add META-INF exclusion to the *UILibraryQuickStart/app/build.gradle*`android` section
56
+
57
+
Add a `META-INF` exclusion to the *UILibraryQuickStart/app/build.gradle*`android` section:
61
58
62
59
```groovy
63
60
packaging {
@@ -67,9 +64,9 @@ packaging {
67
64
68
65
### Add Maven repositories
69
66
70
-
Two Maven repositories are required to integrate the library:
67
+
You need two Maven repositories to integrate the library:
71
68
72
-
-MavenCentral
69
+
-The `mavenCentral` repository
73
70
- The Azure package repository
74
71
75
72
```groovy
@@ -83,15 +80,13 @@ Two Maven repositories are required to integrate the library:
83
80
}
84
81
```
85
82
83
+
## Connect to the Teams meeting with calling and chat
86
84
87
-
## Connect to the Teams Meeting with Calling and Chat
85
+
You use `CallComposite` to connect to the call. After a user is admitted to the call, `CallComposite` notifies you by changing the status to `connected`. Then the user can be connected to the chat thread.
88
86
89
-
- First we will use CallComposite to connect to the call
90
-
- Once user is admitted to the call, CallComposite will notify us by changing status to `connected`
91
-
- Then user can be connected to the chat thread
92
-
- When user clicks `Chat button`, a custom button added to the CallComposite, CallComposite will be minimized and Chat is displayed
87
+
When the user selects the **Chat** button, a custom button is added to `CallComposite`. `CallComposite` is minimized, and **Chat** appears in Teams.
93
88
94
-
## Add button and chat container view to Activity_main.xml
89
+
## Add a button and chat container view to Activity_main.xml
95
90
96
91
In the *app/src/main/res/layout/activity_main.xml* layout file, add the following code to create a button to start the composite:
97
92
@@ -134,27 +129,27 @@ In the *app/src/main/res/layout/activity_main.xml* layout file, add the followin
- Download an icon from [here](https://github.com/microsoft/fluentui-system-icons/blob/master/android/library/src/main/res/drawable/ic_fluent_chat_24_regular.xml).
140
-
- Save it to the *UILibraryQuickStart/app/src/main/res/drawable*
141
-
- Open it and change `android:fillColor` to the `@color/white`
134
+
1. Download an icon from the [GitHub repository](https://github.com/microsoft/fluentui-system-icons/blob/master/android/library/src/main/res/drawable/ic_fluent_chat_24_regular.xml).
135
+
1. Save the icon to *UILibraryQuickStart/app/src/main/res/drawable*.
136
+
1. Open the icon and change `android:fillColor` to `@color/white`.
142
137
143
-
## Initialize the composites
138
+
## Initialize the composite
144
139
145
-
To initialize the Call composite:
140
+
To initialize the call composite, go to `MainActivity` and update connection settings:
146
141
147
-
- Go to `MainActivity` and update connection settings:
148
-
- Replace `TEAM_MEETING_LINK` with the Teams meeting link.
149
-
- Replace `ACS_ENDPOINT` with your ACS resource's endpoint.
150
-
- Replace `DISPLAY_NAME` with your name.
151
-
- Replace `USER_ID` with ACS user ID.
152
-
- Replace `USER_ACCESS_TOKEN` with your token.
142
+
- Replace `TEAM_MEETING_LINK` with the Teams meeting link.
143
+
- Replace `ACS_ENDPOINT` with your Azure Communication Services resource's endpoint.
144
+
- Replace `DISPLAY_NAME` with your name.
145
+
- Replace `USER_ID` with your Azure Communication Services user ID.
146
+
- Replace `USER_ACCESS_TOKEN` with your token.
153
147
154
-
### Get a Teams meeting chat thread for a Communication Services user
155
-
The Teams meeting details can be retrieved using Graph APIs, detailed in [Graph documentation]()(/graph/api/onlinemeeting-createorget). The Communication Services Calling SDK accepts a full Teams meeting link or a meeting ID. They're returned as part of the `onlineMeeting` resource, accessible under the [joinWebUrl](/graph/api/resources/onlineMeeting) property
148
+
### Get a Teams meeting chat thread for an Azure Communication Services user
156
149
157
-
With the Graph APIs, you can also obtain the threadID. The response has a chatInfo object that contains the threadID.
150
+
You can retrieve Teams meeting details by using Graph APIs, as described in the [Graph documentation](/graph/api/onlinemeeting-createorget). The Azure Communication Services Calling SDK accepts a full Teams meeting link or a meeting ID. They're returned as part of the `onlineMeeting` resource, which is accessible under the [joinWebUrl](/graph/api/resources/onlineMeeting) property.
151
+
152
+
With the Graph APIs, you can also obtain the `threadID` value. The response has a `chatInfo` object that contains the `threadID` value.
158
153
159
154
#### [Kotlin](#tab/kotlin)
160
155
@@ -234,8 +229,8 @@ class MainActivity : AppCompatActivity() {
0 commit comments