[Bug] Shadow StyleClass not applied to Border after successful Hot Reload on Mac Catalyst
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 297
Description
## 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:**
```csharp
).Class(Bs.Card),
```
**After:**
```csharp
).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](https://github.com/davidortinau/hotreload-sentinel), 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.
Contributor guide
Assessment
This issue has not been assessed yet.