Liam,

Sounds like a reason to have the client side check for new posts on connect. This was something I thought about quite a bit with Buddycloud ideas.

Essentially, you can have a situation where you need to have a pull to check for missed items while offline, I think I mentioned it on the list when we were talking about version or timestamps for published items.

Currently I can't think of another solution, apart from something like using iq to publish instead of messages so the delivery is guaranteed ? (doesn't even sound good to me, although I think wave possibly does something along those lines)

Regards

Kirk

On 28 Jan 2010, at 23:52, Liam <pub...@networkimprov.net> wrote:

Any comments on the issue of reliable delivery to offline subscribers?

I seem to have this issue with ejabberd. Having configured pubsub#notification_type = normal (which queues items to offline subscribers), if I disconnect a subscriber (by closing a browser tab running strophe) and immediately publish an item, it doesn't always show up on reconnect, presumably because it is "delivered" before ejabberd knows the user is offline. If I wait a bit before publishing, the item does show up.


On Thu, Jan 28, 2010 at 2:17 AM, Liam <pub...@networkimprov.net> wrote:
Perhaps I'm missing something here...

That presence-based delivery is an optional service feature implies that items published are normally queued to node subscribers when they are offline, and later delivered when they sign on. However I can't find this explicitly stated in the spec.

Also, the impact of persist_items on delivery to offline subscribers is not discussed. Is a non-persisting node inherently presence-based delivery? (Intuitively, I'd say not.)

That on_sub_and_presence is an option for send_last_published_item could imply that items published when a subscriber is offline need not be queued for later delivery, which seems very strange.

Also, I see no method for reliable delivery of items to offline subscribers... IQ notifications seem to address this only for online subscribers. This seems like a significant omission.

I discovered this when I configured a node on ejabberd as follows, expecting it to queue items if the subscriber is offline, as for normal messages (which it doesn't):

<field var='pubsub#notify_retract'><value>0</value></field>
<field var='pubsub#persist_items'><value>0</value></field>
<field var='pubsub#publish_model'><value>open</value></field>
<field var='pubsub#access_model'><value>whitelist</value></field>
<field var='pubsub#send_last_published_item'><value>never</value></ field>

Thanks,

Liam


Reply via email to