Re: RM#3294 - User need to reset the layout to see the changedpreferences parameters

Поиск
Список
Период
Сортировка
От Aditya Toshniwal
Тема Re: RM#3294 - User need to reset the layout to see the changedpreferences parameters
Дата
Msg-id CAM9w-_kJjczpv1=tNWDkNyVX=2hr0AaXzgQT0-RCjD1Q_e0Qaw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: RM#3294 - User need to reset the layout to see the changedpreferences parameters  (Victoria Henry <vhenry@pivotal.io>)
Ответы Re: RM#3294 - User need to reset the layout to see the changedpreferences parameters  (Khushboo Vashi <khushboo.vashi@enterprisedb.com>)
Список pgadmin-hackers
Hi Victoria/Hackers,

On Tue, Jun 12, 2018 at 9:52 PM, Victoria Henry <vhenry@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.

​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"

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Akshay Joshi
Дата:
Сообщение: Fixed issue on index page of the pgAdmin4 documentation
Следующее
От: Dave Page
Дата:
Сообщение: pgAdmin 4 commit: Enable building of the appbundle with Python 3.6.