On Thu, Jun 14, 2018 at 6:54 PM, Aditya Toshniwal < aditya.toshni...@enterprisedb.com> wrote:
> Hi Victoria/Hackers, > > On Tue, Jun 12, 2018 at 9:52 PM, Victoria Henry <vhe...@pivotal.io> wrote: > >> Hi Aditya, >> >> >> It is not possible to fire event in another tab/new browser window. For >>>>> example, query tool can be open in another tab. And thus, changes are not >>>>> reflected there. There are solutions available like updating the >>>>> localStorage of the browser but those are not reliable and does not work >>>>> properly on different browsers. >>>>> >>>> To communicate between browser tabs we can use cookie polling on client >>>> side it self (at least it will avoid polling over http). >>>> The main tab will update only preference specific cookie when >>>> preference is updated and other tabs will poll required cookies (not all) >>>> with specific interval (1 second can be configurable). >>>> >>> Polling is a solution but I think it should be the last option. http >>> polls will not be required anyway as we have preference cache in the >>> browser object. >>> >> >> Maybe it's better to poll only when an editor is open in a separate >> window? What would we be polling for and how would be tell the backend >> that something changed during the poll? >> > > Currently I am using the cache_preferences function to fire the events. > cache_preferences is called whenever preferences are changed. I suggest we > add kind of version for the preference cache, lets say prefcache_version > and we can set it to current epoch time whenever the cache_preference is > called. > > Now, when a new tab/window is opened, it will store the version of > prefcache it is having. When the main window changes the preferences and > cache_preference is called, the prefcache_version will increase to current > epoch time. New tab polling can check if the version has increased and can > update its preferences along with prefcache_version. > > Sounds good to me. > Please let me know if any suggestions. > > >> Thanks >> Victoria & Joao >> > > > > -- > Thanks and Regards, > Aditya Toshniwal > Software Engineer | EnterpriseDB Software Solutions | Pune > "Don't Complain about Heat, Plant a tree" >