386 Commits
Author SHA1 Message Date
naeel 932e5ca5b6 Fix: таймаут с диагностикой PG (URL + статус БД). Версия 0.1.25 2026-07-09 10:37:32 +04:00
naeel bf24d1577f Fix: таймаут 10с на все запросы — не висим, не даём nginx 503. Версия 0.1.25 2026-07-09 10:36:17 +04:00
naeel e5b536c3ce Fix: connectionTimeoutMillis=5s, idleTimeoutMillis=10s — пул не виснет. Версия 0.1.24 2026-07-09 07:57:06 +04:00
naeel 8e88d6eed7 Миграции: JS-строки, транзакции, _migrations таблица. Без fs/path. Версия 0.1.23 2026-07-09 07:32:50 +04:00
naeel 9557e83d47 /v2/db/query — SELECT SQL-endpoint для ADMIN_EMAIL. Версия 0.1.22 2026-07-09 07:30:11 +04:00
naeel 5d33887165 Док: консультация с Соннетом — EPERM не PG, проблема платформы 2026-07-09 07:24:08 +04:00
naeel b3f5c4903e Чистый ensureSchema: только CREATE TABLE IF NOT EXISTS, без миграций. Версия 0.1.21 2026-07-09 00:27:53 +04:00
naeel 3e15fd4973 Fix: DO$$ блок проверяет RESTORE перед DROP — идемпотентно. Версия 0.1.20 2026-07-09 00:26:31 +04:00
naeel 2390c655f9 Док: разбор инцидента 2026-07-08 (PG OOM + EPERM) 2026-07-09 00:21:31 +04:00
naeel 2a19195dc7 Расширенная диагностика PG: /v2/db-status — DNS, коннект, таблицы, пул. Версия 0.1.19 2026-07-09 00:02:10 +04:00
naeel a3aaeef5d1 /v2/db-status — проверка DNS и подключения к PG. Версия 0.1.18 2026-07-09 00:00:30 +04:00
naeel 9dec159e3d Fix: errorPage undefined — заменён на inline HTML. Версия 0.1.17 2026-07-08 22:22:02 +04:00
naeel 158de70e4e Fix: /ready всегда 200 — nginx не блокирует трафик. Версия 0.1.16 2026-07-08 22:20:09 +04:00
naeel cfdbae0653 Версия 0.1.15 2026-07-08 21:29:43 +04:00
naeel 036441a9f1 Fix: ошибки показывают реальную причину, не скрытую 2026-07-08 21:29:28 +04:00
naeel 1b902c5540 Fix: убран process.exit(1) — приложение не падает, показывает сообщение об ошибке. Версия 0.1.14 2026-07-08 21:20:43 +04:00
naeel 771473c97a Откат миграций: старый ensureSchema без applyMigrations 2026-07-08 15:09:26 +04:00
naeel 4bdcb4c363 Export: убран filename из Content-Disposition для диалога сохранения
Версия: 0.1.13
Документация: db-query-endpoint.md
2026-07-08 14:57:17 +04:00
naeel d20bd85a7d Удалена эмуляция имперсонации (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 591a4c3216 Миграции: _migrations + applyMigrations + sql/migrations/
APP_ENV: test/production с жёлтым баннером в UI
Config: версия 0.1.12
2026-07-08 07:11:16 +04:00
naeel 7982a82286 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 fc5aa7ca09 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 8dc7940318 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 2a37697afb v0.1.8: clean-all — очистка всех таблиц перед сдачей в прод 2026-06-23 12:51:44 +04:00
naeel 4ee032ba8d документация: сессия 2026-06-22 — export view=2, баг имперсонации, TZ аудит 2026-06-22 23:59:15 +04:00
naeel f898aabe7d v0.1.7: аудит — время Москвы вместо UTC 2026-06-22 23:39:19 +04:00
naeel 74e69fa4be удалены временные файлы 2026-06-22 23:21:18 +04:00
naeel 5d292687ce v0.1.6: фикс детекции имперсонации — isImpersonated вместо impersonatedCompanyId 2026-06-22 23:20:18 +04:00
naeel 25f53cf808 export view=2: padStart(2) плотнее 2026-06-22 20:48:40 +04:00
naeel 6e464c58dd export view=2: text-align:right в ячейках 2026-06-22 20:47:34 +04:00
naeel cf97a8c9bf export view=2: таблица без точек, октеты в своих ячейках 2026-06-22 20:47:02 +04:00
naeel ac7009f1e0 export view=2 fix: white-space:pre чтобы пробелы не схлопывались 2026-06-22 20:46:33 +04:00
naeel 1b255362ce version reset to 0.1.1 2026-06-22 20:25:04 +04:00
naeel 5565e067ef export padIP: пробелы вокруг / 2026-06-22 20:23:09 +04:00
naeel deeb54af1c export view=2 HTML table 2026-06-22 20:22:37 +04:00
naeel 73afce35bd v0.5.178: graceful shutdown, CSRF_SECRET fail-fast, /ready probe 2026-06-22 20:02:01 +04:00
naeel d8f8c00f30 v0.5.177: sticky header таблицы 2026-06-22 19:51:40 +04:00
naeel cf2e703d54 v0.5.176: fix rateLimit path (../../ → ../) 2026-06-22 19:44:12 +04:00
naeel 68c3edd8d8 v0.5.175: safeReturn fix, stack trace не утекает 2026-06-22 19:31:11 +04:00
naeel df697cd703 v0.5.174: timeout IAM 5с, rate-limiters на login/CRUD/export 2026-06-22 19:24:58 +04:00
naeel 0135d28189 v0.5.173: OIDC state всегда, CSRF смонтирован, session.regenerate 2026-06-22 19:22:42 +04:00
naeel e943b33a04 v0.5.172: удалён /debug-session, UNIQUE индекс, убраны test/dev IAM 2026-06-22 19:00:10 +04:00
naeel ff1f195a2d v0.5.171: IAM debug страницы только для canAdmin 2026-06-22 18:25:12 +04:00
naeel 4c764eb794 v0.5.170: action=wipe — удаление всех записей компании 2026-06-22 18:20:25 +04:00
naeel 4c39eae4a7 v0.5.169: /v2/test только для ADMIN_EMAIL 2026-06-22 18:06:51 +04:00
naeel a8846d90f2 v0.5.168: удалена v1_legacy из master (сохранена в stable-2026-06-22-legacy) 2026-06-22 17:54:32 +04:00
naeel ef546a9dcb v0.5.167: 9 новых тестов — aggregateCIDRs, v2 config, v1_legacy 2026-06-22 17:52:49 +04:00
naeel 3d20c2a31d v0.5.166: /export→/v2/export редирект, экспорт только админам 2026-06-22 17:46:52 +04:00
naeel 24f1d5af77 v0.5.164: закомментированы старые UI/Api/export, всё в v2 2026-06-22 17:23:56 +04:00
naeel 9e6e22fadc v0.5.163: полосатость ярче 2026-06-22 15:08:15 +04:00