Опрос тикетов по умолчанию каждые 3 с; пустой конфиг не отключает опрос
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@
|
||||
<name>f7support</name>
|
||||
<summary>Support ticket client for F7cloud (F7cloud-compatible)</summary>
|
||||
<description>f7support client app for creating and viewing support tickets.</description>
|
||||
<version>0.1.6</version>
|
||||
<version>0.1.7</version>
|
||||
<licence>AGPL</licence>
|
||||
<author>f7support team</author>
|
||||
<namespace>F7Support</namespace>
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@
|
||||
data-support-api-base="<?php p($_['supportApiBase']); ?>"
|
||||
data-support-ws-base="<?php p($_['supportWsBase'] ?? ''); ?>"
|
||||
data-client-read-receipts="<?php p($_['clientReadReceipts'] ?? '0'); ?>"
|
||||
data-tickets-poll-ms="<?php p((string) ($_['ticketsPollMs'] ?? 3000)); ?>">
|
||||
data-tickets-poll-ms="<?php p((string) ($_['ticketsPollMs'] ?? '3000')); ?>">
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user