From fdb9fa86b8a89337668d6cfa4a1e323322b46eea Mon Sep 17 00:00:00 2001 From: Repinoid Date: Sun, 11 Oct 2026 09:19:50 +0300 Subject: [PATCH] =?UTF-8?q?docs(history):=20=D0=B7=D0=B0=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=80=D0=B5?= =?UTF-8?q?=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC=20=D0=BF?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=82=D0=B0=D0=BC=20(16/12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HISTORY/2026-10-11-session-log.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/HISTORY/2026-10-11-session-log.md b/HISTORY/2026-10-11-session-log.md index 3c58179..aa2f3af 100644 --- a/HISTORY/2026-10-11-session-log.md +++ b/HISTORY/2026-10-11-session-log.md @@ -33,12 +33,15 @@ | 🟡19 | `api/handler/devices.go` | Ошибка `GetByName` после успешного INSERT давала 500 (пароль терялся, повтор → 409) → отдаём 201 с in-memory объектом | `5114320` | | 🟡11 | `iotpg/iot_telemetry_store.go` | `getTenantDB`/`QueryTelemetry` не проверяли `safeNamespaceRe` (`a_b` ↔ `a-b` → одна БД) → валидация на всех путях | `f41a9fe` | -### Осознанно НЕ менялось (решения) +### Осознанно НЕ менялось — РЕШЕНИЯ (2026-10-11) -- 🟡16 (QoS1 ack): оставлен async-ack + метрика дропов (throughput важнее; синхронный - ack блокировал бы MQTT-колбэк — это уже чинили ранее). -- 🟡12 (`AUTH_TEST_MODE`): уже fail-closed — при отсутствии `JWT_HMAC_SECRET` и - `AUTH_TEST_MODE=false` middleware отказывает в обслуживании. +- 🟡16 (QoS1 ack): **решение — оставить async-ack + метрика дропов.** Синхронный + ack (подтверждать только после отправки в SQS) блокировал бы MQTT-колбэк при + недоступности SQS — это уже чинили ранее (потеря ВСЕХ сообщений). Throughput + важнее; дроп при переполнении фиксируется счётчиком `dropped`. +- 🟡12 (`AUTH_TEST_MODE`): **решение — оставить как есть.** Уже fail-closed: при + отсутствии `JWT_HMAC_SECRET` и `AUTH_TEST_MODE=false` middleware отказывает в + обслуживании (500), а test-mode срабатывает только без секрета. ## 3. Прочее (перед ревью, в этой же сессии)