# Session message handler not receiving a message from tag change

**URL:** <https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [September 17, 2025, 11:00pm UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738 "2025-09-17T23:00:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![k.jin](https://avatars.discourse-cdn.com/v4/letter/k/f1d935/32.png) [@k.jin](https://forum.inductiveautomation.com/u/k.jin)\
**Post date:** [September 17, 2025, 11:00pm UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/1 "2025-09-17T23:00:49Z")

</div>

Hi everyone,

I’ve recently started working on ignition perspective and I’m having issues with raising a popup window on whatever page the user is on when there’s a fault.

I have a really simple setup as below:

on the tag that needs to be monitored, I have setup a script on value changed:

option 1, I tried the ‘session’ scope, but this is not ideal as I need the popup to appear on all sessions. It wasn’t really stable either, it works less than half of the time:

```python
res = system.util.sendMessage(project="Test_Page",messageHandler="open_popup",payload={},scope="session",clientSessionId=res[0].value)

```

option 2, I tried the ‘client’ scope, but this didn’t work at all. Tried the “C” for scope as well, no joy:

```python
res = system.util.sendMessage(project="Test_Page",messageHandler="open_popup",scope="client")

```

res is an empty list almost all the time but it returns the following when it works with option 1:

```plaintext
send message result: [type=Session,sessionId=90adb2cd-e7b2-4ad3-9479-659ad7881fef,project=Test_Page,messageHandler=open_popup,filterParams={clientSessionId=90adb2cd-e7b2-4ad3-9479-659ad7881fef, userRoles=, scope=S, userZones=},isRequest=no,sendStatus=SENT]

```

I have “open\_popup” session message handler setup on Session Events in “Test\_Page” project but the message handler almost never receives anything. Plan is to relay the message from here to a component using something like:

```python
system.perspective.sendMessage('open_popup_card', payload)

```

It would be really appreciated if someone could point out what I am doing wrong or why it isn’t working.

Many thanks everyone.

---

<div class="post-metadata">

**Author:** ![k.jin](https://avatars.discourse-cdn.com/v4/letter/k/f1d935/32.png) [@k.jin](https://forum.inductiveautomation.com/u/k.jin)\
**Post date:** [September 18, 2025, 1:10am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/2 "2025-09-18T01:10:46Z")

</div>

okay.. for people who might run into the same issue that I had, I disabled then enabled the project again and now the session message handler is working. There were no errors or warnings in logs so it was really difficult to figure out what was going on.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [September 18, 2025, 2:21am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/3 "2025-09-18T02:21:33Z")

</div>

There’s a lot going on here.

> option 1, I tried the ‘session’ scope, but this is not ideal as I need the popup to appear on all sessions. It wasn’t really stable either, it works less than half of the time:

The [docs](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-util/system-util-sendMessage#:~:text=Limits%20the%20scope%20of%20the%20message%20delivery%20to%20%22C%22%20(clients)%252C%20%22G%22%20(Gateway)%252C%20%22CG%22%20for%20clients%20and%20the%20Gateway%252C%20or%20%22S%22%20Session.) suggest the `scope` argument value should be `”S”` for Perspective Sessions. You can omit the `clientSessionId` if you want to send to all sessions.

> [@k.jin](#):
>
> I have “open\_popup” session message handler setup on Session Events in “Test\_Page” project but the message handler almost never receives anything. Plan is to relay the message from here to a component

This is the correct way to go; the Session proper has to receive the message, then relay it to the session. I don’t think you can omit the `scope` arg here because it [defaults](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-perspective/system-perspective-sendMessage#:~:text=If%20omitted%252C%20%22page%22%20will%20be%20used.) to “page”, and you’re not providing any pages; I’m pretty sure the scope here should be “session” (not “S”, because we’re in the Perspective package).

The problem, however, is that you claim you want this message to be opened in every session. For you to manage this, you need some universal component that is present on every page of your project. That component will need a message handler attached and that handler should consume the payload while listening to the Session scope - if you forget to listen on this scope, the component will never hear the message.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [September 18, 2025, 2:34am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/4 "2025-09-18T02:34:03Z")

</div>

> [@cmallonee](#):
>
> For you to manage this, you need some universal component that is present on every page of your project.

And a docked view would be a suitable means of achieving this. If you don't need a docked view for anything else then add one and have it change to 1 pixel high (or whatever) on startup.

---

<div class="post-metadata">

**Author:** ![k.jin](https://avatars.discourse-cdn.com/v4/letter/k/f1d935/32.png) [@k.jin](https://forum.inductiveautomation.com/u/k.jin)\
**Post date:** [September 18, 2025, 2:55am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/5 "2025-09-18T02:55:10Z")

</div>

hey guys,

Thanks a lot for the suggestions! I have managed to get the message to flow from tag value change script → session events message handler, I just need to figure out where to place the popup card component (which has a message handler to handle the **system.perspective.openPopup)** to consume the payload from session events message handler. Docked view sounds like a good place to try out, maybe I can add something to a footer and see how that turns out!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [September 18, 2025, 3:31am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/6 "2025-09-18T03:31:14Z")

</div>

> [@Transistor](#):
>
> change to 1 pixel high

Or just set it to be onDemand (ie not shown on load) . All docks defined are always in the Dom and running, no matter if they're open or closed

---

<div class="post-metadata">

**Author:** ![k.jin](https://avatars.discourse-cdn.com/v4/letter/k/f1d935/32.png) [@k.jin](https://forum.inductiveautomation.com/u/k.jin)\
**Post date:** [September 18, 2025, 4:14am UTC](https://forum.inductiveautomation.com/t/session-message-handler-not-receiving-a-message-from-tag-change/110738/7 "2025-09-18T04:14:40Z")

</div>

Yeah, I just docked an empty view with message handler to the footer and set the size to 0. Working like a charm now 🙂
