EndPointCloseIndication not firing on Smart Client logout

EndPointTableChangedIndication doesn’t work either. However, EndPointCloseIndication does fire if a SDK enviroment (standalone app) logs out from the server.

My user isn’t visible when I’m calling WhoAreOnlineRequest either. Note that the user I log in as in the Smart Client is a newly created user from the ConfigApiClient.

It does work when I’m using a basic user created from the Management Client though(Both EndPointCloseIndication and WhoAreOnlineRequest).

We can honestly not see that there should be a difference between basic users create through Configuration API and Management Client.

We also tried to reproduce what you describe using the Chat plugin sample from the SDK and having that running in one Smart Client while logging in and out to another using a basic user created through Config API. And it worked fine - the user shows up and disappears again according to logging in and out.

Could you try doing the same? Using the Chat example and have a Smart Client running while logging in and out with your temporary user.

            msgComObjects.Add(msgCom.RegisterCommunicationFilter(EndPointClose, new CommunicationIdFilter(MessageCommunication.EndPointCloseIndication)));
 
...
 
        private object EndPointClose(Message message, FQID dest, FQID source)
        {
            var data = message.Data as EndPointIdentityData;
 
            if (data != null)
                Log(data.IdentityName + " logged out");
            else
                Log("Someone logged out");
 
            return null;
        }

This code is running in my Event Server plugin. It only fires when a user created from the Management Client logs off. I’ve had it running while debugging for 2 days now and I’ve never seen it fire when one of my temporary users logs off.

I withdraw my statement regarding only users created in the Management Client, I’ve now discovered that either EndPointCloseIndication nor NewEndPointIndication does fire when a user logs in or out of the Smart Client. However, it does fire when a user logs in/out in the Management Client or external app using the SDK.

I had my colleague log in via the Smart Client from his PC on the same LAN and the events fire. Very strange…

I can confirm the temporary users also work when connecting from another machine. Must be something to do with the fact that I have the XProtect Corporate server on my own machine.

I have to run for the day, but sounds strange. Especially since the test we did was with everything on the same machine.

Could you try the chat example as I suggested to see whether it works as it should?

Things like these starts wildfires in my head. Just like the problem when I couldn’t log in with new (temp) users and then suddenly it worked.

I tried the chat example, added the EndPointCloseIndication in the code for debug, and that works. It fires in the Event Server(my plugin) and in the Smart Client.

I then tried my plugin/application again, and now it works. Let’s hope it stays that way.