-
-
Notifications
You must be signed in to change notification settings - Fork 228
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When launching from desktop (GNOME) with one instance running, a new instance is created.
To Reproduce
Open one instance from GUI. Close main window, but keep application running in taskbar. Launch another instance from GUI.
Expected behavior
No new instance is created; simply opens the window (or focuses, if already open) for the single running instance.
Screenshots
Will add upon request.
Desktop (please complete the following information):
- OS: Fedora Workstation 42, GNOME, Wayland, English (US)
- Application version: 5.1.1.0 (from Flatpak)
Additional context
None.
Log files
2025-07-06 17:38:13.102 -07:00 [INF] PlatformImpl: Using LinuxPlatformImplCreator
2025-07-06 17:38:13.125 -07:00 [INF] IpcService: Service listening on the session bus
2025-07-06 17:38:13.574 -07:00 [INF] Translator mode file location: /home/ackle/.var/app/me.timschneeberger.GalaxyBudsClient/data/GalaxyBudsClient/custom_language.xaml
2025-07-06 17:38:13.575 -07:00 [INF] User script directory: /home/ackle/.var/app/me.timschneeberger.GalaxyBudsClient/data/GalaxyBudsClient/scripts
2025-07-06 17:38:13.576 -07:00 [INF] ScriptManager: 0 user script(s) found
2025-07-06 17:38:13.578 -07:00 [DBG] Environment: "Production"
2025-07-06 17:38:13.633 -07:00 [DBG] Linux.BluetoothService: Using Bluetooth adapter: hci0
2025-07-06 17:38:13.653 -07:00 [DBG] Linux.BluetoothService: Connecting... (attempt 1/5)
2025-07-06 17:38:13.660 -07:00 [DBG] Linux.BluetoothService: Device ready. Registering profile client for UUID 2e73a4ad-332d-41fc-90e2-16bef06523f2...
2025-07-06 17:38:13.661 -07:00 [INF] Linux.BluetoothService: Unregistering profile failed: org.bluez.Error.DoesNotExist: Does Not Exist
2025-07-06 17:38:13.664 -07:00 [DBG] Linux.BluetoothService: Connecting to profile... (attempt 1/10)
2025-07-06 17:38:13.782 -07:00 [DBG] Linux.BluetoothSocket: Connected to profile
2025-07-06 17:38:13.782 -07:00 [DBG] Linux.BluetoothService: Connection established. Launching BluetoothServiceLoop
2025-07-06 17:38:13.874 -07:00 [INF] Startup time: "00:00:01.0720534"
2025-07-06 17:38:14.739 -07:00 [DBG] Linux.HotkeyReceiver: All hotkeys unregistered
2025-07-06 17:38:14.740 -07:00 [DBG] Hotkey successfully registered (Win+B: Connect to device)
2025-07-06 17:38:14.743 -07:00 [INF] Window startup time: "00:00:01.9415566"
2025-07-06 17:40:03.136 -07:00 [DBG] FirmwareRemoteClient: Searching for firmware binaries...
2025-07-06 17:40:03.778 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:03.778 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:03.778 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:03.779 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:03.779 -07:00 [DBG] FirmwareRemoteClient: 0 firmware found
2025-07-06 17:40:04.377 -07:00 [DBG] FirmwareRemoteClient: Searching for firmware binaries...
2025-07-06 17:40:04.565 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:04.565 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:04.565 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:04.566 -07:00 [WRN] FirmwareRemoteBinary: Device version info length is wrong: 13 vs 13
2025-07-06 17:40:04.566 -07:00 [DBG] FirmwareRemoteClient: 0 firmware found
2025-07-06 17:40:33.221 -07:00 [ERR] Unhandled exception in main thread
System.ArgumentException: Expected Device as first value
at GalaxyBudsClient.Interface.Converters.DeviceSelectStateConverter.Convert(IList`1 values, Type targetType, Object parameter, CultureInfo culture) in /run/build/GalaxyBudsClient/GalaxyBudsClient/Interface/Converters/DeviceSelectStateConverter.cs:line 29
at Avalonia.Data.Core.MultiBindingExpression.PublishValue()
at Avalonia.Data.Core.MultiBindingExpression.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(UntypedBindingExpressionBase instance, Boolean hasValueChanged, Boolean hasErrorChanged, Object value, BindingError error)
at Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(Object value, BindingError error)
at Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(Object valueOrNotification)
at Avalonia.Data.Core.ExpressionNodes.DataContextNode.OnPropertyChanged(Object sender, AvaloniaPropertyChangedEventArgs e)
at Avalonia.PropertyStore.ValueStore.InheritedValueChanged(AvaloniaProperty property, EffectiveValue oldValue, EffectiveValue newValue)
at Avalonia.PropertyStore.ValueStore.InheritedValueChanged(AvaloniaProperty property, EffectiveValue oldValue, EffectiveValue newValue)
at Avalonia.PropertyStore.ValueStore.InheritedValueChanged(AvaloniaProperty property, EffectiveValue oldValue, EffectiveValue newValue)
at Avalonia.PropertyStore.ValueStore.InheritedValueChanged(AvaloniaProperty property, EffectiveValue oldValue, EffectiveValue newValue)
at Avalonia.PropertyStore.ValueStore.SetInheritanceParent(AvaloniaObject newParent)
at Avalonia.StyledElement.Avalonia.Controls.ISetLogicalParent.SetParent(ILogical parent)
at Avalonia.StyledElement.ClearLogicalParent(IList children)
at Avalonia.Visual.LogicalChildrenCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at Avalonia.Collections.AvaloniaList`1.NotifyRemove(T item, Int32 index)
at Avalonia.Collections.AvaloniaList`1.Remove(T item)
at Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(Object content)
at Avalonia.Controls.Presenters.ContentPresenter.ApplyTemplate()
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.VirtualizingStackPanel.RealizeElements(IReadOnlyList`1 items, Size availableSize, MeasureViewport& viewport)
at Avalonia.Controls.VirtualizingStackPanel.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Presenters.ScrollContentPresenter.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at Avalonia.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at Avalonia.Controls.Grid.MeasureOverride(Size constraint)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding, Thickness borderThickness)
at Avalonia.Controls.Border.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at Avalonia.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at Avalonia.Controls.Grid.MeasureOverride(Size constraint)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding, Thickness borderThickness)
at Avalonia.Controls.Border.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding, Thickness borderThickness)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding, Thickness borderThickness)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutManager.Measure(Layoutable control)
at Avalonia.Layout.LayoutManager.ExecuteLayoutPass()
at Avalonia.Media.MediaContext.FireInvokeOnRenderCallbacks()
at Avalonia.Media.MediaContext.RenderCore()
at Avalonia.Media.MediaContext.Render()
at Avalonia.Threading.DispatcherOperation.InvokeCore()
at Avalonia.Threading.DispatcherOperation.Execute()
at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
at Avalonia.Threading.Dispatcher.Signaled()
at Avalonia.X11.X11PlatformThreading.CheckSignaled()
at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken)
at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.StartCore(String[] args)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, ShutdownMode shutdownMode)
at GalaxyBudsClient.Program.Main(String[] args) in /run/build/GalaxyBudsClient/GalaxyBudsClient/Program.cs:line 127
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working