Release: 2.0.9.109 (Canary) 2024-11-06

I can confirm that the icon does not appear on Debian 12.5, but I think 12.7 is the latest release?

It looks like there are some things missing in Debian Gnome, so these steps are required:

sudo apt install gnome-shell-extension-appindicator

Reboot and run:

gnome-extensions enable ubuntu-appindicators@ubuntu.com

(Taken from this page)

With 2.0.9.108 it works, but with 2.0.9.109 it crashes with a problem in Tmds:

Unexpected error: Tmds.DBus.Protocol.DisconnectedException: Object reference not set to an instance of an object.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Tmds.DBus.Protocol.MessageWriter.WriteRaw(String data)
   at Tmds.DBus.Protocol.MessageWriter.WriteStringCore(String s)
   at Tmds.DBus.Protocol.MessageWriter.WriteString(String value)
   at Tmds.DBus.SourceGenerator.VariantWriter.WriteDBusItem(MessageWriter& writer, DBusItem value)
   at Tmds.DBus.SourceGenerator.VariantWriter.WriteDBusVariant(MessageWriter& writer, DBusVariantItem value)
   at Tmds.DBus.SourceGenerator.WriterExtensions.WriteDictionary_aesv(MessageWriter& writer, Dictionary`2 values)
   at Tmds.DBus.SourceGenerator.OrgKdeStatusNotifierItem.<>c__DisplayClass21_0.<HandleMethodAsync>g__Reply|13()
   at Tmds.DBus.SourceGenerator.OrgKdeStatusNotifierItem.HandleMethodAsync(MethodContext context)
   at Tmds.DBus.Protocol.DBusConnection.HandleMessages(Exception exception, Message message)
   --- End of inner exception 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()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.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.Start(String[] args)
   at Duplicati.GUI.TrayIcon.AvaloniaRunner.Run(String[] args)
   at Duplicati.GUI.TrayIcon.TrayIconBase.Init(String[] args)
   at Duplicati.GUI.TrayIcon.AvaloniaRunner.Init(String[] args)
   at Duplicati.GUI.TrayIcon.Program.StartTray(String[] _args, Dictionary`2 options, HostedInstanceKeeper hosted, String password, String acceptedHostCertificate)

My best guess is that this is caused by Tmds being used both by the libSecret and Avalonia, and the two are using different versions.