Skip to content

AI Management Blazor playground crashes when restored conversation contains null markdown content #25228

@AyazNaseer-Umdasch

Description

@AyazNaseer-Umdasch

Is there an existing issue for this?

  • I have searched the existing issues

Description

After upgrading to ABP 10.2, the AI Management Blazor playground crashes during rendering when a previously saved conversation is restored from browser storage and one of the restored chat messages has null text/markdown content.

The exception is thrown inside Volo.AIManagement.Client.Blazor.Components.ChatClientChat when Markdig.Markdown.ToHtml(...) is called with a null markdown value.

Clearing browser local storage / site data resolves the problem immediately, which suggests the crash is triggered by restored chat history rather than permissions or server startup.

Reproduction Steps

  1. Upgrade an application to ABP 10.2 with AI Management Blazor UI enabled.
  2. Run the Blazor Server application.
  3. Open the AI Management workspace playground.
  4. Have an existing saved conversation/history in browser local storage.
  5. Revisit the playground so the previous conversation is restored automatically.
  6. The page crashes during rendering with a null markdown exception.

Expected behavior

The AI Management playground should safely handle restored chat messages that have null or empty text content.

If a restored message has no markdown/text content, the component should render nothing, an empty string, or only the non-text payload without crashing the Blazor circuit.

Actual behavior

The Blazor circuit crashes while rendering the AI Management playground.

Server-side exception:

System.ArgumentNullException: Value cannot be null. (Parameter 'markdown')
at Markdig.Helpers.ThrowHelper.ArgumentNullException_markdown()
at Markdig.Markdown.ToHtml(String markdown, MarkdownPipeline pipeline, MarkdownParserContext context)
at Volo.AIManagement.Client.Blazor.Components.ChatClientChat...
at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(...)

A secondary browser/client-side error appears after the circuit is broken:

Cannot send data if the connection is not in the 'Connected' State.

Regression?

Possibly yes.

The issue started after upgrading our solution to ABP 10.2.

I have not yet verified the same scenario on an earlier ABP version with the same saved browser conversation state.

Known Workarounds

Clear browser local storage / site data for the application origin, then reopen the AI Management playground.

After clearing site data, the playground works normally again.

Version

10.2

User Interface

Blazor Server

Database Provider

EF Core (Default)

Tiered or separate authentication server

None (Default)

Operation System

Windows (Default)

Other information

Additional observations:

  • Permission checks succeed before the crash, so this does not appear to be an authorization issue.
  • The problem seems related to restored conversation history in browser storage.
  • The AI Management chat component appears to restore saved history, and a restored message with null content is likely being passed to Markdig without a null check.
  • The issue may be related to tool-call / MCP / other non-text assistant responses being restored and rendered as markdown.
  • A null/empty guard before markdown rendering in ChatClientChat would likely prevent the crash.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions