Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VDG] Update to Avalonia 11 #10423

Merged
merged 333 commits into from
Oct 18, 2023
Merged

Conversation

wieslawsoltes
Copy link
Collaborator

@wieslawsoltes wieslawsoltes commented Apr 3, 2023

Debug tools

  • Added F8 to toggle in debug build RendererDiagnostics overlays

Reviews

Avalonia Issues

TODO

DONE

Docs:

Copy link
Collaborator

@MarnixCroes MarnixCroes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't build with Qubes OS 4.1, debian 11 template. (no issues running current master)
Exception type: Tmds.DBus.Protocol.DBusException

Message: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.StatusNotifierWatcher was not provided by any .service files

Stack Trace:    at Tmds.DBus.Protocol.DBusConnection.MyValueTaskSource`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at Tmds.DBus.Protocol.DBusConnection.CallMethodAsync(MessageBuffer message)
   at Tmds.DBus.Protocol.Connection.CallMethodAsync(MessageBuffer message)
   at Avalonia.FreeDesktop.DBusTrayIconImpl.CreateTrayIcon() in /_/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs:line 124
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore() in /_/src/Avalonia.Base/Threading/DispatcherOperation.cs:line 392
   at Avalonia.Threading.DispatcherOperation.Execute() in /_/src/Avalonia.Base/Threading/DispatcherOperation.cs:line 262
   at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job) in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 117
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore() in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 148
   at Avalonia.Threading.Dispatcher.Signaled() in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 128
   at Avalonia.X11.X11PlatformThreading.CheckSignaled() in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 119
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 192
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl) in /_/src/Avalonia.Base/Threading/DispatcherFrame.cs:line 117
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame) in /_/src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs:line 53
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs:line 80
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 122
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 215
   at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c__DisplayClass0_0.<RunAsGuiAsync>b__0() in WalletWasabi.Fluent.Desktop/Program.cs:line 175
   at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon/WasabiAppBuilder.cs:line 67
   at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop/Program.cs:line 155
   at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop/Program.cs:line 64

Inner Exception: 

@wieslawsoltes
Copy link
Collaborator Author

Can't build with Qubes OS 4.1, debian 11 template. (no issues running current master)

Exception type: Tmds.DBus.Protocol.DBusException

Message: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.StatusNotifierWatcher was not provided by any .service files

Stack Trace:    at Tmds.DBus.Protocol.DBusConnection.MyValueTaskSource`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at Tmds.DBus.Protocol.DBusConnection.CallMethodAsync(MessageBuffer message)
   at Tmds.DBus.Protocol.Connection.CallMethodAsync(MessageBuffer message)
   at Avalonia.FreeDesktop.DBusTrayIconImpl.CreateTrayIcon() in /_/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs:line 124
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore() in /_/src/Avalonia.Base/Threading/DispatcherOperation.cs:line 392
   at Avalonia.Threading.DispatcherOperation.Execute() in /_/src/Avalonia.Base/Threading/DispatcherOperation.cs:line 262
   at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job) in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 117
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore() in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 148
   at Avalonia.Threading.Dispatcher.Signaled() in /_/src/Avalonia.Base/Threading/Dispatcher.Queue.cs:line 128
   at Avalonia.X11.X11PlatformThreading.CheckSignaled() in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 119
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 192
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl) in /_/src/Avalonia.Base/Threading/DispatcherFrame.cs:line 117
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame) in /_/src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs:line 53
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs:line 80
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 122
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 215
   at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c__DisplayClass0_0.<RunAsGuiAsync>b__0() in WalletWasabi.Fluent.Desktop/Program.cs:line 175
   at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon/WasabiAppBuilder.cs:line 67
   at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop/Program.cs:line 155
   at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop/Program.cs:line 64

Inner Exception: 

Reported AvaloniaUI/Avalonia#11494

@wieslawsoltes
Copy link
Collaborator Author

@MaxHillebrand

Discrete mode hover does not deactivate in history data grid.

Partially fixed after 72c2bca

Still labels and indicators have some issue

Copy link
Collaborator

@MaxHillebrand MaxHillebrand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested 598daea

now discrete mode hover works.

But when hovering over the discrete mode eye ball in the tx history data grid, the icon disappears and comes back, but it does not reveal the actual non-discrete-mode icon.

@wieslawsoltes
Copy link
Collaborator Author

tested 598daea

now discrete mode hover works.

But when hovering over the discrete mode eye ball in the tx history data grid, the icon disappears and comes back, but it does not reveal the actual non-discrete-mode icon.

For some unknow yet reason same logic does not work for this two columns (indicators and labels). This is probably TDG invalidation issues and for custom cells we have for other columns it works. I did try rewrite invalidation using common styled properties instead observable but did not help. One solution is to migrate to custom cells but those columns are complex. Will try to do some custom invalidation and see if it helps.

@wieslawsoltes
Copy link
Collaborator Author

wieslawsoltes commented Oct 17, 2023

tested 598daea

now discrete mode hover works.

But when hovering over the discrete mode eye ball in the tx history data grid, the icon disappears and comes back, but it does not reveal the actual non-discrete-mode icon.

Pushed fix 8e7d9f2 and 026ccb2

@soosr
Copy link
Collaborator

soosr commented Oct 17, 2023

We discussed this PR and decided to merge. It still has some minor issues which will be fixed in the following PR, but apart from those it is fine to get in. So we can start the work on those items as well that were waiting for V11.

Tomorrow I will do a final testing and hit the merge button.

Copy link
Collaborator

@soosr soosr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK.

I didn't find any critical bugs, but found many minor ones. Opened issues for them.

@MaxHillebrand
Copy link
Collaborator

Woop woop, congrats! 🎉🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants