“Naeel”
182acc66f9
feat: честный /health эндпоинт с расширенной диагностикой (без секретов)
2026-08-26 19:47:33 +03:00
“Naeel”
d62f646e17
Fix: таймаут 10с на все запросы — не висим, не даём nginx 503. Версия 0.1.25
2026-07-09 10:36:17 +04:00
“Naeel”
944faf8277
Fix: connectionTimeoutMillis=5s, idleTimeoutMillis=10s — пул не виснет. Версия 0.1.24
2026-07-09 07:57:06 +04:00
“Naeel”
95b8a7335b
Миграции: JS-строки, транзакции, _migrations таблица. Без fs/path. Версия 0.1.23
2026-07-09 07:32:50 +04:00
“Naeel”
e4a494f18c
/v2/db/query — SELECT SQL-endpoint для ADMIN_EMAIL. Версия 0.1.22
2026-07-09 07:30:11 +04:00
“Naeel”
b9092df65d
Чистый ensureSchema: только CREATE TABLE IF NOT EXISTS, без миграций. Версия 0.1.21
2026-07-09 00:27:53 +04:00
“Naeel”
42755f7d4d
Fix: DO$$ блок проверяет RESTORE перед DROP — идемпотентно. Версия 0.1.20
2026-07-09 00:26:31 +04:00
“Naeel”
8885dae50a
Расширенная диагностика PG: /v2/db-status — DNS, коннект, таблицы, пул. Версия 0.1.19
2026-07-09 00:02:10 +04:00
“Naeel”
e1f238917d
/v2/db-status — проверка DNS и подключения к PG. Версия 0.1.18
2026-07-09 00:00:30 +04:00
“Naeel”
b6bd805874
Fix: errorPage undefined — заменён на inline HTML. Версия 0.1.17
2026-07-08 22:22:02 +04:00
“Naeel”
1f8114ec1a
Fix: /ready всегда 200 — nginx не блокирует трафик. Версия 0.1.16
2026-07-08 22:20:09 +04:00
“Naeel”
9ad95a66bc
Версия 0.1.15
2026-07-08 21:29:43 +04:00
“Naeel”
87d03cd538
Fix: убран process.exit(1) — приложение не падает, показывает сообщение об ошибке. Версия 0.1.14
2026-07-08 21:20:43 +04:00
“Naeel”
bcb70aa9fe
Export: убран filename из Content-Disposition для диалога сохранения
...
Версия: 0.1.13
Документация: db-query-endpoint.md
2026-07-08 14:57:17 +04:00
“Naeel”
10d2e850a0
Удалена эмуляция имперсонации (enhanceImpersonation)
...
- Удалён v2/src/impersonation/index.js (URL-эмуляция)
- Удалён enhanceImpersonation из middleware цепочек /app и /admin
- Боевая checkImpersonation (IAM) не тронута
- Версия 0.1.12
2026-07-08 07:13:57 +04:00
“Naeel”
b26595d08f
feat: кнопка Выйти → /logout (OIDC) с предупреждением о SSO
...
- Возвращена кнопка в user.ejs, href=/logout вместо /v2/logout
- confirm() перед выходом: предупреждает что завершатся ВСЕ сессии Nubes
- /logout → destroy сессии Express → редирект на Keycloak OIDC logout
v0.1.10 → v0.1.11
2026-07-02 08:38:29 +04:00
“Naeel”
3647ad34bc
fix(audit): убрано ограничение по дате — по умолчанию ВСЕ записи
...
- getAudit(): days=null → без фильтра WHERE по дате
- days передаётся только если явно выбран фильтр 30/90/365
- admin-audit.ejs: кнопка «Всё» (активна по умолчанию), заголовок «(всё время)»
v0.1.9 → v0.1.10
2026-07-01 18:39:49 +04:00
“Naeel”
4e6a0baafc
fix: три бага — CSRF в админке, пагинация аудита, скрыта кнопка выхода
...
1. Изменение лимитов (Баг 1): добавлен CSRF-токен в форму /v2/admin/limit
- v2/src/admin/index.js: createAdminRouter принимает {generateCsrfToken},
передаёт csrfToken в шаблон admin.ejs
- views/v2/admin.ejs: скрытое поле <input name=_csrf> в форме лимита
2. Журнал операций (Баг 2): пагинация + фильтр по дате вместо хардкод LIMIT 500
- v2/src/db/queries.js: getAudit({companyId,days,page,limit}) —
COUNT(*) OVER() для пагинации, WHERE created_at > NOW() - INTERVAL
- v2/src/admin/index.js: чтение days/page из query string, limit=100
- views/v2/admin-audit.ejs: фильтр 30/90/365 дней, prev/next пагинация
3. Кнопка Выйти (Баг 3): скрыта, т.к. /v2/logout не разлогинивает из Keycloak
- views/v2/user.ejs: кнопка закомментирована с пояснением
v0.1.8 → v0.1.9
2026-07-01 18:26:06 +04:00
“Naeel”
b8dd9e10a9
v0.1.8: clean-all — очистка всех таблиц перед сдачей в прод
2026-06-23 12:51:44 +04:00
“Naeel”
e9451c9e65
v0.1.7: аудит — время Москвы вместо UTC
2026-06-22 23:39:19 +04:00
“Naeel”
2a67c56739
v0.1.6: фикс детекции имперсонации — isImpersonated вместо impersonatedCompanyId
2026-06-22 23:20:18 +04:00
“Naeel”
ee64184b26
export view=2: padStart(2) плотнее
2026-06-22 20:48:40 +04:00
“Naeel”
9cab0565a7
export view=2: text-align:right в ячейках
2026-06-22 20:47:34 +04:00
“Naeel”
0d70937ab7
export view=2: таблица без точек, октеты в своих ячейках
2026-06-22 20:47:02 +04:00
“Naeel”
440782fdda
export view=2 fix: white-space:pre чтобы пробелы не схлопывались
2026-06-22 20:46:33 +04:00
“Naeel”
c14e70aba7
version reset to 0.1.1
2026-06-22 20:25:04 +04:00
“Naeel”
49b5b4c06e
export padIP: пробелы вокруг /
2026-06-22 20:23:09 +04:00
“Naeel”
bd5db801bf
export view=2 HTML table
2026-06-22 20:22:37 +04:00
“Naeel”
b0c939d642
v0.5.178: graceful shutdown, CSRF_SECRET fail-fast, /ready probe
2026-06-22 20:02:01 +04:00
“Naeel”
587da4222b
v0.5.177: sticky header таблицы
2026-06-22 19:51:40 +04:00
“Naeel”
5c76c92f05
v0.5.176: fix rateLimit path (../../ → ../)
2026-06-22 19:44:12 +04:00
“Naeel”
85038c3bd3
v0.5.175: safeReturn fix, stack trace не утекает
2026-06-22 19:31:11 +04:00
“Naeel”
eed88ecadf
v0.5.174: timeout IAM 5с, rate-limiters на login/CRUD/export
2026-06-22 19:24:58 +04:00
“Naeel”
c6ca9c4389
v0.5.173: OIDC state всегда, CSRF смонтирован, session.regenerate
2026-06-22 19:22:42 +04:00
“Naeel”
087640dfe6
v0.5.172: удалён /debug-session, UNIQUE индекс, убраны test/dev IAM
2026-06-22 19:00:10 +04:00
“Naeel”
51b8d8ded4
v0.5.171: IAM debug страницы только для canAdmin
2026-06-22 18:25:12 +04:00
“Naeel”
e00a0c0d7e
v0.5.170: action=wipe — удаление всех записей компании
2026-06-22 18:20:25 +04:00
“Naeel”
85439584db
v0.5.169: /v2/test только для ADMIN_EMAIL
2026-06-22 18:06:51 +04:00
“Naeel”
2170528a78
v0.5.168: удалена v1_legacy из master (сохранена в stable-2026-06-22-legacy)
2026-06-22 17:54:32 +04:00
“Naeel”
459b8abd75
v0.5.167: 9 новых тестов — aggregateCIDRs, v2 config, v1_legacy
2026-06-22 17:52:49 +04:00
“Naeel”
a05e6ca879
v0.5.166: /export→/v2/export редирект, экспорт только админам
2026-06-22 17:46:52 +04:00
“Naeel”
cca6adc67c
v0.5.164: закомментированы старые UI/Api/export, всё в v2
2026-06-22 17:23:56 +04:00
“Naeel”
2fe7320306
v0.5.163: полосатость ярче
2026-06-22 15:08:15 +04:00
“Naeel”
f08b70357d
v0.5.162: полосатость таблицы, отступы в справке
2026-06-22 15:01:41 +04:00
“Naeel”
c880c4d7d0
v0.5.161: точный текст справки из help.md + ссылка на сервис
2026-06-22 14:52:13 +04:00
“Naeel”
7c52b9c614
v0.5.160: справка под таблицей на главной
2026-06-22 14:42:47 +04:00
“Naeel”
b20481b0ff
v0.5.159: fix aggregateCIDRs — баг с 1<<31, склеивание /32
2026-06-18 17:14:20 +04:00
“Naeel”
5ac4198a28
v0.5.158: logout без KC, 401=destroy+redirect SSO
2026-06-17 20:51:12 +04:00
“Naeel”
882ba84dc1
v0.5.157: resolveContext проверяет имперсонацию через IAM на каждый запрос
2026-06-17 16:20:59 +04:00
“Naeel”
ebcf6c8da5
v0.5.156: 'Нет токена' → редирект на /v2/login
2026-06-17 15:58:38 +04:00