-
-
I verified that configuration option does work;
-
Storing messages for offline subscribers did not work.
Following changes were made:
-
corrected PubSub presence subscription handling to allow easier addition of PubSub component to the roster thus allowing it to receive presence;
-
and issue with ad-hoc script CreateNode.groovy was fixed which prevent setting node configuration correctly (basically a default was used despite making any changes to the form);
-
OfflineMessages plugin was changed that it would not ignore
<message/>
stanza that does not contains non-empty body (i.e. accepting also<event/>
or<header/>
children); however, sidenote: as per XEP-0160: Best Practices for Handling Offline Messages - there is no mention that plugin should differentiate saving or not saving based on presence of absence of child elements.
-
-
Wojciech Kapcia wrote:
- I verified that configuration option does work;
- Storing messages for offline subscribers did not work.
Following changes were made:
- corrected PubSub presence subscription handling to allow easier addition of PubSub component to the roster thus allowing it to receive presence;
Ok, sounds good. However, as far as I know this particular feature is used right now only by customers with a custom client software. They do not add pubsub to the roster, they, however, send a direct presence to PubSub component as part of their login procedure.
- and issue with ad-hoc script CreateNode.groovy was fixed which prevent setting node configuration correctly (basically a default was used despite making any changes to the form);
Oh, well done.
- OfflineMessages plugin was changed that it would not ignore
<message/>
stanza that does not contains non-empty body (i.e. accepting also<event/>
or<header/>
children); however, sidenote: as per XEP-0160: Best Practices for Handling Offline Messages - there is no mention that plugin should differentiate saving or not saving based on presence of absence of child elements.
Yes, however, we really do not want to save to offline storage all the user's events such as "user starts typing a message", "user left chat window", etc..... So my logic to ignore messages with an empty body was to avoid storing messages which are useless for offline users. Please make sure we do not store such messages.
-
Artur Hefczyc wrote:
Ok, sounds good. However, as far as I know this particular feature is used right now only by customers with a custom client software. They do not add pubsub to the roster, they, however, send a direct presence to PubSub component as part of their login procedure.
Understood. However handling of presence subscription was already there, but wasn't working (most likely due to recent changes in Tigase and requirement of correct xmlns attribute) so it was a small fix only.
Yes, however, we really do not want to save to offline storage all the user's events such as "user starts typing a message", "user left chat window", etc..... So my logic to ignore messages with an empty body was to avoid storing messages which are useless for offline users. Please make sure we do not store such messages.
Logic implemented by you was preserved, only condition to store pubsub messages was added.
Type |
Task
|
Priority |
Critical
|
Assignee | |
RedmineID |
1664
|
Version |
tigase-server-5.2.0
|
Spent time |
0
|
There seems to be a pubsub node config option to deliver notifications to either online only or all subscribers, so we need to check it if it works
Second thing is we need to check whether pubsub notifications are saved in DB for offline users and is delivered when user comes online