page-templates: catch-ветка lookupTemplate (fail-closed в not_found при битом контенте) без тестов #81
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Найдено в multi-aspect code review всех изменений с коммита
053a9c0d(ветка develop).Грань: test-coverage · Severity: warning
Где:
apps/server/src/core/page/transclusion/transclusion.service.ts:418Проблема
Catch существует ради инварианта безопасности: если срез comment-марок падает, страница должна вернуться как not_found, а не утечь контент с исходными comment-марками. Оба lookup-спека подают только корректный контент, поэтому ветка, возвращающая not_found для доступной страницы, не исполняется. Будущее изменение, возвращающее при ошибке парсинга сырой page.content (с comment-марками), не будет поймано тестом.
Предлагаемый фикс
Тест lookupTemplate, где контент доступной страницы заставляет getProsemirrorContent/jsonToNode бросить (битый pmJson); проверить, что элемент = { sourcePageId, status: 'not_found' } и в результате нет comment-марки.
Ghost referenced this issue2026-06-21 04:15:11 +03:00