Skip to content

Commit 59b23a3

Browse files
Add support for read receipt and typing indicator (#52415)
* add support for read receipt and typing indicator * generate with latest typespec api commit * regenerate * Update CHANGELOG.md * regenerate tspCodeModel * update commit hash to latest in main branch * Update assets.json * Update assets.json * run 'eng\scripts\Export-API.ps1 communication' * mark as ready for release
1 parent 9400ca1 commit 59b23a3

14 files changed

+2597
-1475
lines changed

sdk/communication/Azure.Communication.Messages/CHANGELOG.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
# Release History
22

3-
## 1.3.0-beta.2 (Unreleased)
3+
## 1.3.0-beta.2 (2025-10-01)
44

55
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
11-
### Other Changes
6+
- Add support for read receipt and typing indicator.
127

138
## 1.3.0-beta.1 (2025-04-14)
149

sdk/communication/Azure.Communication.Messages/api/Azure.Communication.Messages.net8.0.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,14 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer
158158
}
159159
public partial class CommunicationMessagesClientOptions : Azure.Core.ClientOptions
160160
{
161-
public CommunicationMessagesClientOptions(Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion version = Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion.V2025_04_01_Preview) { }
161+
public CommunicationMessagesClientOptions(Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion version = Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion.V2025_09_01_Preview) { }
162162
public enum ServiceVersion
163163
{
164164
V2024_02_01 = 1,
165165
V2024_08_30 = 2,
166166
V2025_01_15_Preview = 3,
167167
V2025_04_01_Preview = 4,
168+
V2025_09_01_Preview = 5,
168169
}
169170
}
170171
public static partial class CommunicationMessagesModelFactory
@@ -197,6 +198,7 @@ public static partial class CommunicationMessagesModelFactory
197198
public static Azure.Communication.Messages.MessageTemplateVideo MessageTemplateVideo(string name = null, System.Uri uri = null, string caption = null, string fileName = null) { throw null; }
198199
public static Azure.Communication.Messages.NotificationContent NotificationContent(System.Guid channelRegistrationId = default(System.Guid), System.Collections.Generic.IEnumerable<string> to = null, string kind = null) { throw null; }
199200
public static Azure.Communication.Messages.ReactionNotificationContent ReactionNotificationContent(System.Guid channelRegistrationId = default(System.Guid), System.Collections.Generic.IEnumerable<string> to = null, string emoji = null, string messageId = null) { throw null; }
201+
public static Azure.Communication.Messages.ReadReceiptContent ReadReceiptContent(string messageId = null, System.Guid channelRegistrationId = default(System.Guid), bool? typingIndicator = default(bool?)) { throw null; }
200202
public static Azure.Communication.Messages.RemoveParticipantsResult RemoveParticipantsResult(System.Collections.Generic.IEnumerable<Azure.Communication.Messages.UpdateParticipantsResult> invalidParticipants = null) { throw null; }
201203
public static Azure.Communication.Messages.SendConversationMessageOptions SendConversationMessageOptions(Azure.Communication.Messages.ConversationMessageContent request = null, Azure.Communication.Messages.OutboundDeliveryStrategyKind? outboundDeliveryStrategy = default(Azure.Communication.Messages.OutboundDeliveryStrategyKind?)) { throw null; }
202204
public static Azure.Communication.Messages.SendConversationMessageResult SendConversationMessageResult(string messageId = null) { throw null; }
@@ -715,6 +717,10 @@ public NotificationMessagesClient(System.Uri endpoint, Azure.Core.TokenCredentia
715717
public virtual Azure.Response Send(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
716718
public virtual System.Threading.Tasks.Task<Azure.Response<Azure.Communication.Messages.SendMessageResult>> SendAsync(Azure.Communication.Messages.NotificationContent notificationContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
717719
public virtual System.Threading.Tasks.Task<Azure.Response> SendAsync(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
720+
public virtual Azure.Response SendReadReceipt(Azure.Communication.Messages.ReadReceiptContent readReceiptContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
721+
public virtual Azure.Response SendReadReceipt(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
722+
public virtual System.Threading.Tasks.Task<Azure.Response> SendReadReceiptAsync(Azure.Communication.Messages.ReadReceiptContent readReceiptContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
723+
public virtual System.Threading.Tasks.Task<Azure.Response> SendReadReceiptAsync(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
718724
}
719725
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
720726
public readonly partial struct OutboundDeliveryStrategyKind : System.IEquatable<Azure.Communication.Messages.OutboundDeliveryStrategyKind>
@@ -746,6 +752,19 @@ protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter write
746752
string System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReactionNotificationContent>.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
747753
System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReactionNotificationContent>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
748754
}
755+
public partial class ReadReceiptContent : System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>, System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>
756+
{
757+
public ReadReceiptContent(string messageId, System.Guid channelRegistrationId) { }
758+
public System.Guid ChannelRegistrationId { get { throw null; } }
759+
public string MessageId { get { throw null; } }
760+
public bool? TypingIndicator { get { throw null; } set { } }
761+
protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { }
762+
Azure.Communication.Messages.ReadReceiptContent System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
763+
void System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { }
764+
Azure.Communication.Messages.ReadReceiptContent System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
765+
string System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
766+
System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
767+
}
749768
public partial class RemoveParticipantsOptions : System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.RemoveParticipantsOptions>, System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.RemoveParticipantsOptions>
750769
{
751770
public RemoveParticipantsOptions(System.Collections.Generic.IEnumerable<string> participantIds) { }

sdk/communication/Azure.Communication.Messages/api/Azure.Communication.Messages.netstandard2.0.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,14 @@ protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer
158158
}
159159
public partial class CommunicationMessagesClientOptions : Azure.Core.ClientOptions
160160
{
161-
public CommunicationMessagesClientOptions(Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion version = Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion.V2025_04_01_Preview) { }
161+
public CommunicationMessagesClientOptions(Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion version = Azure.Communication.Messages.CommunicationMessagesClientOptions.ServiceVersion.V2025_09_01_Preview) { }
162162
public enum ServiceVersion
163163
{
164164
V2024_02_01 = 1,
165165
V2024_08_30 = 2,
166166
V2025_01_15_Preview = 3,
167167
V2025_04_01_Preview = 4,
168+
V2025_09_01_Preview = 5,
168169
}
169170
}
170171
public static partial class CommunicationMessagesModelFactory
@@ -197,6 +198,7 @@ public static partial class CommunicationMessagesModelFactory
197198
public static Azure.Communication.Messages.MessageTemplateVideo MessageTemplateVideo(string name = null, System.Uri uri = null, string caption = null, string fileName = null) { throw null; }
198199
public static Azure.Communication.Messages.NotificationContent NotificationContent(System.Guid channelRegistrationId = default(System.Guid), System.Collections.Generic.IEnumerable<string> to = null, string kind = null) { throw null; }
199200
public static Azure.Communication.Messages.ReactionNotificationContent ReactionNotificationContent(System.Guid channelRegistrationId = default(System.Guid), System.Collections.Generic.IEnumerable<string> to = null, string emoji = null, string messageId = null) { throw null; }
201+
public static Azure.Communication.Messages.ReadReceiptContent ReadReceiptContent(string messageId = null, System.Guid channelRegistrationId = default(System.Guid), bool? typingIndicator = default(bool?)) { throw null; }
200202
public static Azure.Communication.Messages.RemoveParticipantsResult RemoveParticipantsResult(System.Collections.Generic.IEnumerable<Azure.Communication.Messages.UpdateParticipantsResult> invalidParticipants = null) { throw null; }
201203
public static Azure.Communication.Messages.SendConversationMessageOptions SendConversationMessageOptions(Azure.Communication.Messages.ConversationMessageContent request = null, Azure.Communication.Messages.OutboundDeliveryStrategyKind? outboundDeliveryStrategy = default(Azure.Communication.Messages.OutboundDeliveryStrategyKind?)) { throw null; }
202204
public static Azure.Communication.Messages.SendConversationMessageResult SendConversationMessageResult(string messageId = null) { throw null; }
@@ -715,6 +717,10 @@ public NotificationMessagesClient(System.Uri endpoint, Azure.Core.TokenCredentia
715717
public virtual Azure.Response Send(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
716718
public virtual System.Threading.Tasks.Task<Azure.Response<Azure.Communication.Messages.SendMessageResult>> SendAsync(Azure.Communication.Messages.NotificationContent notificationContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
717719
public virtual System.Threading.Tasks.Task<Azure.Response> SendAsync(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
720+
public virtual Azure.Response SendReadReceipt(Azure.Communication.Messages.ReadReceiptContent readReceiptContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
721+
public virtual Azure.Response SendReadReceipt(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
722+
public virtual System.Threading.Tasks.Task<Azure.Response> SendReadReceiptAsync(Azure.Communication.Messages.ReadReceiptContent readReceiptContent, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
723+
public virtual System.Threading.Tasks.Task<Azure.Response> SendReadReceiptAsync(Azure.Core.RequestContent content, Azure.RequestContext context = null) { throw null; }
718724
}
719725
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
720726
public readonly partial struct OutboundDeliveryStrategyKind : System.IEquatable<Azure.Communication.Messages.OutboundDeliveryStrategyKind>
@@ -746,6 +752,19 @@ protected override void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter write
746752
string System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReactionNotificationContent>.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
747753
System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReactionNotificationContent>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
748754
}
755+
public partial class ReadReceiptContent : System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>, System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>
756+
{
757+
public ReadReceiptContent(string messageId, System.Guid channelRegistrationId) { }
758+
public System.Guid ChannelRegistrationId { get { throw null; } }
759+
public string MessageId { get { throw null; } }
760+
public bool? TypingIndicator { get { throw null; } set { } }
761+
protected virtual void JsonModelWriteCore(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { }
762+
Azure.Communication.Messages.ReadReceiptContent System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>.Create(ref System.Text.Json.Utf8JsonReader reader, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
763+
void System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.ReadReceiptContent>.Write(System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.ModelReaderWriterOptions options) { }
764+
Azure.Communication.Messages.ReadReceiptContent System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.Create(System.BinaryData data, System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
765+
string System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
766+
System.BinaryData System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.ReadReceiptContent>.Write(System.ClientModel.Primitives.ModelReaderWriterOptions options) { throw null; }
767+
}
749768
public partial class RemoveParticipantsOptions : System.ClientModel.Primitives.IJsonModel<Azure.Communication.Messages.RemoveParticipantsOptions>, System.ClientModel.Primitives.IPersistableModel<Azure.Communication.Messages.RemoveParticipantsOptions>
750769
{
751770
public RemoveParticipantsOptions(System.Collections.Generic.IEnumerable<string> participantIds) { }

sdk/communication/Azure.Communication.Messages/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "net",
44
"TagPrefix": "net/communication/Azure.Communication.Messages",
5-
"Tag": "net/communication/Azure.Communication.Messages_b18dc81742"
5+
"Tag": "net/communication/Azure.Communication.Messages_c02f64764f"
66
}

sdk/communication/Azure.Communication.Messages/src/Generated/CommunicationMessagesClientOptions.cs

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/communication/Azure.Communication.Messages/src/Generated/CommunicationMessagesModelFactory.cs

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)