Services Plugins FAQs

Repeating group visibility detector not working 100% when many items are visible on RG load

Hi,
We’re using the RG visibility detector plugin as a method of creating “reading receipts” in a chat solution, to know which users has actually seen what group messages.

Sometimes a user is away and has 20+ messages unread, but only 5 are visible in the RG so we can’t set them all to “read” just because the user opens up the group conversation.

It works 100% for messages that becomes visible through SCROLLING in the RG of messages, but it fails quite often on the messages that are ALREADY VISIBLE when the RG loads, and also if the RG updates (because of backend data changes) and adds new visible posts without the user scrolling.

This is quite frustrating, as it means we can not use this plugin for this purpose, but if it would work 100% it would be an awesome solution.

Thanks for building great plugins in general!

Adding info:

  • Might be good to know that this repeating group also uses the ZQ plugin “reverse repeating group”

Hello @BjornT ,
Thank you for reaching out, and sorry for the delayed reply. :pensive:

Sometimes a user is away and has 20+ messages unread, but only 5 are visible in the RG so we can’t set them all to “read” just because the user opens up the group conversation.
This is quite frustrating, as it means we can not use this plugin for this purpose, but if it would work 100% it would be an awesome solution.

How the plugin works is that it triggers the “Item is visible” event when an entry is visible in the RG.
Kindly note that this is the way the plugin works and that we are constrained by the js library limitations.

We will not be able to change the logic of the plugin, as it is not designed to trigger when an entry or “message” in your case was not visible.

I am not aware of your setup and how you are saving the read receipts for the messages, however, i can suggest a workaround.

The workaround consists of changing all previous messages to read when the users open the chat.

You can add a constraint when one message has been read, to change the receipt of other unread messages. please mind that this is a workaround, and I have no examples of how to achieve it at the moment, however this a suggestion meant to help you, theoretically it should be achievable to create.

We regret that we can’t offer a more direct solution, but we’re here to assist you with any further questions or other concerns you might have.
Have a nice day ! :sunny:

Hi,

We will not be able to change the logic of the plugin, as it is not designed to trigger when an entry or “message” in your case was not visible.

That’s not what I need either so thats fine :slight_smile:

My problem is that the plugin is not firing 100% of the times an item is visible. It fires like clockwork when an item becomes visible through scrolling, but not always when when the item is already visible on first load of the RG.

The workaround you suggested is how i implemented this initally, and that works, it’s just not as good…
Thanks!

Hello @BjornT ,
I hope this message reaches you in good spirits.

My problem is that the plugin is not firing 100% of the times an item is visible. It fires like clockwork when an item becomes visible through scrolling, but not always when when the item is already visible on first load of the RG.

I understand how crucial it is for the plugin to fire consistently, especially when items are already visible upon the initial load of the RG (Repeating Group).

Regrettably, due to the underlying logic and architecture of the plugin, it is designed to trigger primarily as you described. This means that its ability to detect all the items that are visible is limited by default. While we strive to meet the diverse needs of all our users, in this case, we are constrained by the inherent functionalities of the plugin.

The workaround you suggested is how i implemented this initally, and that works, it’s just not as good…

We acknowledge that the workaround that we suggested was not ideal, we try to adapt for various requests however this is the best we could suggest taking in consideration the plugin specifics.

If there’s anything else we can assist with or any other feedback you’d like to share, please don’t hesitate to reach out.
Have a nice day! :sunny: