html-embed: комментарий обещает «fall back to raw», а catch возвращает "" (теряет данные) #78

Closed
opened 2026-06-21 02:33:10 +03:00 by Ghost · 0 comments

Найдено в 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.

Найдено в 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.
Ghost closed this issue 2026-06-21 14:10:32 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#78