You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Applies the actionable findings from the multi-model reviews of BlazorWebView.AppType:
- Failure latch: set _appTypeRendered only after a successful render so a render
failure no longer permanently latches a blank host page; a reconnect retries.
- Symmetric setter: clearing AppType now restores the synthetic HostPage and resets
the rendered state instead of leaving the view claiming a page it no longer serves.
- Unique mount ids: each non-HeadOutlet interactive root gets a unique element id
(app, app-1, ...) so a host document with multiple interactive boundaries no longer
emits duplicate #app ids that collide on a single querySelector target.
- Remove the dead MapAppType mapper entry + public method (MapHostPage/MapRootComponents
already drive startup); drops it from the public API surface.
- Trimming: keep a narrowly-scoped IL2072 suppression with an accurate justification.
AppType is set via XAML reflection so it cannot carry a DynamicallyAccessedMembers
annotation (that produces IL2111/IL2114); the component type is preserved by the XAML
compiler and the Razor SDK trimming roots.
- Manifest: correct the misleading 'readers complete synchronously' comment (Windows
StorageFile is async), narrow the catch to IO/Json/NotImplemented/UnauthorizedAccess
and log a corrupt manifest, and cache the immutable manifest for the process lifetime.
- Stable LastModified on the in-memory host page IFileInfo.
- MSBuild: warn when static web asset endpoints exist but zero fingerprinted entries are
extracted (guards against a silent empty manifest), and guard the output directory.
- Add unit tests for the manifest parser and the file provider, including the
null-host-page fall-through (silent blank page) path.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2ca68fe1-bef6-46a6-a0fd-17b7654cef34
Justification="Blazor components referenced by AppType are preserved by the Razor SDK trimming roots, consistent with RootComponent.ComponentType.")]
221
+
Justification="AppType is set via XAML reflection so it cannot carry a DynamicallyAccessedMembers annotation; the component type is preserved by the XAML compiler ({x:Type}) and the Razor SDK trimming roots.")]
0 commit comments