html-embed: комментарий обещает «fall back to raw», а catch возвращает "" (теряет данные) #78
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).Грань: documentation · Severity: warning
Где:
packages/editor-ext/src/lib/html-embed/html-embed.ts:42Проблема
Комментарий в catch гласит «Never swallow silently in a way that loses data: fall back to raw.», но код делает
return "";. Он НЕ возвращает source — отбрасывает его. Если encodeHtmlEmbedSource бросит (например Latin1-граница btoa после encodeURIComponent), комментарий обещает сохранение сырой разметки, а код сбрасывает весь embed в пустую строку. Сопровождающий, доверяющий комментарию, решит, что данные в безопасности. (catch в decodeHtmlEmbedSource честно возвращает "" без вводящего в заблуждение обещания.)Предлагаемый фикс
Либо привести код к комментарию (
return source;в catch), либо исправить комментарий, указав что при ошибке кодирования source отбрасывается в пустой embed.