Every so often our Perspective project runs into log messages scoped at
perspective.ClientSession with a message of
Received prop sync for missing view.
What scenario would trigger this message on the gateway? Is a client session misbehaving and causing these messages? Did the gateway “forget” an instantiated view?
This is most commonly encountered when a session has multiple tabs open and a single tab of the browser session is closed by a user, but can also be encountered any time the Gateway loses connection to a session. As such, network issues and even potentially resource starvation could result in you seeing this message.
Essentially, what you’re seeing is that the Gateway believes a View (which contains a binding, or a script which writes to a prop) is in place for a session, but the View was removed from the session without going through the OnShutdown process. As I alluded to before, this can be encountered in a multiple tab scenario because the session remains active because at least one tab is still open, but the closing of the secondary tab does not always de-register the resources in use; so the session receives the information for the missing view and has no idea what to do with it.
So it’s not so much the Gateway “forgot” the view, but moreso that the View was removed from a session without properly informing the Gateway.
This can ALSO be encountered if you perform a lot of HTTP navigation (URLs) instead of page navigation, because the HTTP request results in the page not shutting down properly. The HTTP request results in the “current” Perspective page getting a new ID, and since the old page did not get a chance to de-register content, the Gateway doesn’t know what happened to it.
The warning/error should be benign most of the time because the page being referenced is no longer in use, but we have encountered some instances where Alarm Tables begin encountering issues if they are on a page which is navigated back-and-forth from-and-to with HTTP navigation.