-
I think that as this optimization that is enabled by default is causing issues (I suppose it may cause more issues than just this one), it would be reasonable to disable it as most of the XMPP clients currently relay on working support for PEP.
Another approach would be sending
presence unavailable
to local PEP service, but I do not see an improvement over disabling optimization as it would introduce all processing those presences by the PEP service anyway.
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
none
|
Sprints |
n/a
|
Customer |
n/a
|
Issue Votes (0)
PubSub (PEP) is not sending last published items on presence if sending entity advertises features with
+notify
when receiving entity (account on which PEP is hosted) is not available.I've narrowed the issue down to the fact that notifications are sent when "sender" for the first time becomes online, but not after subsequent disconnections and reconnections.
After debugging, I've noticed, that PubSub (PEP) is not aware that "sender" has gone offline and as notifications should only be sent when user becomes online, it ignores this presence and is not sending notifications. Following that, I've noticed that
PresenceAbstract
processor has optionskipOfflineSys
(enabled by default) that basically stops sending "unavailable" presence from contact A to all his contacts that are offline. While that "works" for the clients, it fails for PEP as PEP of user A contacts that were offline is not notified that user is gone, so it is not sending notifications on subsequent reconnection of user A.