From 306bcc8f51f4c1b2610d2a6f2b9acc7a95722ce6 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 14 May 2026 10:31:51 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BB=D0=B0=D0=B3=20client=5Fread=5Frece?= =?UTF-8?q?ipts:=20=D0=BD=D0=B5=20=D0=B2=D1=8B=D0=B7=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20POST=20/read=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE?= =?UTF-8?q?=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E=20(=D1=83=D0=B1=D0=B8?= =?UTF-8?q?=D1=80=D0=B0=D0=B5=D1=82=20404=20=D0=B2=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=81=D0=BE=D0=BB=D0=B8)?= 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 | 5 +++++ templates/main.php | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index 7d0ce74..29cf46f 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.1 + 0.1.2 AGPL f7support team F7Support diff --git a/js/main.js b/js/main.js index cad1a71..22a7443 100644 --- a/js/main.js +++ b/js/main.js @@ -6,6 +6,8 @@ const serverAddress = root.dataset.serverAddress; const apiBase = root.dataset.supportApiBase; const supportWsBaseOverride = (root.dataset.supportWsBase || "").trim(); + /** Включается в NC: `occ config:app:set f7support client_read_receipts --value=1` после выката API `POST .../read`. */ + const clientReadReceiptsEnabled = root.dataset.clientReadReceipts === "1"; const RASTER_IMAGE_EXT = new Set(["jpg", "jpeg", "png", "gif", "webp", "bmp", "tif", "tiff", "heic", "heif"]); const RASTER_IMAGE_MIME = new Set([ @@ -264,7 +266,7 @@ } async function markClientTicketRead(ticketNumber) { - if (skipClientReadReceiptPost || !ticketNumber) return; + if (!clientReadReceiptsEnabled || skipClientReadReceiptPost || !ticketNumber) return; let res; try { res = await fetch(`${apiBase}/api/client/tickets/${encodeURIComponent(ticketNumber)}/read`, { diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 064228a..25fe02b 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -39,6 +39,10 @@ class PageController extends Controller { // Optional full WebSocket URL prefix, e.g. wss://support.f7cloud.ru/api/ws (path before /tickets/{id}) $supportWsBase = $this->config->getAppValue('f7support', 'support_ws_base', ''); + // POST /api/client/tickets/{id}/read — только если бэкенд уже выкатили (иначе 404 и шум в консоли NC). + // Включение: occ config:app:set f7support client_read_receipts --value=1 + $clientReadReceipts = $this->config->getAppValue('f7support', 'client_read_receipts', '0'); + Util::addStyle('f7support', 'f7support'); Util::addScript('f7support', 'main'); @@ -48,6 +52,7 @@ class PageController extends Controller { 'supportApiBase' => $supportApiBase, 'supportApiOrigin' => $supportApiOrigin, 'supportWsBase' => $supportWsBase, + 'clientReadReceipts' => $clientReadReceipts, ]); } } diff --git a/templates/main.php b/templates/main.php index 79a398c..772362e 100644 --- a/templates/main.php +++ b/templates/main.php @@ -5,5 +5,6 @@ data-server-address="" data-support-api-base="" data-support-ws-base="" + data-client-read-receipts="" data-messages-poll-ms="5000">