# Обновление 5 — Нормализация URL картинок ## Проблема Клиент Conversations (и его форки) не отображает OOB-картинки, если URL содержит символ `:` в path-части (например, `…/1579780545_0:182:3048:1897_…jpg`). При парсинге OOB `` клиент интерпретирует `:` как разделитель схемы или порта и обрезает URL — ссылка становится невалидной, картинка не загружается. URL без двоеточий в пути отображаются корректно. ## Решение URL-энкодировать path-часть URL картинки перед сохранением в `NewsItem`. Символ `:` кодируется как `%3A`. Согласно RFC 3986, percent-encoded символы эквивалентны оригинальным — CDN-серверы обязаны принимать такие URL. ## Техническая реализация 1. В `adapters/sources/rss/fetcher.py` добавить функцию `_normalize_image_url(url: str) -> str` 2. Функция использует `urllib.parse` (стандартная библиотека, без новых зависимостей): - разобрать URL через `urlparse` - перекодировать path через `quote(path, safe='/')` — слэши остаются, `:` кодируется - собрать обратно через `urlunparse` 3. Вызывать `_normalize_image_url` в `_extract_image_url` перед возвратом URL