Closed alvinlal closed 2 months ago
there are a few things you need to take into account here:
it only sends push notifications if the client sends an unavailable presence or disconnect manually
- no, it sends a message to the disconnected client regardless of how the disconnection happened. The issue here is disconnection detection, because the server thinks that the client is still connected.Shouldn't the server detect that the client has become offline after some seconds
- it could take quite a while before TCP connection is closed, normally you need mod_ping to speed up the detection of spontaneously broken connections. but it's still not a matter of seconds (too frequent pinging is inefficient).sent the messages received during that period to the push service
- in order to understand how many messages are not delivered to the user you need an acknowledgment mechanism, mod_stream_managment allows to do batch acknowledgment and it is a recommended mechanism.mod_event_pusher_push_plugin_enhanced
to have immediate (but still after detection of disconnection) delivery of all unacknowledged messages to the client via push notification.Alternative solutions:
i do have mod_event_pusher_push_plugin_enhanced
enabled, but don't have mod_ping
enabled, i will enable it and see 👍
hi @DenysGonchar , i have tried enabling mod_ping
, but still the issue persists, for some reason, server is not detecting that the client has gone offline and not sending push notifications, is there any other way that i could debug this ?
issue was solved by enabling serverside and client side pinging
MongooseIM version: 6.1.1 Installed from: pkg Erlang/OTP version: 26
I have setup push notification on mongooseim and it only sends push notifications if the client sends an
unavailable
presence or disconnect manually. No push notification is being sent when the client's connection is suddenly broken and becomes offline. Shouldn't the server detect that the client has become offline after some seconds and sent the messages received during that period to the push service (i am using mongoosepush).