_unescapeHtml en decodeNamedHtmlEntities samenvoegen (identieke logica) #2078

Closed
opened 2026-09-13 08:06:16 +00:00 by brenno · 0 comments
Owner

Probleem

Twee functies in verschillende lagen implementeren exact dezelfde HTML-entity decode-logica:

  1. lib/utils/inline_markdown.dart:149 -- decodeNamedHtmlEntities(String text) (publiek)
  2. lib/services/markdown_service_helpers.dart:249 -- _unescapeHtml(String value) (privaat, part of markdown_service.dart)

Beide decoderen de named HTML-entities (lt, gt, quot, amp) in dezelfde volgorde (amp gaat als laatste om double-decode te voorkomen). De commentaar bij decodeNamedHtmlEntities verwijst expliciet naar _unescapeHtml als de spiegel.

Callers

decodeNamedHtmlEntities wordt aangeroepen vanuit:

  • widgets/slides/previews/timeline_preview.dart (3x)
  • widgets/slides/previews/chart_preview.dart (4x)
  • utils/inline_markdown.dart zelf (1x)

_unescapeHtml wordt aangeroepen vanuit:

  • services/markdown_parse/markdown_service_parse_columns.dart (2x)

Voorstel

Vervang _unescapeHtml door een aanroep naar decodeNamedHtmlEntities. De functie is al publiek in utils/inline_markdown.dart.

Schatting

~6 regels verwijderbaar.

Labels

duplicate, enhancement

## Probleem Twee functies in verschillende lagen implementeren exact dezelfde HTML-entity decode-logica: 1. `lib/utils/inline_markdown.dart:149` -- `decodeNamedHtmlEntities(String text)` (publiek) 2. `lib/services/markdown_service_helpers.dart:249` -- `_unescapeHtml(String value)` (privaat, part of markdown_service.dart) Beide decoderen de named HTML-entities (lt, gt, quot, amp) in dezelfde volgorde (amp gaat als laatste om double-decode te voorkomen). De commentaar bij `decodeNamedHtmlEntities` verwijst expliciet naar `_unescapeHtml` als de spiegel. ## Callers `decodeNamedHtmlEntities` wordt aangeroepen vanuit: - `widgets/slides/previews/timeline_preview.dart` (3x) - `widgets/slides/previews/chart_preview.dart` (4x) - `utils/inline_markdown.dart` zelf (1x) `_unescapeHtml` wordt aangeroepen vanuit: - `services/markdown_parse/markdown_service_parse_columns.dart` (2x) ## Voorstel Vervang `_unescapeHtml` door een aanroep naar `decodeNamedHtmlEntities`. De functie is al publiek in `utils/inline_markdown.dart`. ## Schatting ~6 regels verwijderbaar. ## Labels duplicate, enhancement
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2078
No description provided.