| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Claude finished @MartinZikmund's task in 6m 14s —— View job PR Review: refactor!: Rename Uno.UWP project and Uno assembly to Uno.WinRTVerdict: ⚠️ Fix-first — one medium-severity concern to verify before merge; two minor nits. Issues: 1 medium, 2 low What was reviewedThis PR is a large but mechanically cohesive rename: src/Uno.UWP → src/Uno.WinRT, Uno.dll → Uno.WinRT.dll. The non-obvious places the rename must reach are all accounted for in the PR description, and I verified each one:
FindingsMedium — PackageDiff historical IgnoreSets modified (contradicts PR description) The PR says "historical sets are untouched" but the diff replaces Uno.UWP.Resource → Uno.WinRT.Resource in the 4.4.20 and 4.5 IgnoreSets. Those released versions shipped Uno.UWP.Resource; changing the entry shifts suppression from "old type removed" to "new type added". The 6.6 set's new <Assemblies><Member fullName="Uno"> broad ignore may cover the gap — but only if the tool applies IgnoreSets cumulatively when comparing against older baselines. A quick PackageDiff run against the 4.4.20 baseline (or confirmation that the tool is cumulative) would resolve this. Low — CSGenerator.ApplyCompilationOptions rebuilds references on every call Low — ShouldEmitNativeDefines backslash path check (pre-existing) Cross-cutting notes
|
Sorry, something went wrong.
|
@XiaotianNetlift when reviewing it is better to go by individual commits, as one of them is basically moving all the files, which makes the PR huge |
Sorry, something went wrong.
|
⚠️⚠️ The build 226456 has failed on Uno.UI - docs. |
Sorry, something went wrong.
|
The build 226455 found UI Test snapshots differences: skia-linux-screenshots: 74, skia-windows-screenshots: 189 Details
|
Sorry, something went wrong.
|
⚠️⚠️ The build 226455 has failed on Uno.UI - CI. |
Sorry, something went wrong.
|
@copilot doc/articles/migrating-to-uno-7.md:71 MD028/no-blanks-blockquote Blank line inside blockquote |
Sorry, something went wrong.
Head branch was pushed to by a user without write access
|
|
Sorry, something went wrong.
Adds both renames to the 7.0 migration guide, including the duplicate Windows.* type hazard when mixing majors, and records them in the breaking-changes rollup (BC53 name decided, BC77 added). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: MartinZikmund <1075116+MartinZikmund@users.noreply.github.com>
getAssemblyExports() still asked for "Uno", so the browser head threw an unhandled rejection during CoreApplication init and never reached first frame. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Uno.UI.HotDesign is implicitly referenced by every Debug app build, and the Material/Extensions/Toolkit/CSharpMarkup/MVUX features resolve to packages that are all still compiled against the `Uno` assembly, so the generated bindable metadata fails with CS0012. Restore both once 7.0 builds are published. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Aligns the folder with the csproj stem and assembly name, as every other library in the tree does, and drops the historical "UWP" name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Renaming the assembly is a binary break for every library compiled against Uno 6.x — including Uno.UI.HotDesign, which the SDK references implicitly in every Debug build. The folder and project move stands on its own; the assembly identity does not need to follow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Project references, solution files and filters, adjusted output projects, nuspec source paths and the sync generator's project routing. The Uno.WinRT package id is unchanged, so package references keep their name. Matches the sync generator's platform discriminator on the Generated segment: a repository cloned into a folder named "Uno" would otherwise look like the WinRT project to every base path. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Part A no longer changes the assembly, so it produces no user-facing change: drops the migration-guide row and the rollup item (which had also collided with the existing BC77), and records in the spec why the identity split was abandoned. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYaKJ1ff37ukTu1ETjCjVe
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GP2BeVCQzY3sQB7QBv173u
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GP2BeVCQzY3sQB7QBv173u
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GP2BeVCQzY3sQB7QBv173u
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GP2BeVCQzY3sQB7QBv173u
The title read Uno.Foundation, which is a different package that this one depends on. Every other nuspec titles itself after its own id. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk
The project is src/Uno and the assembly is Uno. Historical IgnoreSets keep their Uno.UWP.Resource entries: they record what those baselines shipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk
The rename is deferred behind the first-party upgrade waves, not dropped. Records the measured blast radius and flags that Part B hits the same unresolvable-reference problem. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk
Folder, csprojs and NuGet package now agree on Uno.WinRT. The assembly stays Uno.dll: renaming the identity is sequenced behind the first-party 7.0 upgrade waves, so bin/Uno.WinRT.<variant>/ still emits Uno.dll. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk
Renaming the csprojs moves bin/<ProjectName>/ too, so build outputs relocate while Uno.dll keeps its name. Records that split, the legacy SamplesApp head, and why the folder name helps the sync generator. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk
|
Claude finished @MartinZikmund's task in 2m 2s —— View job PR Review: refactor: Move the Uno.UWP project to Uno.WinRTVerdict: ⚠️ Fix-first — 1 low-severity persistent issue still open; push permission denied again. Issues: 1 low (4 inline comments with suggestions) What was reviewed (nineteenth pass)No new commits since the eighteenth review — this pass was triggered by a PR synchronize event. All previously reviewed sites remain in their verified state. Persistent finding (tenth consecutive pass)Low — BC55/BC74/BC75/BC76 file paths in specs/050-breaking-changes-rollup/spec.md are stale 406c01e4 updated these from src/Uno.UWP/ → src/Uno/; 755e2cbd subsequently moved the folder to src/Uno.WinRT/ without re-updating. A local fix commit (9311dfea) was prepared but could not be pushed — repository permissions denied (remote: Permission to unoplatform/uno.git denied to github-actions[bot]). Four inline code suggestions posted — each can be applied from the GitHub UI with the "Commit suggestion" button:
All src/Uno.WinRT/ paths verified to exist on disk. Cross-cutting notes
|
Sorry, something went wrong.
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-24009/wasm-skia-net9/index.html |
Sorry, something went wrong.
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-24009/docs/index.html |
Sorry, something went wrong.
|
The build 229239 found UI Test snapshots differences: skia-linux-screenshots: 73, skia-windows-screenshots: 192 Details
|
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
GitHub Issue: part of unoplatform/uno-private#2137 (the assembly half lands separately — see below)
PR Type:
🔄 Refactoring (no functional changes, no api changes)
What changed? 🚀
Moves the WinRT project to Uno.WinRT — folder and csprojs only. The assembly is deliberately left alone.
"UWP" predates Uno Platform's WinAppSDK alignment, and this folder was the only library in the tree whose name disagreed with its csprojs (Uno.UWP/Uno.Skia.csproj, against the Uno.Foundation/Uno.Foundation.Skia.csproj pattern). The Uno.WinRT name is not new: it is what the shipping NuGet package and the public docs have always called this layer ("Uno.WinRT is the non-UI layer of Uno Platform" — doc/articles/features/using-winrt.md). Only the folder and the assembly disagreed.
Nothing ships differently. The package, the assembly and every type keep their identity, so PackageDiff sees no delta and consumers need no action. Only the inputs to packing move.
Why the assembly rename is not in this PR
Uno.dll → Uno.WinRT.dll is a different assembly identity, so every binary compiled against Uno 6.x stops resolving — not only those touching a changed API. The Uno.Sdk references Uno.UI.HotDesign implicitly in every Debug app build, which transitively pulls Uno.Toolkit.WinUI and Uno.Themes.WinUI; all of them reference Uno, so template builds fail with CS0012 until those ship 7.0 builds.
That is an ordering problem, not a compatibility one — 7.0 breaks compatibility by design. The rename is therefore sequenced inside the 7.0 preview line rather than deferred to a later major: it is implemented and parked on dev/mazi/winrt-assembly, to merge once Uno.UI.HotDesign has a 7.0 build. Landing the folder here means that follow-up is a one-line AssemblyName change rather than a second folder move.
Full rationale, including the measured blast radius, is in specs/056-assembly-renames/spec.md.
Beyond the obvious find-and-replace
Renaming the csprojs also moves bin/<ProjectName>/, so build outputs relocate even though Uno.dll does not. Splitting that distinction wrong is the easiest mistake here:
Drive-by fixes in the same area
AndroidResgenNamespace stays Uno.UWP deliberately: the generated Uno.UWP.Resource type is public in the mobile head and matches the 6.6 PackageDiff baseline, so renaming it alone would register a removed public type and need a fresh ignore entry, to buy nothing. It moves with the assembly in the follow-up.
PR Checklist ✅
Validation
Local builds use -p:UnoTargetFrameworkOverride=net10.0 because feature/breakingchanges targets .NET 11 and no .NET 11 SDK is installed here.
Not validated locally, left to CI: a full solution build, and specifically Uno.WinAppSDKSyncGenerator and Uno.UI.SourceGenerators.Tests, which are net11-only and cannot be built here at all — both carry path edits from this PR. Also left to CI: the sync-generator regeneration round-trip, packaging/PackageDiff, and runtime tests.
🤖 Generated with Claude Code
https://claude.ai/code/session_011nVqNSZBu7E3FpHxWyPdtk