Are Session Events Inheritable?

I am unable to find details on this in the designer, however when working in an inheritable project the workspace for Session Events still exists and they can be created.

Simple question, are they inheritable? I have tried this out with a global session message handler and it doesn’t seem to work, but worth making sure I am not missing something.

They are, technically, inheritable, but they’re a “singleton” resource. So, as soon as you make any change in the child project (possibly including even looking at the resource in the designer), you’ve overridden the copy from the parent and are using your own. The only way to go back to using the parent’s resource (at the moment) is to delete the resource entirely from the child.

We’re actively working to improve the UI/UX around this.

How do you open the resource of a session event message handler? Subsequently, how do you delete it?

Whenever I open the session events on the child project I see an empty list of message handlers and not the one I created in the parent project.

Answered my own question:

  1. It doesn’t look they are visible from the designer in the child project
  2. They definitely do inherit, and they are easy to override and not realize it
  3. In order to remove an override you need to delete the projects/<ChildProjectName>/com.inductiveautomation.perspective/session-scripts directory.

Well, I don’t really have anything to say in my defense, but “we’re working on the UX around this” actually means “I personally implemented a change to improve the UX and forgot about it” :man_facepalming:

As of 8.1.8, if you right click the event script nodes in the project browser tree, you should get a ‘revert’ option if they’re overridden.