librepods-org / librepods-org/librepods

[Linux] Tray application not switching listening nodes reliably

Open
#635 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug linux
Dominant language
Kotlin
Stars
29.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

App version

linux-v0.1.0

Variant

Rust rewrite (linux-rust branch)

Distro and version

CachyOS

Desktop environment / compositor

KDE Wayland

Install method (only official sources)

Built from source (nix or otherwise)

AirPods model

AirPods Pro 3

What happened

When switching the listening mode from the tray application, clicking a radio button occasionally gets stuck — the new button appears checked but the mode does not actually change. When this happens, multiple radio buttons can appear checked simultaneously.
I have not been able to reliably reproduce the stuck state, but it has happened twice. A related behavior I can consistently reproduce is that even during a successful mode switch, there is a brief moment where two radio buttons appear checked at the same time before the UI settles. This suggests the UI state and the underlying mode state may not be updated atomically, which could be contributing to the stuck state.
Steps to reproduce (stuck state):

Open the tray application
Click a radio button to switch listening mode
Occasionally, the button appears checked but the mode does not change and multiple buttons can be checked simultaneously

Expected behavior: Clicking a radio button switches the listening mode and only one button is ever checked at a time.
Observed behavior: Transient double-check visible even on successful switches; occasionally the UI gets stuck with multiple buttons checkable and the mode not

edit: added screenshot

Image

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Linux Rust tray application's listening-mode radio-button handling and reproduce the transient double-check or stuck state on KDE Wayland. Trace how the selected UI state and underlying listening mode are updated during a switch, then verify that successful switches leave only one button checked and actually change the mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.