fix: harden document normalization
Reject overlapping source and destination roots before any write so normalization cannot replace the raw Ministry archive. Recover an interrupted directory publication before resume checks and require the normalized target to exist before skipping a manifest success. Treat malformed link and image URLs as unsafe attributes, add regressions for all review findings, and bump the backend version to 0.2.2.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
- Telegram-бот: `0.2.2`
|
||||
- Telegram-бот на Synology: `0.2.1`
|
||||
- Backend: `0.2.1`
|
||||
- Backend: `0.2.2`
|
||||
- Frontend: не создан
|
||||
|
||||
## Краткий итог
|
||||
@@ -68,10 +68,10 @@
|
||||
- Локальный Git-репозиторий восстановлен и привязан к Gitea.
|
||||
- Репозиторий организован как основа всего проекта, а не отдельного бота.
|
||||
- Бот развёрнут в Container Manager на Synology; автозапуск после перезапуска менеджера проверен.
|
||||
- Реализован backend-загрузчик ЦБД Минюста КР версии `0.2.1` без внешних зависимостей.
|
||||
- Реализован backend-загрузчик ЦБД Минюста КР версии `0.2.2` без внешних зависимостей.
|
||||
- Загрузчик сохраняет метаданные, редакции RU/KY и изображения, а прогресс — в SQLite.
|
||||
- Пилотная выгрузка двух документов и возобновление без повторного скачивания проверены на живом API.
|
||||
- Реализован backend-нормализатор версии `0.2.1` без внешних зависимостей.
|
||||
- Реализован backend-нормализатор версии `0.2.2` без внешних зависимостей.
|
||||
- Нормализатор создаёт канонические метаданные, безопасный HTML, чистый текст и адресуемые фрагменты RU/KY.
|
||||
- SQLite-манифест обеспечивает возобновление, повтор ошибок и пропуск неизменившихся документов.
|
||||
|
||||
@@ -134,6 +134,9 @@
|
||||
|
||||
### 2026-08-12
|
||||
|
||||
- Нормализатор запрещает пересекающиеся каталоги источника и результата,
|
||||
восстанавливает прерванную публикацию и отбрасывает некорректные URL.
|
||||
- Версия backend обновлена до `0.2.2`.
|
||||
- Загрузчик пересоздаёт временный список документов на текущей странице не
|
||||
только после HTTP 404, но и после исчерпания повторов запроса списка.
|
||||
- Версия backend обновлена до `0.2.1`.
|
||||
@@ -194,4 +197,4 @@
|
||||
|
||||
---
|
||||
|
||||
Акылдаш · Telegram-бот v0.2.2 · Backend v0.2.1 · Frontend — не создан
|
||||
Акылдаш · Telegram-бот v0.2.2 · Backend v0.2.2 · Frontend — не создан
|
||||
|
||||
Reference in New Issue
Block a user