Conditional Activation Group issues after Sleep or Restart

I'm having an odd issue after Mac Restart or Wake from sleep, with BTT version 4.361, after upgrading from 4.333.

Mac mini M2 Pro, macOS 13.6.3, Stream Deck XL fully controlled by BTT
In BetterTouchTool Settings, General "Restart BTT after wake from sleep" is selected. The Priority Helper Tool is Active.

I'm using conditional activation groups to display sets of buttons on the Stream Deck based on the value of persistent variable: customVariable1. The variable is being set (seen in Scripting BTT Settings) but the buttons are not displayed. This happens after a Restart or Wake from Sleep.

Other conditional activation groups based on window name and App only sometimes work.

Groups based on Applications work OK.

Restarting BetterTouchTool will put things right — the buttons in the conditional activation group based on
customVariable1 now show. Conditional activation groups based on window name and App become reliable, once clicked. All seems to remain OK until the next restart or sleep.

Just updated BetterTouchTool to 4.363 and issue still present. Restart BTT showed buttons of the conditional activation group.

macOS still @ 13.6.3

I have found out what is causing this odd behaviour — BetterTouchTool is creating a temporary customVariable1, masking the value of the persistent variable!

This is very easy to demonstrate:

  1. Create a normal Stream Deck Button in the active, Default preset.
  2. Assign the BTT related action "Assign/Set Value for Variable":
    • Name: customVariable1
    • Value: TEST
    • Type: Text
    • Select Persist
  3. Open BetterTouchTool Settings — Scripting BTT
    • customVariable1 will be listed under Temporary Variables
    • Click the Reset All Variables button
    • Click Refresh Variables to confirm it's gone…
  4. Restart BetterTouchTool
  5. Open BetterTouchTool Settings — Scripting BTT
    • customVariable1 will again be listed with a null value under Temporary Variables
  6. Press the Stream Deck button created in #1.
  7. Look at Settings — Scripting BTT
    • customVariable1 will be listed under Persistent Variables with the value TEST
    • customVariable1 will also be listed under Temporary Variables with a null value
  8. Restart BetterTouchTool again
  9. Open BetterTouchTool Settings — Scripting BTT
    • customVariable1 will be listed under Persistent Variables with the value TEST
    • There will be no customVariable1 listed under Temporary Variables :+1:

I'm guessing it may have something to do with that handy new box "Only set if no value yet" ???


Device information:

  • Type of Mac: Mac mini M2 Pro
  • macOS version: macOS Ventura 13.6.3
  • BetterTouchTool version: 4.364
    • Stream Deck XL fully controlled by BTT
    • "Restart BTT after wake from sleep" is selected
    • The Priority Helper Tool is Active
    • Sync is Not being used

thanks for the details!
I'm looking into it and hope to be able to fix it with the next alpha version tomorrow.

Hey! Andreas — you've fixed it :+1:.

I hadn't realised you'd done that along with all the other stuff you're doing… Just tried BTT Alpha 4.369 and the Stream Deck is once again behaving as intended… Apologies for not testing and getting back to you sooner.

Thank you for fixing so quickly.