Hi,
I tried the drag and drop from the drop down list, it is perfect !
What would also be good is to be able to sort them by Name for instance.
I tried to drag a tab beyond the screen, and it scrolls naturally, also great ! thank you
I tried to use the mouse wheel to scroll the tabs, it still jump 1 "page" at a time, instead of smooth scrolling. Is it something you can allow ?
Small notes:
the new interface is great but has a lot of bugs. I get weird error message sometimes, like this:
[image]
InvalidOperationException - The control Devolutions.AvaloniaUI.Desktop.TabGroups.TabGroupsView (Content = Devolutions.AvaloniaUI.Controls.DevoTreeDataGrid`1[Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.TabGroupNodeViewModel] (Name = TabGroupsTreeDataGrid)) already has a visual parent ContentPresenter while trying to add it as a child of ContentPresenter (Name = PART_ContentPresenter, Host = ToolWindow[Title=Tab groups, State=AutoHide]).
at Avalonia.Visual.Avalonia.Collections.IAvaloniaListItemValidator<Avalonia.Visual>.Validate(Visual item)
at Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(Object content)
at Avalonia.Controls.Presenters.ContentPresenter.ContentChanged(AvaloniaPropertyChangedEventArgs e)
at Avalonia.Animation.Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs change)
at Avalonia.PropertyStore.EffectiveValue`1.NotifyValueChanged(ValueStore owner, StyledProperty`1 property, T oldValue)
at Avalonia.PropertyStore.EffectiveValue`1.SetAndRaise(ValueStore owner, IValueEntry value, BindingPriority priority)
at Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(UntypedBindingExpressionBase instance, Boolean hasValueChanged, Boolean hasErrorChanged, Object value, BindingError error)
at Avalonia.Data.TemplateBindingExpression.PublishValue()
at Avalonia.PropertyStore.EffectiveValue`1.NotifyValueChanged(ValueStore owner, StyledProperty`1 property, T oldValue)
at Avalonia.PropertyStore.ValueStore.SetValue[T](StyledProperty`1 property, T value, BindingPriority priority)
at Devolutions.AvaloniaUI.Docking.DockingHostView.RefreshPaneContentOnce(ToolWindow toolWindow)
at Devolutions.AvaloniaUI.Docking.DockingHostView.ConvertActiproAutoHidePopup(ToolWindow toolWindow)
at Avalonia.Threading.DispatcherOperation.InvokeCore()
------------------------ extended stack ------------------------
at Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.ErrorMessageViewModel.LoadParameters(ErrorMessageParameters parameters)
at Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.ErrorMessageViewModel..ctor(ErrorMessageParameters parameters)
at Devolutions.RemoteDesktopManager.Managers.UIManager.<>c__DisplayClass218_0.<ShowErrorMessage>b__0()
at Avalonia.Threading.Dispatcher.Invoke[TResult](Func`1 callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at Avalonia.Threading.Dispatcher.Invoke[TResult](Func`1 callback)
at Devolutions.RemoteDesktopManager.Managers.UIManager.ShowErrorMessage(ConnectionEngine engine, Exception exception, String message, String details, String title, String xml)
at Devolutions.RemoteDesktopManager.Managers.UIManager.ShowErrorMessage(ConnectionEngine engine, Exception exception, String message, String title)
at Devolutions.RemoteDesktopManager.Managers.LogManager.HandleException(Exception exception)
at Devolutions.RemoteDesktopManager.Managers.LogManager.OnThreadException(Object sender, DispatcherUnhandledExceptionEventArgs e)
at Avalonia.Threading.Dispatcher.CatchException(Exception e)
at Avalonia.Threading.Dispatcher.TryCatchWhen(Exception e)
at Avalonia.Threading.DispatcherOperation.InvokeCore()
at Avalonia.Threading.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at Avalonia.Threading.DispatcherOperation.Execute()
at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
at Windows.Win32.PInvoke.DispatchMessage(MSG* lpMsg)
at System.Windows.Forms.Application.LightThreadContext.FPushMessageLoop(msoloop uReason)
at System.Windows.Forms.Application.LightThreadContext.RunMessageLoop(msoloop reason, Boolean fullModal)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, ApplicationContext context)
at System.Windows.Forms.Application.Run()
at Devolutions.RemoteDesktopManager.Program.RunApplication(String[] args)
at Devolutions.RemoteDesktopManager.Program.Main(String[] args)
It happens mainly when I click on the "Tab groups", "Tab list" or "Navigation" on the left:
[image]
Also, with 2026.3.9.0, I can't access my Navigation list anymore, it looks like it goes behind the current remote session window.
However, if I switch to the dashboard, then the navigation list shows on top as it should.
See screenshots:
[image]
It should show this, currently it only does it when Dashboard is selected.
[image]
There is a regression since the new interface (since 2026.3.5): I used to be able to go to "Navigation list" and type directly some text to filter the list. Now I need to click on the 'Filter entries" field before typing the text.