Conversation
Removes [minimatch](https://github.com/isaacs/minimatch). It's no longer used after updating ancestor dependencies [minimatch](https://github.com/isaacs/minimatch), [puppeteer](https://github.com/puppeteer/puppeteer) and [chromedriver](https://github.com/giggio/node-chromedriver). These dependencies need to be updated together. Removes `minimatch` Updates `puppeteer` from 14.4.1 to 24.37.4 - [Release notes](https://github.com/puppeteer/puppeteer/releases) - [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md) - [Commits](puppeteer/puppeteer@v14.4.1...puppeteer-v24.37.4) Updates `chromedriver` from 102.0.0 to 145.0.4 - [Commits](giggio/node-chromedriver@102.0.0...145.0.4) --- updated-dependencies: - dependency-name: minimatch dependency-version: dependency-type: indirect - dependency-name: puppeteer dependency-version: 24.37.4 dependency-type: direct:production - dependency-name: chromedriver dependency-version: 145.0.4 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
… and non-debugger paths Co-authored-by: spouliot <260465+spouliot@users.noreply.github.com>
test: add unit tests for AssemblyDeltaReload frame shapes in debugger and non-debugger HR paths
…pture Co-authored-by: spouliot <260465+spouliot@users.noreply.github.com>
fix: eliminate race condition in HotReloadAgent.ApplyUpdatedTypes _handlerActions capture
…ngthPrefixedArray Co-authored-by: spouliot <260465+spouliot@users.noreply.github.com>
fix: replace MemoryStream/BinaryWriter with BinaryPrimitives in GetLengthPrefixedArray
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Fixes: #22832 Context: unoplatform/Uno.Gallery#1233 Context: #22676 Build unoplatform/Uno.Gallery#1233 for Android + Native AOT with Uno.Sdk 6.6.0-dev.92 or later: git clone https://github.com/unoplatform/Uno.Gallery.git cd Uno.Gallery git checkout dev/jonpryor/jonp-naot-support sed -i '' 's/"Uno.Sdk": ".*"/"Uno.Sdk": "6.6.0-dev.127"/g' global.json dotnet publish -m:1 -r android-x64 -f net10.0-android -p:TargetFrameworkOverride=net10.0-android \ -bl Uno.Gallery/Uno.Gallery.csproj -p:UseSkiaRendering=true -p:SkiaPublishAot=true \ "-p:ApplicationTitleVendorSuffix= (NAOT)" -p:ApplicationIdVendorSuffix=.naot \ -p:TrimmerSingleWarn=false -p:IsTrimmable=true -p:IsAotCompatible=true -p:_ExtraTrimmerArgs=--verbose \ -p:IlcGenerateMapFile=true -p:IlcGenerateMstatFile=true -p:IlcGenerateDgmlFile=true \ -p:EmitCompilerGeneratedFiles=true -p:CompilerGeneratedFilesOutputPath=`pwd`/_gen adb logcat > log.txt & adb install Uno.Gallery/bin/Release/net10.0-android/android-x64/publish/com.nventive.uno.ui.demo.naot-Signed.apk adb shell am start com.nventive.uno.ui.demo.naot/crc64a57a145253f0f267.MainActivity The app crashes at startup; `log.txt` contains: E JavaInteropRuntime: JavaInteropRuntime.init: error: System.IO.FileNotFoundException: IO_FileNotFound_FileName, Uno.UI.BindingHelper.Android E JavaInteropRuntime: IO_FileName_Name, Uno.UI.BindingHelper.Android E JavaInteropRuntime: at Internal.Runtime.TypeLoaderExceptionHelper.CreateFileNotFoundException(ExceptionStringID, String) + 0x4a E JavaInteropRuntime: at Microsoft.Android.Runtime.ManagedTypeMapping.GetTypeByJniNameHashIndex(Int32) + 0x12 E JavaInteropRuntime: at Microsoft.Android.Runtime.ManagedTypeMapping.TryGetType(String, Type&) + 0x85 E JavaInteropRuntime: at Microsoft.Android.Runtime.ManagedTypeManager.<GetTypesForSimpleReference>d__6.MoveNext() + 0xd1 E JavaInteropRuntime: at Java.Interop.JniRuntime.JniTypeManager.<CreateGetTypesEnumerator>d__28.MoveNext() + 0x103 E JavaInteropRuntime: at Java.Interop.JniRuntime.JniValueManager.<CreatePeerInstance>g__GetTypeAssignableTo|28_0(JniTypeSignature, Type) + 0x54 E JavaInteropRuntime: at Java.Interop.JniRuntime.JniValueManager.CreatePeerInstance(JniObjectReference&, Type, JniObjectReference&, JniObjectReferenceOptions) + 0x69 E JavaInteropRuntime: at Java.Interop.JniRuntime.JniValueManager.CreatePeer(JniObjectReference&, JniObjectReferenceOpti E DOTNET : Unhandled exception. E DOTNET : System.IO.FileNotFoundException: IO_FileNotFound_FileName, Uno.UI.BindingHelper.Android E DOTNET : IO_FileName_Name, Uno.UI.BindingHelper.Android E DOTNET : at Internal.Runtime.TypeLoaderExceptionHelper.CreateFileNotFoundException(ExceptionStringID, String) + 0x4a E DOTNET : at Microsoft.Android.Runtime.ManagedTypeMapping.GetTypeByJniNameHashIndex(Int32) + 0x12 E DOTNET : at Microsoft.Android.Runtime.ManagedTypeMapping.TryGetType(String, Type&) + 0x85 E DOTNET : at Microsoft.Android.Runtime.ManagedTypeManager.<GetTypesForSimpleReference>d__6.MoveNext() + 0xd1 E DOTNET : at Java.Interop.JniRuntime.JniTypeManager.<CreateGetTypesEnumerator>d__28.MoveNext() + 0x103 E DOTNET : at System.Linq.Enumerable.TryGetFirstNonIterator[TSource](IEnumerable`1, Boolean&) + 0x53 E DOTNET : at Java.Interop.ManagedPeer.GetTypeFromSignature(JniRuntime.JniTypeManager, JniTypeSignature, String) + 0x6a E DOTNET : at Java.Interop.ManagedPeer.RegisterNativeMembers(IntPtr jnienv, IntPtr klass, IntPtr n_nativeClass, IntPtr n_methods) + 0x11d E DOTNET : --- End of stack trace from previous location --- E DOTNET : at Java.Interop. E DOTNET : --------- beginning of crash F libc : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 8165 (no.ui.demo.naot), pid 8165 (no.ui.demo.naot) F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F DEBUG : Build fingerprint: 'google/sdk_gphone_x86_64/generic_x86_64:9/PSR1.180720.075/5124027:user/release-keys' F DEBUG : Revision: '0' F DEBUG : ABI: 'x86_64' F DEBUG : pid: 8165, tid: 8165, name: no.ui.demo.naot >>> com.nventive.uno.ui.demo.naot <<< F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- F DEBUG : rax 0000000000000000 rbx 0000000000001fe5 rcx 00007bee94d69b98 rdx 0000000000000006 F DEBUG : r8 00007ffe68c985b0 r9 00007ffe68c985b0 r10 00007ffe68c985b0 r11 0000000000000246 F DEBUG : r12 00007bedf85be38c r13 0000000000000000 r14 0000000000001fe5 r15 00007ffe68c986e8 F DEBUG : rdi 0000000000001fe5 rsi 0000000000001fe5 F DEBUG : rbp 00007ffe68c98730 rsp 00007ffe68c986d8 rip 00007bee94d69b98 F DEBUG : F DEBUG : backtrace: F DEBUG : #00 pc 0000000000026b98 /system/lib64/libc.so (syscall+24) F DEBUG : #1 pc 0000000000029775 /system/lib64/libc.so (abort+101) F DEBUG : #2 pc 0000000002dfc298 /data/app/com.nventive.uno.ui.demo.naot-G-PdZd4xCgJDY9vLPv4UWA==/lib/x86_64/libUno.Gallery.so (offset 0x2d0f000) F DEBUG : #3 pc 000000000363e5db /data/app/com.nventive.uno.ui.demo.naot-G-PdZd4xCgJDY9vLPv4UWA==/lib/x86_64/libUno.Gallery.so (offset 0x2d0f000) F DEBUG : #4 pc 0000000000dc1aff [anon:.bss:00007bedfaaab000] *This used to work*, i.e. the app would launch *without* crashing. The crash was introduced in Uno.Sdk 6.6.0-dev.92, specifically by #22676. The cause of the crash is inconsistencies in the build environment: When the `<BindableTypeLinkerGeneratorTask_v0/>` task is executed, it would eventually resolve the *Android* variant of `Uno.UI.dll`, which can be inferred from diagnostic messages such as: Resolved Assembly reference `System.Runtime.InteropServices.JavaScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a` via `…/uno.winui/6.6.0-dev.464/lib/net10.0-android36.0/Uno.UI.dll`. Note the `net10.0-android36.0` in the path. *Beacuse* `<BindableTypeLinkerGeneratorTask_v0/>` processes `net10.0-android36.0/Uno.UI.dll`, it also resolves it's assembly depenendencies, which includes `Uno.UI.BindingHelper.Android.dll`, resulting in this fragment within `Uno.Bindable.Descriptor.xml`: <assembly fullname="Uno.UI.BindingHelper.Android"> <type fullname="Uno.UI.UnoViewGroup" required="false"> <!-- … --> </type> </assembly> This in turn causes the dotnet/android "managed type map" to contain types from `Uno.UI.BindingHelper.Android.dll`. Meanwhile, when the `IlcCompile` target executes -- which is the target responsible for compiling assemblies into native code under Native AOT -- the diagnostic log contains: Added Item(s): _IlcRootedAssembliesRaw= … Uno.UI AssetType=runtime CopyLocal=true CopyToPublishDirectory=true DestinationSubPath=Uno.UI.dll NuGetPackageId=Uno.WinUI PathInPackage=uno-runtime/net10.0/skia/Uno.UI.dll TrimMode=All which states that it's not using the `net10.0-android36.0` variant, but instead the Skia variant! The `IlcCompile` target *never receives* the `net10.0-android36.0` assembly, and thus cannot retain types within it. Here's the fun bit: `…/uno.winui/6.6.0-dev.464/lib/net10.0-android36.0/Uno.UI.dll` never should have been processed by `<BindableTypeLinkerGeneratorTask_v0/>` in the first place, because the `ReferencePath` parameters specify a different one! Task "BindableTypeLinkerGeneratorTask_v0" (TaskId:287) Task Parameter:AssemblyPath=obj/Release/net10.0-android/android-x64/Uno.Gallery.dll (TaskId:287) Task Parameter:OutputDescriptorPath=obj/Release/net10.0-android/android-x64/Uno.Bindable.Descriptor.xml (TaskId:287) Task Parameter: ReferencePath= … …/Uno.Gallery-packages/uno.winui/6.6.0-dev.464/lib/net10.0/Uno.UI.dll CopyLocal=false ExternallyResolved=true FusionName=Uno.UI, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null HintPath=…/Uno.Gallery-packages/uno.winui/6.6.0-dev.464/buildTransitive/../uno-runtime/../lib/net10.0/Uno.UI.dll NuGetPackageId=Uno.WinUI NuGetPackageVersion=6.6.0-dev.464 NuGetSourceType=Package OriginalItemSpec=…/Uno.Gallery-packages/uno.winui/6.6.0-dev.464/buildTransitive/../uno-runtime/../lib/net10.0/Uno.UI.dll PathInPackage=lib/net10.0/Uno.UI.dll Private=false ReferenceAssembly=…/Uno.Gallery-packages/uno.winui/6.6.0-dev.464/lib/net10.0/Uno.UI.dll ReferenceSourceTarget=ResolveAssemblyReference ResolvedFrom={HintPathFromItem} Version= The crux of the issue is that `<BindableTypeLinkerGeneratorTask_v0/>` was trying to "probe" for assemblies in a list of *directories* controlled by `BindableTypeLinkerGeneratorTask_v0.ReferencePath`, but *it didn't need to probe*, nor should it have probed. Fix this by introducing a new `ReferencePathAssemblyResolver` type which looks for *exact* matches within `ReferencePath` when resolving assemblies. This results in log messages such as: Resolving assembly name `Uno.UI` to path `…/uno.winui/6.6.0-dev.464/lib/net10.0/Uno.UI.dll`. … Resolved Assembly reference `System.Runtime.InteropServices.JavaScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a` via `…/uno.winui/6.6.0-dev.464/lib/net10.0/Uno.UI.dll`. This in turn means that `Uno.Bindable.Descriptor.xml` *no longer* mentions `Uno.UI.BindingHelper.Android`, and thus the app no longer crashes at startup. Notes for posterity: `ReferenncePathAssemblyResolver` cannot inherit from `DefaultAssemblyResolver` because there is no `DefaultAssemblyResolver.Resolve(AssemblyNameReference, ReaderParameters)` method to override. If we only override `Resolve(AssemblyNameReference)`, then "later" we'll see messages such as this in the build log: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Uno.UI, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null' at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters) at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name) at Mono.Cecil.DefaultAssemblyResolver.Resolve(AssemblyNameReference name) at Mono.Cecil.MetadataResolver.Resolve(TypeReference type) at Mono.Cecil.ModuleDefinition.Resolve(TypeReference type) at Mono.Cecil.TypeReference.Resolve() at Uno.UI.Tasks.LinkerHintsGenerator.TypeDefinitionCache.Resolve(TypeReference typeReference) at Uno.UI.Tasks.LinkerHintsGenerator.BindableTypeLinkerGeneratorTask_v0.TryResolveTypeDefinition(TypeDefinitionCache typeCache, TypeReference typeReference) The only way to "fix" the above is to provide an `IAssemblyResolver` to the `TypeReference` upon which we're calling `TypeReference.Resolve()`, and the only way to do *that* is to set `ReaderParameters.AssemblyResolver`, which requires using `IAssemblyResolver.Resolve(AssemblyNameReference, ReaderParameters)`. As `DefaultAssemblyResolver` doesn't allow us to provide `ReaderParameters`, we have to "do it ourselves" and copy the `DefaultAssemblyResolver` caching logic.
…tBrush with downscaled blurring # Conflicts: # src/Uno.UI/UI/Xaml/Media/AcrylicBrush/AcrylicBrush.skia.cs
Agent-Logs-Url: https://github.com/unoplatform/uno/sessions/f6a3450a-9954-46c2-9d3b-b8e56e3e3cc1 Co-authored-by: MartinZikmund <1075116+MartinZikmund@users.noreply.github.com>
…r-to-sdk-props
fix: macos dispatch filepicker calls to main thread
feat: Lazy theme resource evaluation
|
|
|
🤖 Your WebAssembly Skia Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-22989/wasm-skia-net9/index.html |
|
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-22989/docs/index.html |
|
The build 206142 found UI Test snapshots differences: Details
|
|
The build 206142 found UI Test snapshots differences: Details
|
GitHub Issue: closes #
PR Type:
What is the current behavior? 🤔
What is the new behavior? 🚀
PR Checklist ✅
Please check if your PR fulfills the following requirements:
Screenshots Compare Test Runresults.Other information ℹ️