Журнал изменений

Обновления сайта

Крупные изменения сайта и базы знаний, сгруппированные по месяцам: публичный контент, админка, качество, безопасность и инфраструктура.

Обновления сайта

Проведён полный аудит безопасности

Июльский аудит безопасности прошёл по всему контуру: оформлена модель угроз, усилены Docker/nginx/MinIO, CI image checks и production checklist, а также PASETO/OpenAPI и XSS-чувствительные frontend-пути.

Безопасность Инфраструктура Backend Frontend Качество

Авторизация стала устойчивее к долгим сессиям

Админская авторизация получила скользящие серверные сессии: активный refresh продлевает idle lifetime только до absolute lifetime cap, а истёкшие сессии ежедневно удаляются фоновой задачей. В деталке участника теперь видно активные сессии с безопасными device-метками и можно отзывать текущую, одну, все или другие сессии.

Auth Безопасность Backend Frontend Админка

Появился публичный журнал изменений

Сайт получил страницу обновлений с полной историей сайта, сжатой до крупных вех: публичный контент, админка, качество, безопасность и инфраструктура.

Контент Frontend Backend SEO

Обработка очереди вопросов матрицы ускорилась

Очередь получила общий RU/EN Markdown-form со sticky actions, сценарии «создать/отклонить и далее» и «пропустить», а импорт из txt/csv/xlsx теперь показывает предпросмотр, ошибки валидации и точные дубли до подтверждения. Общая форма также получила независимый от провайдера RU→EN workspace: связанные пары полей, проверку готовности и совпадений, EN-предпросмотр и версионный JSON для безопасного copy/import с сохранением Markdown, code, URL и typed wiki links. Для AI-агентов отдельная machine-граница теперь остаётся на edge: семь REST operations смонтированы в основном Litestar app и используют общие settings, DI и DB session вместо отдельного процесса и UDS. WireGuard-bound nginx mTLS-listener пропускает только точный allowlist, а public listener возвращает 404 для внутреннего пути и удаляет поддельный certificate header. MCP остался локальным stdio-мостом к пяти Draft-only операциям. Раздельные сертификаты, scopes и privacy-safe аудит сохраняются; упрощение осознанно оставляет общими с backend процесс, роль БД, секреты и контур доступности.

Админка Frontend Backend Матрица Контент Локализация Безопасность

База знаний получила приватные разделы людей и дат

Владельцы и администраторы могут вести изолированные по автору карточки людей: контакты и дни рождения, теги, типизированные связи, Markdown-заметки, фото и вложения. Памятные ежегодные даты получили календарную сортировку, связи с людьми, теги, заметки и приватные вложения; в карточках людей видны обратные ссылки. Приватные файлы хранятся отдельно от публичного media bucket, читаются только через проверяющий автора backend stream, а публичный S3 edge отвечает 404.

Админка Frontend Backend Безопасность Инфраструктура

Релизы и интерфейс стали аккуратнее

CI/CD quality, smoke и deploy jobs разделены понятнее, релиз снова требует ручного подтверждения, а файлы, статистика, мобильные сценарии, локализованные даты и защита несохранённых изменений во всех формах админки получили июльскую полировку.

Доставка Качество Админка Инфраструктура Frontend Локализация

В workspace появились служебные инструменты

Владельцы и администраторы теперь видят состояние кэша по доменам, могут отдельно очистить его или запустить наблюдаемый прогрев, а также проверить и удалить протухшие сессии.

Админка Backend Frontend Инфраструктура Auth

Markdown-редактор стал полностью своим

Статьи, вопросы матрицы и RU→EN workspace перешли с Toast UI на общий CodeMirror-редактор: отдельные режимы редактора с псевдорендерами, чистого исходника и безопасного превью, независимые от раскладки горячие клавиши, smart lists/fences, поиск и вставка нескольких изображений. Markdown-таблицы стали интерактивными, но сохранили обычный переносимый исходник: ячейки выделяются прямоугольным диапазоном, Delete и Cut адаптивно очищают ячейки или удаляют полностью выбранные строки, столбцы и таблицу, добавление доступно через плюсики на нижней и правой гранях, а строки и столбцы переставляются за крайние drag handles с заметными маркерами захвата и места вставки. Сетка выглядит частью редактора без отдельной карточки и фантомных столбцов: адаптивные колонки и плюсики остаются в ширине редактора, пустые ячейки открываются без скачка страницы, а строки до и после таблицы не перекрываются. Активная ячейка показывает каретку на позиции ввода даже без текста, удерживает повторный ввод в той же ячейке в Chrome и Firefox и не прокручивает страницу при печати. Markdown-разделитель не занимает визуальную строку, а защищённая пустая строка после таблицы не даёт следующему тексту стать её новой строкой в редакторе или превью; сам текст совпадает со своим номером в gutter. Пустые строки сохраняют высоту, а стрелки не перескакивают через обычный текст рядом с таблицей. Контекстное меню объединяет структурные операции, сортировку и выравнивание, а TSV/CSV можно копировать и вставлять. Wiki-ссылки получили синтаксическую подсветку и двухшаговое автодополнение домена и цели: черновики и опубликованные материалы видны в одном списке, а вставка с клавиатуры оставляет место для необязательной подписи. Редактор растёт вместе с текстом без внутренней вертикальной прокрутки, а sticky-панели режимов, компактных иконок всех команд и справки по горячим клавишам остаются доступны в длинных документах. Доступный полноэкранный режим сохраняет текущий текст, выделения и историю отмены, удерживает фокус внутри редактора и возвращает пользователя к прежнему месту формы после выхода.

Админка Frontend Контент Матрица Локализация Качество

Публичный SEO-контур вышел в SSR

Статьи, вопросы матрицы и engineering case-study получили Angular SSR, metadata, Open Graph, JSON-LD, sitemap и robots.txt для стабильной публичной выдачи.

SEO Frontend Backend Контент

Рабочие области контента стали взрослее

Модераторы, очередь вопросов, импорт из txt/csv/xlsx, редактор структуры матрицы, валидация статей и resume workspace перешли в защищённую админку.

Админка Frontend Backend Контент Матрица

Качество и эксплуатация стали строже

Появились query-plan checks, Lighthouse gates, Trivy, pip-audit, Hadolint, Dockle, TaskIQ cache warm и hotswap-деплой с readiness health checks.

Качество Безопасность Инфраструктура Доставка

Angular UI заменил прототип

Публичная база знаний переехала на Angular: матрица, статьи, интерфейсная локализация RU/EN, фильтры, аналитика просмотров и первые performance checks.

Frontend Контент Матрица Локализация Аналитика

Начался Angular rewrite

Frontend получил Angular-структуру, окружения, typed API client, routing, базовый shell и первые компоненты матрицы.

Frontend Матрица

Появились auth, HTTPS и управление матрицей

Логин, logout, draft/publish действия, CRUD для вопросов матрицы, nginx subdomains и HTTPS стали частью рабочей версии проекта.

Auth Backend Админка Матрица Безопасность Инфраструктура

Редактор получил загрузки и таблицу матрицы

Контентный редактор получил presigned uploads через S3-compatible storage, генерацию имён файлов и табличное представление матрицы.

Контент Frontend Backend Матрица Инфраструктура

Появились архитектурные документы, cache и Argon2

ADRs, доменная документация, coverage badges, Valkey cache, Argon2 hashing, разделение auth-слоя и русская локализация админки задали базовые правила проекта.

Инфраструктура Backend Безопасность Auth Качество Локализация

Появились блоговая модель и CI/CD

Стартовали blog posts, GitHub Actions quality checks, coverage badges, deployment workflow и подготовка контейнеров для публикации.

Контент Доставка Качество Инфраструктура

Публичный прототип получил SEO и UX

Litestar UI получил страницы матрицы, поиск, about page, светлую/тёмную тему, sitemap.xml, HTML sitemap, robots.txt, базовую SEO-разметку и Sentry.

Backend Frontend Матрица SEO

Backend переехал на Litestar

FastAPI был заменён на Litestar, публичный UI временно пошёл через шаблоны и HTMX, а админский и публичный контуры начали расходиться.

Backend Frontend

Заложены backend, frontend и контейнеры

Проект получил backend/frontend split, первые frontend связи с API, Docker Compose, auth tests, MinIO helpers и README для новой структуры.

Backend Frontend Инфраструктура Auth

Появился backend-прототип матрицы

Админка, import/export и endpoints для листов, подразделов, фильтрации и деталей вопросов стали первыми рабочими контурами матрицы.

Backend Матрица Админка

Репозиторий стартовал

Появилась первая версия проекта и базовый security pipeline; с этого началась история сайта как отдельной базы знаний.

Инфраструктура Безопасность