From 11e111d22231ea3f096e2757e0e47375bad11831 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 14 May 2026 13:25:56 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=80=D0=BE=D1=81=20=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D1=83=D0=BC?= =?UTF-8?q?=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E=20=D0=BA=D0=B0=D0=B6?= =?UTF-8?q?=D0=B4=D1=8B=D0=B5=203=20=D1=81;=20=D0=BF=D1=83=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D1=82?= =?UTF-8?q?=20=D0=BE=D0=BF=D1=80=D0=BE=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- appinfo/info.xml | 2 +- js/main.js | 4 ++-- lib/Controller/PageController.php | 8 ++++++-- templates/main.php | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index f793569..56c822a 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -4,7 +4,7 @@ f7support Support ticket client for F7cloud (F7cloud-compatible) f7support client app for creating and viewing support tickets. - 0.1.6 + 0.1.7 AGPL f7support team F7Support diff --git a/js/main.js b/js/main.js index ab2ec63..5473ce3 100644 --- a/js/main.js +++ b/js/main.js @@ -9,11 +9,11 @@ /** Включается в NC: `occ config:app:set f7support client_read_receipts --value=1` после выката API `POST .../read`. */ const clientReadReceiptsEnabled = root.dataset.clientReadReceipts === "1"; const ticketsPollMsRaw = parseInt( - String(root.dataset.ticketsPollMs || root.dataset.messagesPollMs || "").trim(), + String(root.dataset.ticketsPollMs || root.dataset.messagesPollMs || "3000").trim(), 10 ); const ticketsPollMsParsed = Number.isFinite(ticketsPollMsRaw) && ticketsPollMsRaw >= 0 ? ticketsPollMsRaw : 3000; - /** Интервал опроса GET /api/client/tickets (мс). 0 — выключить. Иначе 3000…120000. WebSocket только у открытого тикета; без опроса зелёная точка по другим тикетам не обновится. Устаревшее имя: data-messages-poll-ms. */ + /** Интервал опроса GET /api/client/tickets (мс). По умолчанию 3000 (3 с), если атрибут не задан. 0 — выключить. Иначе 3000…120000. */ const ticketsPollIntervalMs = ticketsPollMsParsed === 0 ? 0 : Math.min(120000, Math.max(3000, ticketsPollMsParsed)); diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 33b4d8c..e600d7e 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -51,8 +51,12 @@ class PageController extends Controller { $clientReadReceipts = $this->config->getAppValue('f7support', 'client_read_receipts', '0'); // Периодический GET /api/client/tickets (мс): has_unread и отпечаток карточки; WebSocket только у открытого тикета. - // 0 — отключить опрос. Иначе значение ограничивается 3000…120000. occ: f7support tickets_poll_ms - $ticketsPollMs = (int) $this->config->getAppValue('f7support', 'tickets_poll_ms', '3000'); + // По умолчанию 3000 (3 с). Пустая строка в конфиге трактуется как 3000. Явное «0» отключает опрос. Иначе 3000…120000. occ: f7support tickets_poll_ms + $rawPoll = trim((string) $this->config->getAppValue('f7support', 'tickets_poll_ms', '3000')); + if ($rawPoll === '') { + $rawPoll = '3000'; + } + $ticketsPollMs = (int) $rawPoll; if ($ticketsPollMs < 0) { $ticketsPollMs = 0; } elseif ($ticketsPollMs > 0) { diff --git a/templates/main.php b/templates/main.php index 1a861c0..be2a635 100644 --- a/templates/main.php +++ b/templates/main.php @@ -6,5 +6,5 @@ data-support-api-base="" data-support-ws-base="" data-client-read-receipts="" - data-tickets-poll-ms=""> + data-tickets-poll-ms="">