Основное архитектурное отличие от QuiteRSS — полный отказ от встроенного браузерного движка QtWebKit без замены его на QtWebEngine.
Статьи отображаются средствами QTextBrowser и QTextDocument. Вместо Qt Multimedia для воспроизведения звуковых уведомлений задействована библиотека miniaudio со встроенной поддержкой WAV, MP3 и FLAC, не требующей установки плагинов GStreamer.
Перед показом HTML проходит обработку по списку разрешённых элементов и атрибутов: удаляются скрипты, фреймы, формы и другие неподдерживаемые конструкции. JavaScript не исполняется, а ссылки на сайты открываются во внешнем браузере. Для HTTPS требуется TLS 1.2 или новее и проверка сертификатов. Ограничиваются размеры ответов и перенаправления, запрещено перенаправление с HTTPS на HTTP. Изображения статей загружаются отдельно от лент, без передачи их учётных данных и Cookies. Анимация изображений в скрытых частях страницы приостанавливается.
При этом приложение не превращено в список ссылок. В нём сохранены чтение статей с форматированием и изображениями, газетный режим, вкладки лент и категорий, поиск внутри статьи, масштабирование, печать и экспорт. Ограничением является отсутствие полноценной встроенной вёрстки HTML/CSS (для просмотра исходной страницы может вызываться внешний браузер).
Среди возможностей и доработок NotQuiteRSS:
- Поддерживается работа с базой SQLite в оперативной памяти с сохранением на диск через заданный интервал и при штатном завершении. Исправлены нежелательные сохранения при сворачивании в трей и обработка ошибок записи.
- Резервные копии можно создавать вручную, по расписанию, при изменении подписок и выходе из приложения. Настраивается количество сохраняемых комплектов. Предусмотрены сокращённые копии, содержащие только избранные или помеченные статьи, а также полные страховочные копии перед обновлением структуры базы.
- Исправлено неограниченное накопление служебных записей об удалённых публикациях при использовании очистки по сроку публикации.
Доработаны удаление старых статей, обнаружение дубликатов и обработка ошибок базы. - Для выбранных лент можно одновременно менять расписание обновлений, загрузку изображений, направление текста и параметры колонок. Фильтры статей могут распространяться на все ленты, включая добавленные впоследствии.
- Доступны настройка User-Agent и отдельные правила для доменов, включая параметры GET/POST. Для сайтов с браузерной проверкой предусмотрен выборочный импорт Cookies в формате Netscape. Cloudflare и Anubis распознаются с выводом понятной диагностики, но успешное прохождение проверки через импорт Cookies не гарантируется.
- Темы оформления, переводы и сервисы отправки ссылок вынесены во внешние ресурсы. Есть OLED-тема, улучшенные пиктограммы для HiDPI и возможность возвращать фокус агрегатору после открытия статьи во внешнем браузере.
Источник: http://www.opennet.ru/opennews/art.shtml?num=66502
