dotnet / dotnet/maui

[Epic] Hot Reload Developer Experience Improvements

Open
#35,229 0 comments 0 reactions 0 assignees View on GitHub
Epic partner/hot-reload-xaml proposal/open s/triaged
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.