Hi Andreas,
I'm running into a reproducible issue with the new OSC support (great feature, thank you for adding it!).
Setup:
- BetterTouchTool 6.697 (also reproduced on 6.635)
- macOS Sequoia 15.4
- OSC Receiver enabled on port 8010, listening on 127.0.0.1
Steps to reproduce:
- Create two separate "OSC Message Received" triggers (Other Triggers category)
- Trigger A: OSC Address Filter =
/btt/focus/safari, Action = "Launch Application" β Safari - Trigger B: OSC Address Filter =
/btt/focus/digicheckng, Action = "Launch Application" β DigiCheckNG - Both triggers have "Allow Parallel Execution Instead Of Conflict Menu" disabled (default)
- Send an OSC message to
/btt/focus/safari(e.g. via a widget in Open Stage Control, or any OSC sender) to127.0.0.1:8010
Expected behavior:
Since the incoming message address exactly matches only Trigger A's filter, only Trigger A should run automatically.
Actual behavior:
BTT shows a conflict/selection menu listing "Starte Safari.app" and "Starte DigiCheck NG.app" (screenshot attached), even though only one trigger's address filter actually matches the incoming message. The address filter doesn't seem to be evaluated before BTT decides there's a conflict β it seems to treat any two "OSC Message Received" triggers as potentially conflicting purely by trigger type, not by whether their filters actually match the incoming address.
Workaround currently in use:
Consolidating everything into a single "OSC Message Received" trigger with an empty address filter, followed by manual If (BTTOSCAddress MATCHES "...") / Action / End If blocks for each case. This works reliably, but defeats the purpose of having per-message address filtering and makes the trigger list much harder to maintain as the number of OSC-driven actions grows.
Enabling "Allow Parallel Execution Instead Of Conflict Menu" doesn't fix this either β it just runs both triggers' actions simultaneously (e.g. launching Safari and DigiCheckNG), regardless of which address was actually received.
Additional confirmation: I just re-tested this specifically with "Allow Parallel Execution Instead Of Conflict Menu" enabled on both triggers. Sending only /btt/focus/safari now launches both Safari and DigiCheckNG simultaneously, even though DigiCheckNG's trigger filter (/btt/focus/digicheckng) was never matched. So this option doesn't restore correct per-address filtering β it just silently runs every "conflicting" trigger instead of showing the menu, which produces incorrect behavior rather than fixing it.
Thanks for looking into this!
Dominik
