Uno.Samples
Uno.Samples copied to clipboard
[UI/ChatSignalR][Wasm] Freezes on an image when deploying
You get to this image, and then it stays frozen.
It might be related to these errors in the output:
fail: Microsoft.UI.Xaml.BrushTransition[0]
The member BrushTransition.BrushTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.BrushTransition.BrushTransition.BrushTransition%28%29
fail: Microsoft.UI.Xaml.BrushTransition[0]
The member TimeSpan BrushTransition.Duration is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.BrushTransition.TimeSpan%20BrushTransition.Duration
fail: Microsoft.UI.Xaml.Controls.ContentPresenter[0]
The member BrushTransition ContentPresenter.BackgroundTransition is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.ContentPresenter.BrushTransition%20ContentPresenter.BackgroundTransition
fail: Microsoft.UI.Xaml.Controls.CommandBarFlyout[0]
The member CommandBarFlyout.CommandBarFlyout() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.CommandBarFlyout.CommandBarFlyout.CommandBarFlyout%28%29
fail: Microsoft.UI.Xaml.Controls.TextCommandBarFlyout[0]
The member TextCommandBarFlyout.TextCommandBarFlyout() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.TextCommandBarFlyout.TextCommandBarFlyout.TextCommandBarFlyout%28%29
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.TextBox]
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.TextBox]
fail: Microsoft.UI.Xaml.Media.Animation.AddDeleteThemeTransition[0]
The member AddDeleteThemeTransition.AddDeleteThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.AddDeleteThemeTransition.AddDeleteThemeTransition.AddDeleteThemeTransition%28%29
fail: Microsoft.UI.Xaml.Media.Animation.ContentThemeTransition[0]
The member ContentThemeTransition.ContentThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.ContentThemeTransition.ContentThemeTransition.ContentThemeTransition%28%29
fail: Microsoft.UI.Xaml.Media.Animation.ReorderThemeTransition[0]
The member ReorderThemeTransition.ReorderThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.ReorderThemeTransition.ReorderThemeTransition.ReorderThemeTransition%28%29
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.ListView]
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.ListView]
fail: Uno.UI.Dispatching.CoreDispatcher[0]
Dispatcher unhandled exception
System.InvalidOperationException: Failed to load UnoChat.MainPage: System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Threading.Thread.ThrowIfNoThreadStart(Boolean internalThread) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 176
at System.Threading.Thread.Start(Object parameter, Boolean captureContext, Boolean internalThread) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 205
at System.Threading.Thread.Start(Object parameter) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 187
at System.Reactive.Concurrency.ConcurrencyAbstractionLayerImpl.StartThread(Action`1 action, Object state)
at System.Reactive.Concurrency.DefaultScheduler.LongRunning.LongScheduledWorkItem`1[[System.Threading.CancellationToken, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(CancellationToken state, Action`2 action)
at System.Reactive.Concurrency.DefaultScheduler.LongRunning.ScheduleLongRunning[CancellationToken](CancellationToken state, Action`2 action)
at System.Reactive.Linq.ObservableImpl.Delay`1.Base`1.L[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].ScheduleDrain()
at System.Reactive.Linq.ObservableImpl.Delay`1.Relative.L[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RunCore(Relative parent)
at System.Reactive.Linq.ObservableImpl.Delay`1.Base`1._[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].Run(Relative parent)
at System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(_ sink)
at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Base`1._[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].SubscribeRaw(IObserver`1 observer, Boolean enableSafeguard)
at System.ObservableExtensions.SubscribeSafe[Model](IObservable`1 source, IObserver`1 observer)
at System.Reactive.Sink`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(IObservable`1 source)
at System.Reactive.Concurrency.ObserveOn`1.Scheduler[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(ObserveOnObserverNew`1 sink)
at System.Reactive.Producer`2.<>c[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].<SubscribeRaw>b__1_0(ValueTuple`2 tuple)
at System.Reactive.Concurrency.Scheduler.<>c__75`1[[System.ValueTuple`2[[System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<ScheduleAction>b__75_0(IScheduler _, ValueTuple`2 tuple)
at System.Reactive.Concurrency.CurrentThreadScheduler.Schedule[ValueTuple`2](ValueTuple`2 state, TimeSpan dueTime, Func`3 action)
at System.Reactive.Concurrency.LocalScheduler.Schedule[ValueTuple`2](ValueTuple`2 state, Func`3 action)
at System.Reactive.Concurrency.Scheduler.ScheduleAction[ValueTuple`2](IScheduler scheduler, ValueTuple`2 state, Action`1 action)
at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].SubscribeRaw(IObserver`1 observer, Boolean enableSafeguard)
at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].Subscribe(IObserver`1 observer)
at UnoChat.Client.ViewModel.ShouldSendModelsAddedToAllMessagesToMessageObserver(IObserver`1 messageObserver) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\ViewModel.cs:line 212
at UnoChat.Client.ViewModel.Activate(IObservable`1 messageToSendBoxReturn, IObserver`1 themeObserver, IObserver`1 messageObserver) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\ViewModel.cs:line 227
at UnoChat.MainPage.OnNavigatedTo(NavigationEventArgs e) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\MainPage.xaml.cs:line 54
at Microsoft.UI.Xaml.Controls.Frame.InnerNavigate(PageStackEntry entry, NavigationMode mode) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 283
at UnoChat.App.OnNavigationFailed(Object sender, NavigationFailedEventArgs e) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\App.xaml.cs:line 98
at Microsoft.UI.Xaml.Controls.Frame.InnerNavigate(PageStackEntry entry, NavigationMode mode) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 300
at Microsoft.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType, Object parameter, NavigationTransitionInfo infoOverride) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 276
at Microsoft.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType, Object parameter) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 271
at UnoChat.App.OnLaunched(LaunchActivatedEventArgs args) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\App.xaml.cs:line 84
at Microsoft.UI.Xaml.Application.Initialize() in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Application.wasm.cs:line 139
at Uno.UI.Dispatching.CoreDispatcher.InvokeOperationSafe(UIAsyncOperation operation) in /home/vsts/work/1/s/src/Uno.UI.Dispatching/Core/CoreDispatcher.cs:line 343
fail: Uno.UI.RemoteControl.RemoteControlClient[0]
Sending message: Uno.UI.RemoteControl.Messages.ProcessorsDiscovery ProcessorsDiscovery
fail: Uno.UI.RemoteControl.RemoteControlClient[0]
There's also several time this erro message: fail: Uno.UI.RemoteControl.RemoteControlClient[0]
It's probably related to #417
It is indeed another deadlock for an issue similar to this: https://github.com/unoplatform/uno/issues/13370
To be exact, this is caused by the Delay Here (this is in the ViewModel):
return Observable
.FromEvent<NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs>(
handler => (s, e) => handler(e),
handler => _allMessages.CollectionChanged += handler,
handler => _allMessages.CollectionChanged -= handler)
.Where(args => args.Action == NotifyCollectionChangedAction.Add)
.Select(args => args.NewItems.OfType<Message.Model>().FirstOrDefault())
.Where(model => model != null)
//// PROBLEMATIC LINE FOR WASM
.Delay(TimeSpan.FromMilliseconds(10), Schedulers.Default) // Wait for the list view to have been updated
////
.ObserveOn(Schedulers.Dispatcher)
.Subscribe(messageObserver);