MyChat 8.15 — большой service pack

  1. MyChat для Windows
  2. MyChat для Android
  3. MyChat для iOS
  4. Обновление сервера MyChat
  5. Все изменения общим списком + история разработки
  6. Как обновиться на последнюю версию?

1. MyChat для Windows


Изменений достаточно много, поэтому вкратце расскажем про основные.

В основном окне чата можно менять размер шрифта с помощью Ctrl+колеса мышки. Удобно прокручивать содержимое окна чата с клавиатуры — Ctrl+Up/Down.

Сделали настройки для запрета хранения истории конференций и приватов в локальной базе данных, а также инструмент для полного удаления текстовых протоколов, истории конференций и приватов в локальной базе данных MyChat Client, как раздельно, так и "разом":

Настройки MyChat Client 8.15

Если загрузка истории в окно чата выключена или есть запрет на хранение истории в локальной базе, в чате про это показывается уведомление. Если кликнуть на нём, то откроются настройки программы:

Загрузка истории MyChat Client 8.15

Когда вы пользуетесь инструментом просмотра истории перемещений пользователя, а GPS-координат ещё нет или передача данных на смартфоне выключена, то показывается плашка, где написано про это. По клику открывается справка:

Геопозиция в MyChat Client 8.15

Для тех, кто пользуется FAR Manager или Total Commander сделали отправку файлов в чат (конференции или приваты) с командной строки: mcclient.exe /sendfile.

В конференциях и приватах теперь есть контекстное меню "Текст", "Очистить окно" (Ctrl+Del), для мгновенной очистки видимого содержимого окна чата.

Доделаны уведомления об онлайн-пользователях в чате, сделаны toast-сообщения.

Поиск пользователей (Alt+F) стал "умнее", можно искать кириллицей и латинскими буквами, например "Юлия" или "Julia", программа поймёт запрос правильно и выдаст нужные результаты.

Заработал инструмент для изменения темы конференции в MyChat Client (ПКМ диалогах конференций (Ctrl+2) или клик по троеточию/названию конференции, "Изменить", "Тему").

Ширину правой информационной панели в чате (Ctrl+/) теперь можно менять:

Ширина в MyChat Client 8.15


2. MyChat для Android


В новой версии появились настройки для запрета хранения истории конференций и приватов в локальной базе данных.

По тапу на аватарке пользователя в конференции, если есть права, можно открыть раздел администрирования (бан, блокировка, отключение от сервера, увольнение).

Сделали кнопки удаления истории приватов и конференций из локальной базы данных в настройках.

Исправили большое количество ошибок и недочётов.


3. MyChat для iOS


MyChat Client для iPhone и iPad обновляется постоянно, в основном, мы "дотягиваем" функционал до уровня приложения под Android с учётом специфики iOS, а также постоянно исправляем найденные ошибки и недоработки.

Функционал MyChat Client для iOS немного отстаёт, но разрыв планомерно сокращается от версии к версии.


4. Обновление сервера MyChat


Добавили ключ командной строки сервера /MIXER=NO для отладочных целей, а также сделали параметр stun-only=true в custom-конфигурации STUN/TURN, если надо использовать только STUN-серверы, но не TURN для звонков.

В правах добавили правило для разрешения доступа к инструменту проверки доступности портов в админке, а сам инструмент для проверки доступности сервера из Интернет перенесли в раздел "Инструменты".

Добавили также правило для блокировки отправки сообщений в конференции, чтобы определённым пользователям — можно было отправлять сообщения в конференции, а остальным — только читать.

Очень сильно переделали инструмент импорта фотографий пользователей из домена по LDAP, увеличена скорость работы, сделана система "умного" кеширования. Особенно хорошо показывает себя на крупных серверах с большим количеством пользователей.

Оптимизировали инструмент массовых изменений учётных записей пользователей (Админка, "Пользователи", "Список пользователей").

Сделали кеширование миниатюр изображений в памяти для ускорения "отдачи" клиентам в конференциях.


5. Все изменения общим списком + история разработки


История разработки версии с комментариями разработчиков

MyChat Client

[+] если в правах запрещена отправка сообщений в конференциях, то в чате закрывается блок интерфейса для ввода и отправки сообщений, и показывается уведомление в нижней части чата;
[+] теперь можно изменять ширину правой информационной панели в чате (Ctrl+/);
[+] (Web) (Linux) (Mac) добавлена обработка скриптовой команды mSetRemoteClientCurrentPlaceID;
[+] инструмент для изменения темы конференции в MyChat Client (ПКМ диалогах конференций (Ctrl+2) или клик по троеточию/названию конференции, "Изменить", "Тему");
[+] (Android) в настройках добавлены кнопки удаления истории приватов и конференций из локальной базы данных;
[+] (Android) добавлена обработка настроек для отключения хранения истории на клиенте из шаблона настроек;
[+] консольная команда purge backups/caches ;
[+] контекстное меню в конференциях и приватах, "Текст", "Очистить окно" - Ctrl+Del, для мгновенной очистки видимого содержимого окна чата;
[+] (Android) настройки для запрета хранения истории конференций и приватов в локальной базе данных;
[+] (Android) добавлен парсинг типа сообщения "Бан";
[+] (Android) по тапу на аватарке пользователя в конференции, если есть права, можно открыть раздел администрирования (бан, блокировка, отключение от сервера, увольнение и т. д.);
[+] ключ командной строки mcclient.exe /sendfile для отправки файла в конференцию или приват;
[+] Alt+С — очистка стиля выделенного текста в инструменте отправки форматированного текста (Alt+T);
[+] (iOS) настройки для запрета хранения истории конференций и приватов в локальной базе данных;
[+] настройки для запрета хранения истории конференций и приватов в локальной базе данных;
[+] инструмент для полного удаления текстовых протоколов, истории конференций и приватов в локальной базе данных MyChat Client, как раздельно, так и "разом";
[+] Ctrl+"колесо мышки вверх/вниз" меняет размер текста в чате;
[+] Ctrl+Up/Down прокручивает содержимое окна чата, как если бы вы делали это мышкой;

[*] (Web-chat) если клиенту пришел шаблон настроек с отключенным хранением истории приватов или конференций, то после потери связи полностью очищается окно чата;
[*] (Android) при отключенном хранении истории теперь не хранится также список диалогов;
[*] установщик MyChat Client теперь автоматически определяет язык локализации;
[*] упрощенный вариант установки MyChat Client теперь не задаёт вопросов, а сразу запускается, соединяется с сервером и автоматически регистрирует пользователя;
[*] автоматический установщик клиентского приложения из лобби сервера научился игнорировать лишние символы в своём названии, если дистрибутив скачивается повторно и браузер добавляет в конец названия файла индекс копии;
[*] более интеллектуальный поиск пользователей (Alt+F), можно искать русскими и английскими буквами, например "Юлия" или "Julia", программа поймёт запрос правильно и выдаст нужные результаты;
[*] (Android) при выключеной настройке "Хранить историю приватов" или "Хранить историю конференций", при потере связи с сервером автоматически будет закрываться активный чат, а списки диалогов или конференций будут спрятаны. Также появится информационное сообщение, почему списков нет;
[*] доделаны уведомления об онлайн-пользователях в чате, сделаны toast-сообщения;
[*] улучшена технология звонков в сложных сетях, используются протоколы TCP и UDP, предпочтение отдаётся UDP;
[*] если координат для просмотра GPS-перемещений пользователя ещё нет или передача данных на смартфоне выключена, то в клиенте показывается плашка, где написано, что истории координат ещё нету. Клик открывает соответствующий раздел справки;
[*] (Linux)(Mac)(Web) в сообщении о прочтении оповещения пишется имя пользователя, который прочитал это оповещение;
[*] клик по плашке активного звонка в верхней части окна MyChat автоматически переключает на приват с этим человеком;
[*] если загрузка истории в окно чата выключена либо есть запрет на хранение истории в локальной базе, в чате про это показывается уведомление. Если кликнуть на нём, то откроются настройки программы;
[*] если включить отладочный режим консольной командой debug on, то в файле входящего трафика записывается ещё и распакованный вариант сообщений, если он был сжат GZIP (пометка "unpacked data");
[*] если по каким-то причинам не получается залить либо скачать файл или изображение на сервер, то в консоли показывается ошибка с описанием, почему операция не удалась, а также ссылкой на справку для решения проблемы;

[-] (Android) неправильно работала кнопка переключения между личным и общим списком контактов, если личный список был пуст, приложение падало с ошибкой. Исправлено;
[-] исправлена работа фильтров в диалогах (Ctrl+1), конференциях (Ctrl+2) и оповещениях (Ctrl+4). Неправильно работала прокрутка колесом мышки, если в списках были отфильтрованы данные;
[-] (iOS) не работало добавление нового и изменение уже добавленного сервера в мастере. Исправлено;
[-] в MSI-дистрибутив не был включен файл WebView2Loader_x86.dll, исправлено;
[-] (Support) в сообщении о перенаправлении диалога писались имена пользователей с использованием основного шаблона, а не того, что указан в настройках веб-поддержки. Исправлено;
[-] если отправить файл в чат, затем удалить оригинал, а потом снова скачать файл с сервера на свой компьютер, ПКМ на файле в чате не показывало меню Проводника, программа считала, что файл не скачан. Исправлено;
[-] (Android) если на входящий видео-звонок отвечать голосом, видео все равно включалось. Исправлено;
[-] неправильно вставлялся форматированный текст, если размер шрифта в чате изменён, не делается resize. Исправлено;
[-] клики по ссылкам в цитатах не работали. Исправлено;
[-] корректно формируются отображаемые имена для пользователей Web-поддержки, если они настроены не так, как в основном чате;
[-] (Android) после неудачной попытки подключения на экране логина текст ошибки перекрывался сервисным сообщением. Исправлено;
[-] не работал клик на ссылках в сообщениях с форматированным текстом. Исправлено;
[-] Ctrl+I при вводе форматированного текста работало неправильно, выделенный текст очищался и вставлялся символ табуляции. Исправлено;
[-] ошибка при отправке форматированного текста, если в процессе редактирования выбирать для цвета фона или текста "Automatic". Исправлено;
[-] (Android) на устройствах с версией Android до 8.1 иногда время в чате отображалось в 12-часовом формате. Исправлено;
[-] не работал пункт контекстного меню "Только онлайн" в дереве контактов (Ctrl+3). Исправлено;
[-] при инициализации звонка передавались только STUN адреса, а UPD адреса не устанавливались. Исправлено;
[-] (iOS) после выхода из учетной записи, на странице логина появлялась ошибка спустя некоторое время. Исправлено;
[-] (Android) некорректно работала команда удаления истории, требовался принудительный перезапуск клиента. Исправлено;
[-] (iOS) если в аккаунт был выполнен вход одновременно c iOS и любого другого типа приложения, невозможно было начать звонок не на iOS. Исправлено;
[-] контекстное меню в разделе Консоль (Ctrl+`) "Открыть файл протокола" не работало. Исправлено;

MyChat Server

[+] (MSL) функция mGetUserTotalUnreadPrivateMessagesCount для получения суммы непрочитанных приватных сообщений во всех диалогах;
[+] ключ /debug для сервера MyChat для включения режима расширенного протоколирования;
[+] правило для блокировки отправки сообщений в конференции;
[+] ключ сервера /MIXER=NO;
[+] параметр stun-only=true в custom-конфигурации STUN/TURN, если надо использовать только STUN-серверы, но не TURN;
[+] правило для разрешения доступа к инструменту проверки доступности портов в админке;

[*] (Admin) отображение технических сообщений в просмотре протоколов конференций;
[*] кеширование миниатюр изображений в памяти для ускорения "отдачи" клиентам в конференциях;
[*] в инсталляторе сервера и клиента теперь указывается номер версии установщика;
[*] (Admin) в инструменте для бекапа базы данных сервера добавлен размер файла бекапа;
[*] (MSL) функция mConvertMsgToPlainText "научилась" понимать типы сообщений MSG_TYPE_LAN_LINK и MSG_TYPE_ANY_LINK;
[*] уменьшен сетевой таймаут при подключению к домену с 60 до 5 секунд. В локальной сети этого более чем достаточно, не приходится долго ждать, если IP контроллера домена указали неправильно или служба AD LDS отключена;
[*] если при импорте пользователей из домена нет соединения с LDAP сервером, то показывается сетевая ошибка, например #10060;
[*] значительно ускорена процедура массовых изменений учётных записей пользователей;
[*] переделан импорт фотографий пользователей из домена по LDAP, увеличена скорость работы;
[*] инструмент для проверки доступности сервера из Интернет перенесён в раздел "Инструменты";
[*] если на сервере неправильно настроены IP-фильтры + включен bind конкретного IP адреса, а не выбрано "слушать все", то при нажатии кнопки "Администрирование" не получалось войти в админку с интерфейса сервера. Доработано;
[*] (Integration API) при отправке ошибки соединение с сервером рвётся не мгновенно, а через 1 секунду, что даёт возможность обработать ошибку на удалённом хосте;
[*] (Integration API) при получении ошибки в JSON-ответ добавляются две ссылки на русскую и английскую справки;

[-] ошибка ID: 21C643BD, могла возникнуть при обновлении со старых версий 5.xx ("no such table: cuids"). Исправлено;
[-] (Admin) в разделе "Конференции" - "Модераторы" значение UID отображалось как "undefined". Исправлено;
[-] (Kanban) для проекта, у которого установлен "полный доступ" в его настройках, использовался стандартный набор прав, вместо прав, которые назначены для группы прав подключенного пользователя. Исправлено;
[-] ошибка ID: BFE826C5, иногда возникала при создании миниатюр изображений в медленных сетях или при очень больших нагрузках. Исправлена;
[-] (Admin) после изменения, включения или отключения custom menu нужен был перезапуск сервера, чтобы клиентские приложения "увидели" изменения;
[-] (Admin) в инструменте просмотра истории переговоров время неправильно корректировалось по UTC. Исправлено;
[-] ошибка при импорте пользователей из домена. Со временем накапливались дубликаты запрашиваемых данных и процесс импорта требовал всё больше времени. Исправлено;
[-] при импорте пользователей из домена иногда возникала ошибка "Out of memory" из-за очень большого размера пакета фотографий импортируемых пользователей. Исправлено;
[-] если меняем тип авторизации юзера на доменную, ник автоматически приводится в lowercase;
[-] если создать пользователя в админке, установить ФИО, то до перезапуска сервере на клиенте нельзя было найти этого пользователя в инструменте поиска Alt+F. Исправлено;
[-] (WEB) не работали звонки из-за ошибки формирования ICE серверов. Исправлено;
[-] (Kanban) при входе в канбан на новом сервере без проектов не отображается кнопка "Создать проект". Исправлено;
[-] при прочтении оповещения с подтверждением (Ctrl+F9) система могла неправильно подсчитать количество прочитавших, если они находились в сети с нескольких устройств одновременно. Исправлено;
[-] (Integration API) при возникновении ошибки об отключенном Integration API в команду-ответ не писалась оригинальная команда (evocator). Исправлено;
[-] на сервере в разделе "Инструменты", "Шаблоны настроек" можно было выбрать в ниспадающем списке шаблон "MyChat Default Options Set". Исправлено.

6. Как обновиться на последнюю версию?


И коммерческая, и бесплатная версии обновляются одинаково. Сначала обновляется сервер, затем — клиенты. В основном, в автоматическом режиме.

Инструкция по обновлению MyChat

Служба поддержки