[Epic] Hot Reload Developer Experience Improvements
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 290
Description
## Summary
Umbrella tracking issue for improving the Hot Reload developer experience in .NET MAUI — making reload observable, hookable, and agent-friendly. Motivated by cross-team discussions on converging to a reliable, predictable Hot Reload inner loop.
## Goals
- Give developers and agents simple, opt-in hooks to respond to hot reload events
- Provide in-app visual feedback so reload success/failure is unambiguous
- Design Hot Reload as a first-class experience for both humans and Copilot/agents driving `dotnet watch`
## Tracked Issues
- [ ] #35278 — Add framework-owned MetadataUpdateHandler for single-page Hot Reload refresh
- [ ] #35227 — Design and implement `IHotReloadAware` interface
- [ ] #35228 — In-app Hot Reload status badge/overlay
- [ ] #35230 — Auto-refresh conventions for MAUI controls on Hot Reload
- [ ] #35435 — Investigate and implement hot reload for Image assets in MAUI
- [ ] https://github.com/dotnet/macios/issues/25408 — Make dotnet watch work for iOS devices
- [ ] #35404 — Hot Reload Test Gauntlet
## Completed Work
`dotnet watch` for .NET MAUI (from #32967):
- [x] https://github.com/dotnet/sdk/issues/52492
- [x] https://github.com/dotnet/sdk/pull/52351
- [x] https://github.com/dotnet/sdk/pull/52367
- [x] https://github.com/dotnet/android/pull/10669
- [x] https://github.com/dotnet/android/pull/10670
- [x] https://github.com/dotnet/sdk/pull/52466
- [x] https://github.com/dotnet/sdk/pull/52664
- [x] https://github.com/dotnet/android/pull/10770
- [x] https://github.com/dotnet/sdk/issues/52473
- [x] https://github.com/dotnet/android/pull/10699
- [x] https://github.com/dotnet/macios/issues/24492
- [x] https://github.com/dotnet/sdk/pull/52581
- [x] https://github.com/dotnet/runtime/pull/123964
- [x] https://github.com/dotnet/sdk/pull/53466
Backports to `release/11.0.1xx-preview4` (from https://github.com/dotnet/sdk/pull/54108):
- [x] https://github.com/dotnet/sdk/issues/53631
- [x] https://github.com/dotnet/sdk/issues/53648
- [x] https://github.com/dotnet/sdk/pull/53675
- [x] https://github.com/dotnet/sdk/pull/54023
- [x] https://github.com/dotnet/sdk/pull/54108
Contributor guide
Research direction
Start by reviewing the tracked issues listed in this epic, especially the interface, status badge, control refresh, image asset, and test gauntlet work. Use those issue descriptions as the entry points; the epic is complete when its tracked Hot Reload improvements are implemented and the listed items can be checked off.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- developer-experience, mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100