MyChat 8.13 — ускорение обновлений и новый OpenSSL

  1. Обновления "похудели" в 4 раза
  2. Самый свежий OpenSSL для шифрования трафика
  3. Печатаем чаты на принтере и сохраняем в файл
  4. MyChat + Active Directory = быстрое обновление без GPO
  5. Разные полезности
  6. Все изменения общим списком + история разработки
  7. Как обновиться на последнюю версию?

1. Обновления "похудели" в 4 раза


Дистрибутив MyChat Client под Windows теперь "весит" около 17 мегабайт, против 70 с лишком, как раньше. Это означает, что при обновлении сервера, если у вас множество клиентов, которые подключены через интернет по каналам с разной скоростью связи, процесс обновления ускорится примерно вчетверо.

Похудение

Магия заключается в том, что мы разделили плагин для звонков и сам дистрибутив мессенджера. Плагин, при необходимости, скачивается с вашего сервера только один раз, автоматически. Все последующие обновления, качать заново монолитный дистрибутив уже не надо. Процесс установки, особенно на медленных компьютерах с HDD, тоже заметно ускорился.

Как обычно, все работает автоматически и ничего настраивать не надо.


2. Самый свежий OpenSSL


OpenSSL

Перешли на OpenSSL 1.1.1 от 24 августа 2021 года и TLSv1.3, соответственно. К сожалению, на Windows XP и Windows Server 2003 шифрование работать не будет и оно автоматически выключается. Но, с другой стороны, не пора ли уже закопать стюардессу? :)

Win XP MyChat

Напоминаем, что шифрование трафика динамическими сессионными ключами работает только в коммерческой версии MyChat, в бесплатной шифрование отключено.


3. Печатаем чаты на принтере и сохраняем в файл


Печать текста MyChat

Пользователи просили — мы сделали. Ctrl+P — печать содержимого окна на принтере, Ctrl+S — экспорт в файл (RTF либо HTML).

Сохранять чат в файл и печать на принтере можно запретить правами на сервере, если нужно.


4. MyChat + Active Directory = быстрое обновление без GPO


Задача №1: быстро установить MyChat на несколько сотен компьютеров в Active Directory через GPO.

Решение: MSI пакет, прозрачная авторизация, импорт юзеров из домена. Всё ок.

Задача №2: быстро обновить MyChat, установленный в домене. На тех же нескольких сотнях компьютеров.

Решение: "нивсётакадназначна" :(

Почему так получается? Во-первых, если MyChat Client установлен MSI пакетом, то установлен он в Program Files, а у обычных пользователей туда доступ закрыт, по понятным причинам. Значит, система автоматического обновления, встроенная в MyChat, работать не будет.

Ставили MSI — обновляем тоже с помощью MSI через групповые политики домена.

Получаем второе неудобство: для обновления MyChat через GPO, надо, чтобы пользователь перезагрузился либо сделал logoff/logon в Windows. Иначе свежие политики не применятся и мессенджер не обновится. Это штатная процедура Microsoft, но она неудобна из-за того, что в середине рабочего дня апдейт не накатишь, люди будут сидеть без рабочего чата.

Как мы решили эти проблемы?

Переделали MSI пакет, теперь он ставится в профиль Windows-пользователя, а не в папку Program Files. "Подкрутили" и MyChat Client, чтобы он включал автоматическое обновление прямо с сервера при выходе новой версии. Вкупе с "похудевшим" инсталлятором получается двойной профит: автоматическое обновление клиента прямо с сервера MyChat в любой момент времени + быстрое скачивание и установка пакета обновлений.


5. Разные полезности


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

В Android-приложении добавлен экран просмотра местоположений пользователя, если для этого есть права:

MyChat Android местоположение

В информационной панели о пользователе в привате, если данные множественные (IP, MAC, HardwareID, CompName, ClientVersion), они пишутся с новой строки и перед данными указывается тип приложения (win32, android, ios, web, linux, macos):

Информационная панель MyChat

Также снижена нагрузка на сервер при подключении пользователей после рестарта сервера или массовом подключении сразу после запуска. Эффект заметен, если пользователей несколько сотен или больше.

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


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

MyChat Client

[+] сохранение текста чата в файл;
[+] распечатка текста чата на принтере;
[+] (Android) добавлен экран просмотра местоположений пользователя, если для этого есть права;

[*] если локальная ОС слишком старая (Windows XP/2000/2003), то будет автоматически отключаться шифрование. Также MyChat Client будет работать с WEB-сервером по HTTP по отдельному порту для скачивания обновлений и обмена файлами. Номер этого порта настраивается на сервере MyChat;
[*] (MSI) пакетные установщики MSI теперь будут инсталировать файлы в профиль пользователя , а не в Program Files, для того, чтобы работала встроенная система автоматического обновления;
[*] размер дистрибутива MyChat Client уменьшился в 4 раза за счёт плагина звонков. Плагин теперь скачивается, при необходимости, с сервера;
[*] контекстное меню "Обновить" в правой части окна информации о пользователе, если нужно посмотреть свежие данные, не дожидаясь обновления кешей;
[*] в информационной панели о пользователе в привате, если данные множественные (IP, MAC, HardwareID, CompName, ClientVersion), они пишутся с новой строки и перед данными указывается тип приложения (win32, android, ios, web. linux, macos);
[*] (Android) редизайн тулбара в приватах и конференциях, измененены размеры элементов для удобства использования;
[*] автоматический вход на встроенный форум по токену, если пользователь кликнул по ссылке в чате, и это ссылка на какой-либо топик форума;

[-] не всегда обновлялась информация о пользователе в привате, согласно списка указанных констант (Ctrl+/). Исправлено;
[-] (Android) немного ускорен запуск приложения;
[-] (Android) при просмотре или создании оповещения по нажатию на файл, он не открывался в асоциированном приложении. Исправлено;
[-] если в чат отправить текст сообщения, состоящий из одной интернет-ссылки, но без префикса, например, allsoft.by или google.com, то при клике на этой ссылке открывался Проводник, а не браузер. Исправлено;
[-] ошибка ID C3678FE9 (List Index out of bounds (-1)) при клике на доске объявлений. Исправлено;
[-] (Android) в списке серверов тест подключения к актуальной версии сервера показывал ошибку о несовместимости. Исправлено;

MyChat Server

[+] настройка для включения/выключения окна профиля пользователя (Ctrl+/) в шаблоне настроек на сервере;

[*] поддержка новой библиотеки шифрования OpenSSL 1.1.1k 25 Mar 2021 и TLSv1.3 по умолчанию;
[*] снижена нагрузка на сервер при подключении пользователей после рестарта сервера или массовом подключении сразу после запуска;

[-] (Admin) при выключении прав доступа к просмотру протоколов в инструменте для просмотра логов отображались запрещенные разделы. Исправлено;
[-] в окне просмотра онлайн-пользователей напротив ios-клиентов показывалось, что шифрование не используется. Исправлено.

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


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

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

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