Radzenchat always eats first key press after sending first message

I’ve been trying to use the new RadzenChat.component

For a simple test, I create a brand new blazor site, add radzen components, copy the sample from the https://blazor.radzen.com/chat#events example into a new blazor page.

It works fine when I type in the first message and hit enter.

but after the first input, it always eats the first character of the next inputs from then onwards. I have to type the starting character twice to get it to show up correctly.

for example, I try to type asdf, but it eats the first ‘a’, so it comes out as sdf.

using Radzen
@using Radzen.Blazor
@inherits ComponentBase

<RadzenStack class="rz-p-0 rz-p-md-12">
    <RadzenCard class="rz-p-4" Variant="Variant.Outlined">
        <RadzenStack Orientation="Orientation.Vertical" Gap="0.5rem">
            <RadzenLabel Text="Event Testing Controls" />
            <RadzenStack Orientation="Orientation.Horizontal" Wrap="FlexWrap.Wrap" Gap="0.5rem">
                <RadzenButton Text="Send Message"
                              Icon="send"
                              Click="@(() => eventsChat?.SendMessage("Testing message events!"))"
                              Variant="Variant.Flat" />

                <RadzenButton Text="Add User"
                              Icon="person_add"
                              Click="@OnAddUser"
                              Variant="Variant.Flat" />

                <RadzenButton Text="Remove User"
                              Icon="person_remove"
                              Click="@OnRemoveUser"
                              Variant="Variant.Flat" />

                <RadzenButton Text="Clear Chat"
                              Icon="delete_history"
                              ButtonStyle="ButtonStyle.Light"
                              Click="@(() => eventsChat?.ClearChat())"
                              Variant="Variant.Flat" />
            </RadzenStack>
        </RadzenStack>
    </RadzenCard>
    <RadzenChat @ref="eventsChat"
                Title="Events Demo"
                CurrentUserId="@currentUserId"
                Users="@users"
                Messages="@messages"
                MessagesChanged="@OnMessagesChanged"
                Placeholder="Type a message to test events..."
                Style="height: 500px;"
                MessageAdded="@OnMessageAdded"
                MessageSent="@OnMessageSent"
                UserAdded="@OnUserAdded"
                UserRemoved="@OnUserRemoved"
                ChatCleared="@OnChatCleared" />
</RadzenStack>


@code {
    RadzenChat eventsChat;

    private string currentUserId = "user1";
    private List<ChatUser> users = new();
    private List<ChatMessage> messages = new();
    private Random random = new();

    protected override void OnInitialized()
    {
        // Initialize users
        users.AddRange(new[]
        {
            new ChatUser { Id = "user1", Name = "John Doe", Color = "#1976d2" },
            new ChatUser { Id = "user2", Name = "Jane Smith", Color = "#388e3c" },
            new ChatUser { Id = "user3", Name = "Bob Johnson", Color = "#f57c00" }
        });

        // Add some sample messages
        messages.AddRange(new[]
        {
            new ChatMessage { Content = "Welcome to the events demo! 🎉", UserId = "user1", Timestamp = DateTime.Now.AddMinutes(-30) },
            new ChatMessage { Content = "This chat demonstrates all the available events.", UserId = "user2", Timestamp = DateTime.Now.AddMinutes(-29) },
            new ChatMessage { Content = "Try the buttons above to see events in action!", UserId = "user3", Timestamp = DateTime.Now.AddMinutes(-28) }
        });
    }

    private void OnAddUser()
    {
        var names = new[] { "Emma Davis", "Michael Garcia", "Sarah Martinez", "David Rodriguez", "Lisa Anderson" };
        var colors = new[] { "#1976d2", "#388e3c", "#f57c00", "#7b1fa2", "#d32f2f", "#0288d1", "#689f38", "#ffa000" };

        var newUser = new ChatUser
        {
            Id = Guid.NewGuid().ToString(),
            Name = names[random.Next(names.Length)],
            Color = colors[random.Next(colors.Length)]
        };

        users.Add(newUser);
        StateHasChanged();
    }

    private void OnRemoveUser()
    {
        if (users.Count > 1)
        {
            users.RemoveAt(users.Count - 1);
            StateHasChanged();
        }
    }

    void OnMessageAdded(ChatMessage message)
    {
        var participant = users.FirstOrDefault(p => p.Id == message.UserId);
        var participantName = participant?.Name ?? "Unknown";
        Console.WriteLine($"MessageAdded: {participantName} - {message.Content.Substring(0, Math.Min(50, message.Content.Length))}...",
                   message.UserId == currentUserId ? AlertStyle.Info : AlertStyle.Success);
    }

    void OnMessageSent(ChatMessage message)
    {
        Console.WriteLine($"MessageSent: {message.Content}", AlertStyle.Info);
    }

    void OnUserAdded(ChatUser participant)
    {
        Console.WriteLine($"UserAdded: {participant.Name} (ID: {participant.Id})", AlertStyle.Success);
    }

    void OnUserRemoved(ChatUser participant)
    {
        Console.WriteLine($"UserRemoved: {participant.Name} (ID: {participant.Id})", AlertStyle.Warning);
    }

    void OnChatCleared()
    {
        Console.WriteLine("ChatCleared: All messages have been removed", AlertStyle.Warning);
    }

    void OnMessagesChanged(IEnumerable<ChatMessage> newMessages)
    {
        messages = newMessages.ToList();
        StateHasChanged();
    }
}

Thanks! Fixed and will be released later today!