История изменений/0.95.11

From Miranda NG
Jump to: navigation, search

Версия: 0.95.11

Сборка: v0.95.11

Выпущена: 2 февраля 2020

Important
Если после обновления вы столкнулись с ошибкой «Miranda NG не может открыть <имя_профиля>, профиль в неизвестном формате», следуйте этой инструкции.

В этой версии представлены два крупных новшества:

  • Общее окно сообщений

Это большой шаг вперёд к идее о том, что одно окно сообщений (SRMM) может обслуживать как беседы, так и групповые чаты. Каждый плагин сообщений (StdMsg, Scriver, TabSRMM) содержит класс, обслуживающий оба типа чатов. Список пользователей отныне может быть скрыт динамически, таким образом, беседы могут на лету превращаться в групповые чаты (например, если в беседу двух участников добавили третьего).

  • Универсальный интерфейс окна журнала

Плагин может объявить себя обработчиком окна журнала SRMM, что позволило выбросить множество костылей из разных плагинов. Пользователь может выбрать между встроенным журналом или альтернативными (наподобие IEView или History++) не только в TabSRMM, как раньше, но и в любом другом плагине сообщений (StdMsg, Scriver), а также использовать внешние плагины в качестве журналов групповых чатов. Кроме того, на подходе новый плагин — NewStory.

Ядро и библиотеки

  • обновлены библиотеки BASS, libcurl, libmdbx, SQLite и tinyxml2.
  • mdbx_chk: добавлена полезная утилита для проверки целостности базы.
  • Issue #2083 добавляемые субконтакты не получали в базе пометку о том, что они скрытые.
  • Issue #2107 самые крайние экстра-значки не пропадали из списка контактов после выгрузки добавившего их плагина.
  • Issue #2157 драйверы базы ошибочно имели чекбокс для выгрузки.

Протоколы

  • Discord
    • поддержка отправки файлов контакту, находящемуся не в сети.
    • реализовано удаление собственных сообщений.
    • Issue #2117 добавлена поддержка пользовательских статусов.
    • Issue #2080 меню протокола могло пропасть после добавления учётной записи.
    • Issue #2115 исправлена ошибка, из-за которой реплики всех участников чата (кроме ваших) выглядели так, словно принадлежат тому участнику, чей контакт был преобразован в групповой чат.
  • Facebook
    • Issue #2058 новый плагин Facebook, основанный на протоколе MQTT, вместо старого устаревшего плагина, который парсил HTTP-страницы напрямую. Основное преимущество нового плагина в том, что он не приводит к блокировке учётной записи и работает весьма шустро. Все пользователи могут протестировать новый плагин, приветствуются отзывы и сообщения об ошибках в наш багтрекер.
  • ICQ
    • Mail.ru (владелец ICQ) автоматически удаляет учётные записи, которые не использовались больше года, из системы и из серверного списка контактов. Miranda больше не удаляет такие контакты из базы при синхронизации с сервером, чтобы избежать потерь истории.
    • добавлена обработка ошибки при добавлении контакта, удалённого из системы ICQ за неактивность (Миранда позволяет добавить такие [deleted]-контакты только локально, на сервер они не добавляются).
    • добавлен экспериментальный редактор серверных групп (но сервер позволяет работать лишь с группами, созданными новым протоколом).
    • Issue #2076 в диалоге управления аватарами убрано древнее ограничение в 80x80 пикселей на размер аватара.
    • Issue #2095 из-за ограничений со стороны сервера удалены все статусы кроме «В сети» и «Не в сети».
    • Issue #2110 отправленный файл теперь отображается в истории как ссылка, а не локальный путь.
    • исправлена проблема со старыми серверными группами, созданными ещё Miranda IM.
    • Issue #2024 исправлены проблемы с вложенными группами.
    • Issue #2073 исправлена невозможность перемещения контакта из корня в любую группу.
    • Issue #2077 отныне игнорируемые контакты видны в разделе настроек Контакты → Игнорировать.
    • Issue #2122 только что удалённые вручную контакты не должны снова появляться в списке контактов.
    • Issue #2153 исправлено случайное стирание пароля из базы.
    • Issue #2189 налажена передача файлов.
  • IRC
    • исправлена ошибка 10-летней давности с отображением собственных сообщений, содержащих %%.
  • Jabber
    • Issue #1710 добавлена поддержка XEP-0363: HTTP File Upload (меню протокола → Службы... → Просмотр служб → ПКМ по службе → Использовать для отправки файлов).
    • все настройки, связанных со службами, перемещены в меню «Просмотр служб».
    • Issue #2039 запрос vCard больше не привязан к запуску программы, что позволяет обновлять vCard ежедневно, даже если аптайм Миранды превышает сутки.
    • удалены пункты меню контакта «Конвертировать в контакт» и «Конвертировать в чат» (групповые чаты уже давно не хранятся в ростере, для этого предназначены закладки).
    • исправлена проблема получения vCard участников групповых чатов с никами, содержащими символы кириллицы.
    • Issue #2103 исправлена проблема с повторной загрузкой аватара контакта, если кэшированный файл аватара удалён с диска.
    • Issue #2113 исправлена ошибка, из-за которой при изменении роли участника конференции в журнале отображалась некорректная роль.
  • SkypeWeb
    • Issue #2096 добавлена поддержка получения нескольких медиафайлов (альбомов) в одном сообщении.
    • Issue #2149 добавлен разбор кодов ошибок.
  • Steam
    • Issue #1583 улучшена обработка кода ошибки 401 (пользователь не авторизован).
  • Twitter
    • исправлено обновление имён пользователей.
  • VKontakte
    • изменилась логика работы «решить позже» при запросе дружбы — теперь запрос выдаётся не при каждом подключении к сети, а раз в ReqAuthTimeLater секунд (скрытая настройка, по умолчанию — 86400).
    • исправлена работа настройки «Добавлять в список контактов только друзей».
    • исправлено падение при передаче файлов.
    • Issue #2080 меню протокола могло пропасть после добавления учётной записи.

Плагины

  • CrashDumper
    • Issue #2043 добавлена настройка «Показать всплывающее окно после успешной операции» (позволяет отключить назойливые уведомления «версии успешно загружены»).
    • Issue #2147 исправлен постоянный сброс настройки «Создавать отчёты о проблемах».
  • Database editor++
    • Issue #2148 переименования ключа в базе при определённых обстоятельствах могло привести к его визуальному исчезновению.
  • Dbx_mdbx
    • добавлены сообщения об успехе/провале сжатия базы.
    • Issue #2139 исправлено случайное зависание при открытии свежесозданной базы.
  • IEHistory
    • Issue #2109 исправлено отображение переданных файлов.
  • Import
    • Issue #2033 исправлено некорректное поведение выпадающего списка в главном окне.
  • KeyboardNotify
    • добавлена поддержка групповых чатов.
  • Msg_Export
    • Issue #2138 отныне настройка «UTF8 в новых файлах» включена по умолчанию.
  • New_GPG
    • улучшена обработка ошибок при импорте публичных ключей через пункт в главном меню.
  • NotesReminders
    • Issue #2126 добавлена горячая клавиша «Список напоминаний».
    • Issue #2151 исправлен некорректный порядок напоминаний в окне «Список напоминаний».
  • PluginUpdater
    • Issue #2057 в окно выбора компонентов добавлено поле поиска.
    • Issue #2069 добавлена настройка «Использовать HTTPS» (отключена по умолчанию в Windows XP).
    • Issue #2070 отныне проверка обновлений автоматически запускается при смене платформы, канала или URL.
  • PopupPlus
    • Issue #2155 исправлено падение при открытии настроек, если в Миранду ещё не добавлено учётных записей.
    • Issue #2156 исправлена логика работы настроек.
  • Scriver
    • исправлена прокрутка мышью.
    • Issue #2037 настройка «Сохранять размер и положение для каждого контакта» сбивала размер окна при использовании вкладок.
  • SendSS
    • Issue #2018 отныне плагин запоминает последний выбранный сервис и тип файла.
  • StatusManager
    • Issue #2061 плагин научился обрабатывать событие включения учётной записи.
  • StdMsg
    • удалена отдельная настройка «Показывать кнопку отправки сообщения» для групповых чатов.
    • удалены бесполезные настройки «Показывать кнопки управления комнатой» и «Показывать кнопки форматирования текста».
    • Issue #2032 исправлена потеря фокуса при переключении вкладок.
  • StdUserInfo
    • Issue #2105 исправлено падение диалога сведений о пользователе при выгрузке плагина.
    • Issue #2141 исправлена обработка нажатия кнопки OK.
  • TabSRMM
    • Issue #2091 добавлена настройка «Использовать одно и то же положение разделителя для всех сессий».
    • Issue #2099 отныне вертикальные вкладки можно прокручивать колесом мыши.
    • Issue #2086 удалено пустое меню «Комната чата».
    • исправлена отправка %% в групповые чаты.
    • Issue #2100 исправлено непроизвольное прокручивание вкладок при их переключении, если вкладки расположены вертикально.
    • Issue #2159 исправлена работа кнопки «Выбор цвета».
    • Issue #2023 исправлена недоступность настройки «Открывать новые чаты и беседы в контейнере по умолчанию» с помощью приложений для чтения с экрана.
    • Issue #2088 отныне отпускание клавиши Alt скрывает меню (после того, как оно было показано нажатием той же кнопки).
    • Issue #2101 исправлено закрытие всех вкладок при переключении раскладки вкладок с горизонтальной на вертикальную.
    • Issue #2144 исправлен сброс настроек звука после применения других настроек.
  • UInfoEx
    • Issue #2105 исправлено падение диалога сведений о пользователе при выгрузке плагина.
  • WhoUsesMyFiles
    • Issue #2019 удалены настройки «Папки и файлы в UNC формате», «Показывать папки и файлы в UNC формате», «Имена компьютеров вместе с именами пользователей» и «Показывать имена компьютеров вместе с именами пользователей». Они никогда не были реализованы, представляя собой простые заглушки.

Для разработчиков

  • EnterString: добавлена возможность ввода простых строк (не многострочных).
  • удалён бесполезный сервис MS_UTILS_ENTERSTRING, вместо него следует использовать EnterString.
  • Netlib_GetHeader() — сервисная функция для анализа HTTP-заголовков.
  • Clist_IsHidden / Clist_HideContact — парочка хелперов для работы с переменной CList/Hidden.
  • MBinBuffer::assign — функция, заменяющая содержимое буфера.
  • Miranda_GetSystemWindow — возвращает общее окно для создания глобальных таймеров.
  • бесполезная дублирующая функция GetContactProto заменена стандартной Proto_GetBaseAccountName.
  • запрещена ручная работа с CList/NotOnList. Вместо этого следует использовать Contact_RemoveFromList и Contact_PutOnList.