Automatic Inactivity Detection

I am looking into some options to logout user when there’s no activity for a certain period. I have found a built in way in Ignition Perspective 8.1.38 Perspective Inactivity Properties

For testing I have set Inactivity Timer: 01 Minute, Grace Period: 10 Seconds Inactive Session Action: Logout but due to some reasons I don’t see any effect not on designer or runtime session.

As per the documentation I have also configured the Always ask the IdP to re-authenticate users by default option.

The lastActiviity property of Session props is always null, I don’t know if this prop has anything to do with my issue.

What I am doing wrong please guide. Thanks.

The "activity" is loosely defined as a tab still open, for practical purposes. Particularly in v8.3. To be truly inactive, there has to be no traffic on the websocket.

This setting will pretty much never apply to the designer.

1 Like

(post deleted by author)

Aah OK!

Any other Ignition native way to achieve same goal?

I want to logout user if user has not interacted with the system for certain amount of time.

Not that I know of. Add timestamping to your UI events to roll your own.

1 Like

I vaguely recall IA plans to improve the situation in v8.3.

I doubt this will happen in 8.3.x any more. 8.3.4 is basically already planned, 8.3.5 is filling up, and everything that isn't a serious bug is no longer a candidate for 8.3.

1 Like

What do you mean by this, Phil? Did this change behaviour from 8.1 to 8.3?

I've just noticed people noticing this after v8.3 upgrades. In other words, I don't know enough about this in v8.1.

In 8.1, this property only changed after a user's interaction with the session (an active tab alone did not increment the time, whereas clicking anywhere within the tab did), and IIRC, was a reliable reference for a session timeout.
I haven't verified this in 8.3 yet, but the documentation for this property matches between 8.1 & 8.3:

A readonly that represents the last time the session was interacted with, such as a user clicking within the session. The time reported by this property is based off of the gateway's time.

Unless someone beats me to it, hopefully I'll play around with this when I'm in front of 8.3 next week (add a label to a Perspective View, bound to the lastActivity property, observe the timestamp during runtime, and compare to expected timeout time).
If anything is different...I'd prefer to see updated documentation if the changes are intentional, or a bug fix if not.