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

From Miranda NG
Jump to navigation Jump to search

Версия: 0.96.3

Сборка: v0.96.3

Выпущена: 8 июня 2023

Important
Если в групповых чатах перестали отображаться какие-либо события (сообщения, входы/выходы пользователей, изменения темы/статуса/ника, и т. п.), то включите показ требуемых событий на странице Настройки → Беседы → Чаты → События и фильтры.

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

  • обновлены библиотеки libcurl и SQLite.
  • Issue #3522 из заголовка окна «О программе» убран цвет акцента Windows.
  • Issue #3547 исправлено некорректное выставление настроек сетевого лога для создаваемых учётных записей.
  • восстановлено сохранение настроек сетевого лога при перезапуске приложения.

Протоколы

  • Discord
    • реализовано хранение истории групповых чатов в базе.
    • реализована поддержка оффлайновых файлов (файл загружается, когда пользователь нажимает на ссылку в журнале сообщений).
  • Facebook
    • реализовано хранение истории групповых чатов в базе.
  • ICQ
    • реализовано хранение истории групповых чатов в базе.
    • Issue #3426 реализована обработка события исключения из группового чата.
    • Issue #3477 добавлена возможность отправить одновременно более одного файла.
    • Issue #3493 настройка «Показывать всплывающие окна с сообщениями об ошибках» перемещена из настроек протокола во Всплывающие окна → События.
    • Issue #3419 починен показ исходящих сообщений в групповых чатах.
    • Issue #3420 исправлено помещение чата в неправильную группу.
    • Issue #3424 починен показ списка участников при входе в групповой чат.
    • Issue #3452 устранено падение при обработке ProcessBuddyList.
    • Issue #3478 убрано ошибочное уведомление о новом событии при отправке файла в групповой чат.
    • Issue #3481 устранено падение.
    • Issue #3482 починено удаление контактов, когда протокол не подключён к сети.
    • Issue #3534 починено получение нескольких оффлайновых сообщений.
  • Jabber
    • добавлена экспериментальная поддержка голосовой связи (XEP-0166: Jingle). Для её работы нужно установить плагин Jingle и включить настройку Включить VOIP.
    • реализована поддержка оффлайновых файлов (файл загружается, когда пользователь нажимает на ссылку в журнале сообщений). Работает только в том случае, если включена поддержка XEP-0363: HTTP File Upload.
    • XEP-0384: OMEMO:
      • Issue #3352 реализована поддержка шифрования для прочих своих устройств.
      • Issue #3521 улучшен интерфейс управления ключами OMEMO.
    • Issue #3538 добавлена настройка «Включить HTTP FIle Upload» (видна только в том случае, если была хоть раз включена поддержка XEP-0363: HTTP File Upload).
    • Issue #3412 если в закладке не указан ник, Миранда теперь сперва поищет ник в vCard, а только потом возьмёт его из JID.
    • улучшена работа XEP-0198: Stream Management.
    • Issue #3400 удалены настройки цветов фрейма (сам фрейм удалён ещё в 0.96.2).
    • починено назначение кастомного ника.
    • Issue #3433 починена подсветка ника в случае, если он взят из закладки.
    • Issue #3531 исправлена невозможность прервать процесс подключения протокола к сети.
  • Tox
    • Issue #3333 в поле поиска при поиске/добавлении контактов добавлена проверка того, что введённый адрес соответствует формату Tox ID.
    • Issue #3489 поле поиска при поиске/добавлении контактов теперь автоматически удаляет пробелы из введённого Tox ID.
    • Issue #3490 прекращена поддержка toxme.io (ресурс прекратил работу).
  • VKontakte
    • реализовано хранение истории групповых чатов в базе.
    • реализована обработка события набора текста для контактов группового чата.
    • пункты меню группового чата («Просмотр/смена темы» и т. п.) теперь продублированы в меню контакта (полезно для пользователей журнала History++, который не умеет показывать меню чата).

Плагины

  • Clist_modern
    • Issue #3511 в окно настройки режима вида добавлена настройка «Показывать группы свёрнутыми».
    • Issue #3512 в окно настройки режима вида добавлена настройка «Скрыть пустые группы».
    • Issue #3541 оптимизирована перерисовка списка контактов при наличии большого числа контактов со статусом «Не в сети».
    • Issue #3383 настройка «Не перемещать отключённых вниз» переименована в «Перемещать отключённых вниз».
  • DbChecker
    • добавлена настройка «Исправить серверные идентификаторы событий».
  • Jingle
    • первая версия.
  • History++
    • Issue #3491 починено удаление событий.
    • Issue #3500 починен пункт меню «Очистить историю».
  • IEView
    • Issue #3401 описание принятого файла больше ошибочно не добавляется в путь к файлу.
    • Issue #3385 устранено падение при открытии принятого файла.
  • Import
    • Issue #3494 починен импорт форматов mContacts и History++.
    • Issue #3502 устранено дублирование контактов Discord.
  • NewStory
    • Issue #3380 исправлена некорректная обработка пробела в пути к файлу.
    • Issue #3496 устранено падение при быстрой прокрутке истории, содержащей большое число событий.
    • устранено одно очень редкое падение.
  • PluginUpdater
    • Issue #3345 на кнопку Загрузка добавлен индикатор количества выбранных элементов.
  • Scriver
    • полностью переделана логика работы фильтра событий. Настройки на странице Беседы → Чаты → События и фильтры) теперь определяют то, какие события в журнале, всплывающие окна и звуки будут активны по умолчанию, когда отключён фильтр событий в групповых чатах. Когда фильтр включён, приоритет будут иметь настройки из окна, показываемого в момент включения фильтра.
    • Issue #3533 добавлена пометка, что сообщение зашифровано (при использовании XEP-0384: OMEMO).
    • отныне все кнопки на панели кнопок показывают не текущее состояние, а то, что произойдёт после нажатия на кнопку (например, изображение фильтра с красным крестиком означает, что при нажатии на кнопку фильтр событий будет отключён).
    • Issue #3443 подсказка к кнопке фильтра событий теперь меняет свой текст в соответствии с состоянием фильтра.
    • Issue #3463 кнопка История сообщений в групповых чатах, чья история хранится в базе, теперь открывает просморщик истории.
    • Issue #3466 упрощена страница настроек Беседы → Чаты → События и фильтры.
    • Issue #3437 из всплывающего окна о новом сообщении в групповом чате удалено слово «говорит».
    • Issue #3444 удалены чекбоксы из корневых элементов деревьев настроек.
    • Issue #3375 починена обработка двойного щелчка мышью в журнале сообщений.
    • Issue #3436 починены всплывающие окна о подсвеченных событиях.
    • Issue #3519 устранено дублирование сообщений.
  • Sessions
    • Issue #3428 в настройке «Сохр. последние ... сессий» теперь можно указать число вручную.
    • Issue #3421 настройка «Только если доступна последняя сессия» переименована в «Открыть, если доступна последняя сессия».
    • Issue #3430 в диалоговом окне «Сохранить сессию» кнопка доп. заменена значком.
    • Issue #3422 устранено падение при попытке удалить несуществующую сессию.
    • Issue #3431 исправлено поведение кнопкит Сохранить.
  • SmileyAdd
    • Issue #3473 всплывающее окно с сообщением об отсутствующих смайлах теперь имеет такой же таймаут, как прочие всплывающие окна, а не отображается вечно.
  • StdMsg
    • полностью переделана логика работы фильтра событий. Настройки на странице Беседы → Чаты → События и фильтры) теперь определяют то, какие события в журнале, всплывающие окна и звуки будут активны по умолчанию, когда отключён фильтр событий в групповых чатах. Когда фильтр включён, приоритет будут иметь настройки из окна, показываемого в момент включения фильтра.
    • Issue #3533 добавлена пометка, что сообщение зашифровано (при использовании XEP-0384: OMEMO).
    • отныне все кнопки на панели кнопок показывают не текущее состояние, а то, что произойдёт после нажатия на кнопку (например, изображение фильтра с красным крестиком означает, что при нажатии на кнопку фильтр событий будет отключён).
    • Issue #3443 подсказка к кнопке фильтра событий теперь меняет свой текст в соответствии с состоянием фильтра.
    • Issue #3463 кнопка История сообщений в групповых чатах, чья история хранится в базе, теперь открывает просморщик истории.
    • Issue #3466 упрощена страница настроек Беседы → Чаты → События и фильтры.
    • настройка «В фоне» переименована в «Не перехватывать фокус».
    • Issue #3437 из всплывающего окна о новом сообщении в групповом чате удалено слово «говорит».
    • Issue #3444 удалены чекбоксы из корневых элементов деревьев настроек.
    • Issue #3375 починена обработка двойного щелчка мышью в журнале сообщений.
    • Issue #3436 починены всплывающие окна о подсвеченных событиях.
  • StdUserInfo
    • Issue #3525 устранено падение при попытке просмотра сведений о пользователе из результатов поиска.
  • StopSpam
    • Issue #3347 удалена настройка «Удалять все временные контакты после перезапуска» (вместо неё следует использовать настройку Список контактов → Общие → Удалять временные контакты при выходе).
  • StopSpamMod
    • Issue #3499 удалена настройка «Удалять все временные контакты после перезапуска» (вместо неё следует использовать настройку Список контактов → Общие → Удалять временные контакты при выходе).
  • tabSRMM
    • полностью переделана логика работы фильтра событий. Настройки на странице Беседы → Чаты → События и фильтры) теперь определяют то, какие события в журнале, всплывающие окна и звуки будут активны по умолчанию, когда отключён фильтр событий в групповых чатах. Когда фильтр включён, приоритет будут иметь настройки из окна, показываемого в момент включения фильтра.
    • Issue #3533 добавлена пометка, что сообщение зашифровано (при использовании XEP-0384: OMEMO).
    • отныне все кнопки на панели кнопок показывают не текущее состояние, а то, что произойдёт после нажатия на кнопку (например, изображение фильтра с красным крестиком означает, что при нажатии на кнопку фильтр событий будет отключён).
    • Issue #3443 подсказка к кнопке фильтра событий теперь меняет свой текст в соответствии с состоянием фильтра.
    • Issue #3463 кнопка История сообщений в групповых чатах, чья история хранится в базе, теперь открывает просморщик истории.
    • Issue #3466 упрощена страница настроек Беседы → Чаты → События и фильтры.
    • Issue #3487 унифицированы сообщения о наборе текста в активных и неактивных вкладках.
    • Issue #3437 из всплывающего окна о новом сообщении в групповом чате удалено слово «говорит».
    • Issue #3399 устранено пропадание кнопок в групповом чате после изменения настроек BBCode.
    • Issue #3434 починены всплывающие окна о подсвеченных событиях.
  • Toaster
    • исправлено название Миранды в заголовке всплывающего окна.
  • Weather
    • для gismeteo.com и gismeteo.ru добавлена поддержка прогноза погоды на сегодняшний день (спасибо Dimtr).

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

  • добавлены хелперы db_get_usm / getMStringU для чтения строк UTF-8 как CMStringA.
  • добавлен хук ME_HISTORY_EMPTY для обработки очистки истории.
  • добавлены хелперы Chat_Mute / Chat_IsMuted для заглушения групповых чатов.
  • MS_HISTORY_EMPTY получил новый флаг для автоматической очистки истории.
  • в g_chatApi добавлена поддержка DbEventIsShown для того, чтобы ядро могло фильтровать события групповых чатов.
  • в UI классы добавлена поддержка кнопок, имеющих три состояния.
  • сообщение HM_DBEVENTADDED заменено методом CMsgDialog::EventAdded.
  • общий код SRMM вынесен в функцию Srmm_AddEvent().
  • CCtrlTreeView: тип функций обратного вызова OnBeginDrag / OnEndDrag изменён на bool.
  • Clist_RemoveEvent стал статическим, pfnRemoveEventзаменён pfnFreeEvent.
  • удалена бесполезная функция DbEvent_GetString.
  • удалена устаревшая функция SM_FindSession.