librepods-org / librepods-org/librepods
Linux application doesn't provide a clear message upon failure when there isn't a system tray
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 29.9k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
When I saw that there was a flake in the linux/rust branch I excitedly went to run it, however when I did so, I got an error:
[2026-01-07T19:47:21Z ERROR librepods] Failed to read devices file: No such file or directory (os error 2)
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_commands; commands=[Auth(Some(External), Some([49, 48, 48, 48]))] extra_bytes=None
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_commands; commands=[NegotiateUnixFD, Begin] extra_bytes=Some([108, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 109, 0, 0, 0, 1, 1, 111, 0, 21, 0, 0, 0, 47, 111, 114, 103, 47, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 47, 68, 66, 117, 115, 0, 0, 0, 2, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0, 3, 1, 115, 0, 5, 0, 0, 0, 72, 101, 108, 108, 111, 0, 0, 0, 6, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0])
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::client] receive_secondary_responses; expected_n_responses=1
[2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO zbus::connection] start_object_server; started_event=Some(Event { listeners_notified: 0, listeners_total: 1 })
[2026-01-07T19:47:21Z INFO zbus::connection] monitor_name_lost; name=org.kde.StatusNotifierItem-56222-1
thread '<unnamed>' (56240) panicked at src/main.rs:136:41:
called `Result::unwrap()` on an `Err` value: Watcher(ServiceUnknown("The name is not activatable"))
stack backtrace:
0: 0x55556fcc6330 - <unknown>
1: 0x55556f8d29dc - <unknown>
2: 0x55556fccb390 - <unknown>
3: 0x55556fcdf048 - <unknown>
4: 0x55556fcc682c - <unknown>
5: 0x55556fcc67a4 - <unknown>
6: 0x55556fcdc6f0 - <unknown>
7: 0x55556f7baaa4 - <unknown>
8: 0x55556f7bb064 - <unknown>
9: 0x55556f82eb70 - <unknown>
10: 0x55556f7f5d5c - <unknown>
11: 0x55556fa6338c - <unknown>
12: 0x55556fcd581c - <unknown>
13: 0x7fffba6801ec - start_thread
14: 0x7fffba6f034c - thread_start
15: 0x0 - <unknown>
zsh: abort (core dumped) nix run github:kavishdevar/librepods/linux/rust\#default
Now, after poking around I very quickly was able to determine that the issue was that I don't run a system try on my machine, but others may benefit from a more clear error message.
I use Hyprland on NixOS, so it was pretty easy to add a tray to my waybar config and rebuild my machine, now now the app launches and I am onto debugging a number of other errors, but I absolutely love this project. I've been running Asahi on a number of my daily drivers for the last couple years and I love getting to break even more of the Apple ecosystem!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at src/main.rs:136, where the stack trace shows the panic while connecting to the system tray watcher. Reproduce the application without a system tray and trace the watcher error; done means the application reports a clear failure message instead of panicking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100