Broken KM plugins - mystery solved ? (Results key no longer optional?)

I wonder if the broken status of a few of my plugins may arise from a subtle shift in the ‘optional’ status of the Results key in plugin .plist files ?

The Keyboard Maestro Documentation on Plugin Actions lists Results as an optional key, and plugins without a Results key did, I think, work in earlier builds (perhaps not since KM6 ? Not sure).

Now, however (current KM7), if you remove the Results key from a working plugin:

  • the Console.log shows an Invalid Plugin Results error when KM reloads
  • The plugin action no longer has the designed effect (clicking on a website, filtering the clipboard etc)
  • A further error is logged to the console when we try to trigger the plugin action

Perhaps just a documentation lag ? The only ‘neutral’ option now seems to be Results: ‘None’ – I think the Results key is perhaps no longer optional in the sense that you can simply not include it in the .plist file.

1 Like

The Results value should be optional. It is an incorrect logging message, which I have disabled for the next version.

As for why it is not working, that I’m not sure and would require more study of the plug in. Is there a particular plug in that is not working, that then works when you set it to Results: None?

That's really helpful – thanks. (I take it that the Results key - as well as a Results value - should also be optional ?)

The root example was:

which was reported by others, and experienced by me, to have become broken at some point,

in contrast with yesterday's:

which, on my system at least, now seems to work.

The only change that I was aware of there was adding a Results keys, but I now wonder whether simply removing, reloading and restoring, combined with recompiling the .scpt, was really what made the difference ?

(I have failed, this morning, to reproduce what I thought was last night's result - that removing the Results key from other macros generally inhibited function, as well as generating the error messages)

It is optional to have the Results key and its associate value. If the Results key is missing, then it is equivalent of “None” (And I really need to add an option for “All”). You cannot have the Results key without also having a value though, that would be a malformed dictionary, so if you have the Results key, then you must also have a value for it.

1 Like