Skip to content

fix(linux): apply GTK opacity + scope stale backend cleanup by data dir#232

Open
AgentU-asaf wants to merge 2 commits intomainfrom
agentx/fix-linux-opacity-and-backend-isolation
Open

fix(linux): apply GTK opacity + scope stale backend cleanup by data dir#232
AgentU-asaf wants to merge 2 commits intomainfrom
agentx/fix-linux-opacity-and-backend-isolation

Conversation

@AgentU-asaf
Copy link
Copy Markdown
Collaborator

Summary

  • Opacity not working on Linux: set_window_transparency received opacity=0.75 but the transparent+no-blur path on Linux fell through returning Ok(()) with no side effects. Fix: call gtk::Window::set_opacity() so the compositor composites the window at the correct transparency level.

  • Stale backend cleanup killing wrong instances: cleanup_stale_backends killed any agentmuxsrv-rs process whose --instance version differed from the current version, regardless of which app identifier owned it. This caused launching a dev build (task dev) to SIGKILL a running production AppImage's backend, making it go Offline. Fix: also parse --wavedata from the process cmdline and only kill backends whose wavedata path is under our own data_dir. Dev instances (.app.dev/...) and production instances (.app.vX-Y-Z/...) now have fully isolated cleanup.

Test plan

  • Set opacity slider — window should visually dim on Linux
  • Run production AppImage, then launch task dev — AppImage should NOT go Offline
  • Run task dev, close it, reopen — stale backend from same instance is still cleaned up correctly

🤖 Generated with Claude Code

snowbark and others added 2 commits March 25, 2026 11:25
**Opacity not working on Linux**
set_window_transparency received opacity=0.75 but never applied it on
Linux — the transparent+no-blur path fell through returning Ok(()) with
no side effects. Fix: call gtk::Window::set_opacity() so the compositor
composites the window at the correct transparency level.

**Stale backend cleanup killing wrong instances**
cleanup_stale_backends killed any agentmuxsrv-rs process whose --instance
version differed from the current version, regardless of which app
identifier owned it. This caused launching a dev build (task dev) to
SIGKILL a running production AppImage's backend, making it go Offline.

Fix: also parse --wavedata from the process cmdline and only kill backends
whose wavedata path is under our own data_dir. Dev instances (.app.dev/...)
and production instances (.app.vX-Y-Z/...) now have fully isolated cleanup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@reagentx-workflow reagentx-workflow Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ReAgent Diagnostics
Field Value
ReAgent Version 5.12.4
Project Context CLAUDE.md loaded
Model claude-opus-4-6
Effort high
Ref Repos Disabled
Merge Analysis Clean
Review Time 77.3s
Timestamp 2026-03-26T00:29:09Z
Repository agentmuxai/agentmux
PR #232

LGTM

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant