Skip to content

fix: unpack OpenWave's Changed signal as its four parts so pushes arrive - #1

Merged
NyleGarcia merged 1 commit into
mainfrom
fix-changed-signal-unpack
Sep 29, 2026
Merged

NyleGarcia merged 1 commit into
mainfrom
fix-changed-signal-unpack

Conversation

@NyleGarcia

Copy link
Copy Markdown
Owner

Problem

owdeck/ipc.py unpacked org.gtk.Actions.Changed into three names, but the signal is (as a{sb} a{sv} a{s(bgav)}): removed, enabled, state, added. The ValueError was swallowed by the relay's except, so every push from OpenWave was dropped, and the deck only updated on its 1 s refresh. This affects both the Python app and upstream's Rust rewrite, which keeps the same D-Bus contract.

Fix

Unpack all four parts and keep the state map. TestChangedSignal builds the real four-part variant with GLib and drives it through _attach's relay. It fails before the fix and passes after.

Verification

python3 -m unittest discover -s tests -t .: 115 tests OK.

Merging to main triggers semantic-release (a patch release).

🤖 Generated with Claude Code

org.gtk.Actions.Changed is (as a{sb} a{sv} a{s(bgav)}); unpacking three
names raised ValueError, which the relay swallowed, so every push was
dropped and the deck only refreshed on its 1 s poll.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@NyleGarcia
NyleGarcia merged commit 37605dd into main Sep 29, 2026
3 checks passed
@NyleGarcia
NyleGarcia deleted the fix-changed-signal-unpack branch September 29, 2026 05:05
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.7.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant