feat: индикатор присутствия в конфигурациях (иконка глаза)
Открытые конфигурации фиксируются в локальном SQLite (app_settings) и передаются на сервер через qt_client_schema_state.open_config_uuids при каждом цикле синхронизации. Списки конфигураций обогащаются полем viewers, в таблицах отображается иконка глаза с подсказкой при наличии других пользователей, открывших эту конфигурацию. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -985,6 +985,16 @@ document.addEventListener('DOMContentLoaded', async function() {
|
||||
if (configUUID) {
|
||||
loadVendorSpec(configUUID);
|
||||
}
|
||||
|
||||
// Presence: announce that this config is open and keep renewing every 4 min
|
||||
if (configUUID) {
|
||||
const sendPresence = () => fetch('/api/configs/' + configUUID + '/presence', {method: 'POST'}).catch(() => {});
|
||||
sendPresence();
|
||||
setInterval(sendPresence, 4 * 60 * 1000);
|
||||
window.addEventListener('beforeunload', () => {
|
||||
fetch('/api/configs/' + configUUID + '/presence', {method: 'DELETE', keepalive: true}).catch(() => {});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
async function loadAllComponents() {
|
||||
|
||||
Reference in New Issue
Block a user