No Craig,
We are not calling hereNow every 300 ms.
LOL The function in updated() does not even fire, as I described. I don't think you fully understand how Vue.js lifecycle hooks or the JavaScript debounce() function works.
The updated() lifecycle hook in Vue.js only fires when there is a Vue.js event. In this code, that means it on fires on the events I described above.
Even when update() fires, the debounce() function does not fire because it fires only on the trailing edge of 300 ms and that function does not exist (the instance) because the update() lifecycle hook has already exited.
As I said above, that line of code does NOTHING. And in the current version running, it is commented out, since it does nothing.
Regarding PUBNUB.
Frankly, I feel in your replies that you may not fully understand your own API. Perhaps you have not actually every analyzed the XHR calls in DevTools looking at the code under various conditions? It seems you are advsing me from theory (from reading the API docs), not practice (coding and doing the analysis of the XHR calls).
Your API polls presence interval is based on subscribe() (presence set to TRUE). That is not the same as from the pubnub listener. It does not set the presence polling interval.
Yes, the listener listens but the polling is fired every second based in the client when presence is set to TRUE in subscribe.
I have already analyzed these API calls in Chrome Dev tools and it's easy to see what is going on,
You seem to not understand that your API polls presence every second (when it is set in subscribe to TRUE) and there is no way to set that interval in your API.
This generates 100s of thousands of useless transactions because every subscriber is polling the pubnub network every second or so when the subscribe presence TRUE.
I have been over this very carefully in Chome DevTools watching how each flag effects the XHR calls.
Then, again, I could be wrong, LOL... but I have been over this very carefully in Chrome DevTools many times for hours.