Skip to content

[Bug] Shadow StyleClass not applied to Border after successful Hot Reload on Mac Catalyst #34166

@davidortinau

Description

@davidortinau

Description

Adding a Shadow style class to a Border control via C# Hot Reload succeeds at the ENC level (delta applied, MetadataUpdateHandler fires) but the shadow does not render visually. Other property changes to the same Border (e.g., .Background(Colors.Red)) applied via Hot Reload in the same session render correctly.

Steps to Reproduce

  1. Create a .NET MAUI app using MauiReactor targeting net10.0-maccatalyst
  2. Add a Border control wrapping some content
  3. Start debugging (F5, Debug config)
  4. Edit the source to add .Class(Bs.Shadow) to the Border (where Bs.Shadow applies a Shadow via StyleClass)
  5. Trigger Hot Reload (save file)

Before:

                ).Class(Bs.Card),

After:

                ).Class(Bs.Card).Class(Bs.Shadow),

Expected Behavior

The Border should render with a shadow after Hot Reload applies the change.

Actual Behavior

No shadow appears. The ENC engine reports success, the app-side MetadataUpdateHandler fires (confirmed via heartbeat endpoint with update counter advancing), but the shadow is not rendered.

In the same session, changing .Background(Colors.Red) on the same Border did render correctly via Hot Reload, confirming the reload pipeline is functional.

Hot Reload Evidence

  • Session.log: Module update: capabilities=[Baseline] — delta applied successfully
  • Heartbeat: Update counter advanced from 1 to 2 — app received the delta
  • MetadataUpdateHandler: Fired (confirmed via HotReloadSentinel diagnostics)
  • Artifact diff: ThemesPage.2.2.old.cs / ThemesPage.2.2.new.cs — single line change adding .Class(Bs.Shadow)

Version Info

  • .NET SDK: 10.0.100-preview.3
  • MAUI: 10.0.31
  • MauiReactor: 4.x
  • Platform: Mac Catalyst (net10.0-maccatalyst)
  • IDE: VS Code Insiders with C# Dev Kit
  • Diagnostics: HotReloadSentinel 0.1.0

Additional Context

This was captured using HotReloadSentinel, which monitors Session.log, polls an app-side heartbeat endpoint, and records per-change developer confirmations. The three-layer diagnostic confirms:

Layer Status
IDE (Session.log) Delta emitted successfully
App (heartbeat) Update counter advanced, handler fired
Developer (visual) Shadow did NOT render

This suggests the issue is in how Shadow/StyleClass changes are applied to Border's native handler during a hot reload update, not in the hot reload transport itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions