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