This app is using Ionic/Angular on Meteor 1.2.
The home screen uses infinite-scrolling to retrieve documents (20 at a time). Originally I used a publication for this, but found a meteor method provided a smoother experience. However, there are two fields on this document that do need to be reactive. My current solution is to keep an array of the retrieved document ids in an array client-side, which is reactively supplied to a subscription so that I have access to those fields as they change.
The problem is this publication re-runs each time the array of document ids is altered, and it has to re-find the documents it was already monitoring (using $in). So as the user scrolls further and further, the publication is taking longer and longer. The release went really smoothly, but twice a user just kept scrolling and scrolling and the CPU spiked really hard and it started taking over a full second to be ready.
Can I subscribe to the same publication more than once so that it creates a new observer for each page? Is this advisable?
edit: please let me know what I can do to get some help on this