-
ce46de40a7
v0.5.138: CSP script-src-attr unsafe-inline для onchange
cairnr01probe
2026-06-16 05:05:37 +04:00
-
f7af864faf
v0.5.137: onchange + console.log для проверки
cairnr01probe
2026-06-16 05:01:30 +04:00
-
0df031bed1
v0.5.136: ↺ яркая, deleted сохраняется после restore/delete
cairnr01probe
2026-06-16 04:51:42 +04:00
-
31a7d944d0
v0.5.135: UI таблицы — разделение столбцов, 💾, размеры
cairnr01probe
2026-06-16 04:48:41 +04:00
-
d600393b44
v0.5.134: восстановление записей, кнопка удалённых, время МСК
cairnr01probe
2026-06-16 04:39:21 +04:00
-
aa54bb33d7
v0.5.133: type=submit на кнопке удаления
cairnr01probe
2026-06-15 17:17:43 +04:00
-
5e4456cf66
v0.5.132: ADMIN_EMAIL в resolveContext для всех
cairnr01probe
2026-06-15 17:12:14 +04:00
-
f6c8700c26
v0.5.131: isAdmin при имперсонации по ADMIN_EMAIL
cairnr01probe
2026-06-15 17:11:14 +04:00
-
829dd17906
v0.5.130: имперсонация не сохраняет isAdmin от оригинала
cairnr01probe
2026-06-15 17:09:15 +04:00
-
e57de54fc4
v0.5.129: кнопка Выбрать, убран весь debug
cairnr01probe
2026-06-15 16:55:13 +04:00
-
c2ed08d955
v0.5.128: обратно onchange, кнопка не нужна
cairnr01probe
2026-06-15 16:51:17 +04:00
-
61bf162eaa
v0.5.127: clId обновляется после switchTo
cairnr01probe
2026-06-15 16:47:47 +04:00
-
19a31a2514
v0.5.126
cairnr01probe
2026-06-15 16:41:17 +04:00
-
99262e2397
v0.5.125: кнопка Выбрать вместо onchange
cairnr01probe
2026-06-15 16:41:04 +04:00
-
02e6ec7024
v0.5.125: switchTo без редиректа, дебаг на странице
cairnr01probe
2026-06-15 16:37:29 +04:00
-
be31832ec4
debug: логирование switchTo, resolveContext, enhanceImpersonation
cairnr01probe
2026-06-15 16:30:23 +04:00
-
f9570d58f6
v0.5.123: switchTo перед crud.list, activeClientId не затирается
cairnr01probe
2026-06-15 16:16:36 +04:00
-
dcab127e49
v0.5.122: save() при switchTo, редирект после сохранения сессии
cairnr01probe
2026-06-15 15:53:55 +04:00
-
1d32f54c10
v0.5.121: switchTo после crud.list, без save() и без impersonationCompanyId
cairnr01probe
2026-06-15 15:45:58 +04:00
-
8241d095fa
Revert "v0.5.121: clientId всегда activeClientId || clientId, без спецлогики"
cairnr01probe
2026-06-15 15:33:51 +04:00
-
24153b29ea
v0.5.121: clientId всегда activeClientId || clientId, без спецлогики
cairnr01probe
2026-06-15 15:33:38 +04:00
-
d0eed95dc7
v0.5.120: убран save() при switchTo, Express сам сохранит сессию
cairnr01probe
2026-06-15 15:31:57 +04:00
-
d67f914c99
v0.5.119: ссылка на /export в футере для админа
cairnr01probe
2026-06-15 15:29:30 +04:00
-
5083665afc
v0.5.118: фикс смены компании при имперсонации
cairnr01probe
2026-06-15 15:26:36 +04:00
-
42f6ab22b4
v0.5.117: при имперсонации email в UI от таргета, не от админа
cairnr01probe
2026-06-15 15:19:11 +04:00
-
2b36d0f692
v0.5.116: фикс impersonatedCompanyId в сессии + тестовая имперсонация по трём ENV
cairnr01probe
2026-06-15 15:05:21 +04:00
-
344b65aa36
восстановление тестовой имперсонации
cairnr01probe
2026-06-15 14:53:50 +04:00
-
6c52dc88b0
revert: откат имперсонации к v0.5.115 до обсуждения
cairnr01probe
2026-06-15 14:53:21 +04:00
-
a21e8d076b
v0.5.115: тестовая имперсонация — полная подмена данных через ENV
cairnr01probe
2026-06-15 14:52:19 +04:00
-
561c5f1ba7
v0.5.115: имперсонация проверяет originalUserEmail, компании добавляются имперсонируемому
cairnr01probe
2026-06-15 14:47:38 +04:00
-
3c9fadca6a
v0.5.114: IMPERSONATION_COMPANY тоже добавляется в компании
cairnr01probe
2026-06-15 14:45:47 +04:00
-
a15b710a74
v0.5.113: фикс имперсонации — IMPERSONATION_ORIGINAL вместо TARGET
cairnr01probe
2026-06-15 14:42:41 +04:00
-
8384763740
v0.5.112: стиль админки как на основной, убран Выйти, ⚙️→Лимиты и Аудит
cairnr01probe
2026-06-15 14:36:11 +04:00
-
e15c9206b5
v0.5.111: админка — лимиты и аудит (/v2/admin), кнопка ⚙️
cairnr01probe
2026-06-15 14:24:20 +04:00
-
cb3068dd0a
v0.5.110: inline-редактирование через простые формы, без JS innerHTML
cairnr01probe
2026-06-15 14:17:40 +04:00
-
a13641d7ad
v0.5.109: синхронизация версий v2/config + package.json
cairnr01probe
2026-06-15 14:13:26 +04:00
-
c5252540c9
v0.5.108: фикс inline-редактирования — innerHTML вместо show/hide
cairnr01probe
2026-06-15 14:04:11 +04:00
-
1653d0fed0
v0.5.107: inline-редактирование в таблице, редирект / → /v2/app
cairnr01probe
2026-06-15 13:57:48 +04:00
-
99da376c8d
v0.5.106: фикс — админ всегда видит все компании, убран дубль (админ)
cairnr01probe
2026-06-15 13:51:37 +04:00
-
87694b18ae
v2: ARCHITECTURE.md — документ архитектуры
cairnr01probe
2026-06-15 13:47:09 +04:00
-
ed62f06f16
v0.5.105: убран переключатель Администратор, adminMode всегда on
cairnr01probe
2026-06-15 13:45:33 +04:00
-
7cc06bf9d9
v0.5.104: админ видит (личное) у своих компаний в dropdown
cairnr01probe
2026-06-15 13:41:01 +04:00
-
d1e86f5b35
v0.5.103: WZ01112 админ по умолчанию, adminMode auto-on
cairnr01probe
2026-06-15 13:39:04 +04:00
-
306256b165
v0.5.102: единый интерфейс /v2/app для юзеров и админов
cairnr01probe
2026-06-15 13:30:12 +04:00
-
d99a687d36
toggle-admin: redirect to /v2/admin on enable, session.save, v0.5.101
cairnr01probe
2026-06-15 12:44:14 +04:00
-
584a6e56b1
oidc: force redirect to /v2/app after login, v0.5.100
cairnr01probe
2026-06-15 12:28:33 +04:00
-
610fc9aa37
oidc: default returnTo /v2/app, v0.5.99
cairnr01probe
2026-06-15 12:22:18 +04:00
-
afbaa17fc8
v2: WZ01112 admin toggle
cairnr01probe
2026-06-15 12:05:09 +04:00
-
-
-
0380e6f996
v0.6.20: отладка EXTRA_COMPANIES
cairnr01probe
2026-06-15 11:19:58 +04:00
-
e3579f85d7
v0.6.19: шаблон читает req.session.user (с имперсонацией), не req.user
cairnr01probe
2026-06-15 11:18:08 +04:00
-
1298d25601
v0.6.18: авто-имперсонация выставляет isAdmin + adminMode
cairnr01probe
2026-06-15 11:11:25 +04:00
-
92667497a3
v0.6.17: отладка ADMIN_EMAIL в ошибке
cairnr01probe
2026-06-15 11:10:59 +04:00
-
c47a414ab8
v0.6.16: req.clientId = activeClientId — без условий, CRUD не знает про имперсонацию
cairnr01probe
2026-06-15 11:09:44 +04:00
-
fe95649721
v0.6.15: фикс — switch компаний при имперсонации
cairnr01probe
2026-06-15 11:06:48 +04:00
-
a8136a5f0c
v0.6.14: расширенная отладка req.clientId (тип, длина)
cairnr01probe
2026-06-15 11:06:22 +04:00
-
e197b54197
v0.6.13: отладка — показ email/clientId/env в ошибке
cairnr01probe
2026-06-15 10:55:13 +04:00
-
8c85139ece
v0.6.12: полный санитайзер IAM в resolveContext — защита от null/undefined/говна
cairnr01probe
2026-06-15 10:46:31 +04:00
-
6e334b6596
v0.6.11: guard на ВСЕ обязательные поля DB — companyId, cidr, userEmail, entryId
cairnr01probe
2026-06-15 10:45:21 +04:00
-
1a006660b4
v0.6.10: проверка clientId в getOrCreateCompany (3-й уровень)
cairnr01probe
2026-06-15 10:43:19 +04:00
-
b1d30f72b4
v0.6.9: защита от пустого clientId (null client_id)
cairnr01probe
2026-06-15 10:35:03 +04:00
-
54dca739bb
v0.6.8: Выйти — только реальный KC-юзер
cairnr01probe
2026-06-15 10:29:31 +04:00
-
766f17ff44
v0.6.7: фикс — req.email=текущий, impersonatedBy=реальный (правильно)
cairnr01probe
2026-06-15 10:28:06 +04:00
-
0d61956f8f
v0.6.6: разделение — req.email(аудит) vs req.displayEmail(экран)
cairnr01probe
2026-06-15 10:23:04 +04:00
-
737c47acc5
v0.6.5: loginEmail из originalUserEmail, компания слева от email
cairnr01probe
2026-06-15 10:19:07 +04:00
-
93ea828b8f
v0.6.4: авто-имперсонация (ORIGINAL→TARGET) + ADMIN_EMAIL
cairnr01probe
2026-06-15 10:14:16 +04:00
-
12e8a7271a
v0.6.3: убрал (имперсонация) у email, жёлтый баннер сверху
cairnr01probe
2026-06-15 09:57:35 +04:00
-
4d7ae1badb
v0.6.2: email юзера справа от статистики + loginEmail в header
cairnr01probe
2026-06-15 09:55:35 +04:00
-
7b17fc6605
v0.6.1: фикс — email в header (Выйти)
cairnr01probe
2026-06-15 09:46:58 +04:00
-
7c46135dae
v0.6.0: дизайн Nubes — лого, header, стили, email, имперсонация
cairnr01probe
2026-06-15 09:42:33 +04:00
-
a62b52801a
v2→main: интеграция — v2 как основной UI (/), старый UI закомментирован
cairnr01probe
2026-06-15 09:33:45 +04:00
-
-
ac4b1b6db8
v2: таблицы v2_→оригинальные + impersonation модуль (IMPERSONATION_TARGET + EXTRA_COMPANIES)
cairnr01probe
2026-06-15 09:16:10 +04:00
-
c35d55a551
v2: EJS-шаблоны — user, admin, admin-audit, admin-entries
cairnr01probe
2026-06-13 08:46:09 +04:00
-
07e69ce823
v2: export слой — GET /v2/export, агрегация CIDR
cairnr01probe
2026-06-13 08:34:09 +04:00
-
103ee0b895
v2: +admin мок-юзер (3 компании, без имперсонации) для полного тестирования
cairnr01probe
2026-06-13 07:52:01 +04:00
-
4ab27b6bd5
v2: подробные комментарии во всех модулях — что, зачем, контракты
cairnr01probe
2026-06-13 07:37:07 +04:00
-
c45c51f7aa
v2: admin — дашборд компаний, аудит, лимиты, просмотр записей
cairnr01probe
2026-06-13 07:31:01 +04:00
-
1e1b062512
v2: userFlow action + ENABLE_TEST_API флаг — отключение без удаления кода
cairnr01probe
2026-06-13 07:25:36 +04:00
-
5ada74bd6f
v2: выделение валидации — validate() в crud, db/queries получает готовый cidr
cairnr01probe
2026-06-13 07:11:53 +04:00
-
573aa99c7d
v2: разделение слоёв — crud/index.js API-слой, user/ и test/ через crud
cairnr01probe
2026-06-13 06:55:18 +04:00
-
5a0013bc29
v2: fix chaos test — CIDR от 11 (10.x заблокирован), по 10 на компанию, проверка всех компаний
cairnr01probe
2026-06-12 23:04:40 +04:00
-
d1ed1084e4
v2: fix test router mount /test/api → /test, /chaos теперь доступен без авторизации
cairnr01probe
2026-06-12 23:01:28 +04:00
-
2dd44d1b6c
v2: /v2/test/chaos — параллельный хаос-тест внутри приложения (Promise.all)
cairnr01probe
2026-06-12 22:56:57 +04:00
-
5b92ec02a5
v2: убран хаос — curl через сеть слишком медленный
cairnr01probe
2026-06-12 22:55:23 +04:00
-
a5f7f81adc
v2: упрощённый хаос — 30 последовательных запросов с задержками
cairnr01probe
2026-06-12 22:49:13 +04:00
-
ba2d44da57
v2: fix switch case in test API (был сломан sed-ом)
cairnr01probe
2026-06-12 22:29:24 +04:00
-
7333cf705a
v2: switch + chaos тесты (50/54 pass, switch ждёт redeploy)
cairnr01probe
2026-06-12 22:23:09 +04:00
-
abb2e6ad8f
v2: test API — action=switch для переключения компаний
cairnr01probe
2026-06-12 22:02:12 +04:00
-
70a03c9a95
v2: 47 CRUD-тестов — все ТЗ, нагрузка, БД, имперсонация — ALL PASS
cairnr01probe
2026-06-12 22:01:13 +04:00
-
1434257d32
v2: фикс тестов — URL-encoding кириллицы
cairnr01probe
2026-06-12 21:56:36 +04:00
-
c9491bcb7d
v2: /v2/test/api — CRUD эндпоинт + внешние тесты curl
cairnr01probe
2026-06-12 21:43:28 +04:00
-
922784781d
v2: встроенные CRUD-тесты — /v2/test/crud (production-база)
cairnr01probe
2026-06-12 21:40:22 +04:00
-
5c29c49e75
v2: /v2/login → returnTo=/v2/app
cairnr01probe
2026-06-12 21:21:16 +04:00
-
12f1fcd53c
v2: убран v2_ префикс из req.* — роутер и модули согласованы
cairnr01probe
2026-06-12 21:19:43 +04:00
-
e17dd9cd36
v2: убраны v2_ префиксы сессии — user/adminMode/token как в основном коде
cairnr01probe
2026-06-12 21:13:15 +04:00
-
7b4e69bd0c
v2: resolveContext — копирует session.user → v2_user если нет своей
cairnr01probe
2026-06-12 21:10:36 +04:00
-
fd461a5879
v2: user CRUD + schema автозапуск + router тесты — модуль пользователя готов
cairnr01probe
2026-06-12 21:09:30 +04:00
-
e45f4a74c7
v2: роутер по роли + пустышки user/admin — resolveContext middleware
cairnr01probe
2026-06-12 21:03:41 +04:00
-
6dbb76b736
v2: fio — строка (fullName), не объект
cairnr01probe
2026-06-12 20:54:48 +04:00
-
c25b5e9d7f
v2: минимум — /v2/login→основной, /v2/iam→IAM-данные из сессии
cairnr01probe
2026-06-12 20:42:14 +04:00
-
4422fcd0de
v2: откат auth/config/server к
8e225e1 — чистый модуль аутентификации
cairnr01probe
2026-06-12 20:15:02 +04:00