MyChat 6.8 — голосовые и видео звонки с Android

  1. Голосовые и видео звонки с Android
  2. Установка MyChat Client прямо с вашего сервера
  3. Новый инструмент для системных протоколов
  4. Интеграция с GeoIP: узнайте город и страну пользователя
  5. Интеграция с Telegram, улучшения
  6. Linux+macOS: настройки программы
  7. Скрипты, что нового?
  8. Блокировки по HardwareID
  9. Ограничьте регистрации с IP/MAC/HardwareID адресов
  10. Дружим с Windows Firewall
  11. Разные полезности
  12. Все изменения общим списком + история разработки

1. Голосовые и видео звонки с Android


Звонок из MyChat Android Видео звонок MyChat

Теперь звонки работают и на Android, можно звонить между Windows, Linux, macOS и в браузере.

А ещё сделали удобные загрузки различных файлов в конференциях и приватах:

Новая загрузка файлов MyChat


2. Установка MyChat Client прямо с вашего сервера


Сразу после запуска MyChat Server всем вашим пользователям в сети доступна такая WEB-страница:

Новая страница сервисов и клиентов MyChat

Раздайте вашим сотрудникам этот линк для быстрой установки клиентских приложений MyChat с вашего сервера.

Не надо вводить адрес сервера, регистрировать пользователя, отвечать на вопросы установщика. Все делается в три шага.


3. Новый инструмент для системных протоколов


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

Новая система логгирования в MyChat

Нижние — самые "экстремальные", протоколируется всё и вся и логи быстро "пухнут". В полночь карета превращается в тыкву и сервер автоматически переводит протоколирование на стандартный уровень, если вдруг админ забыл это сделать.

Раньше мы использовали текстовые файлы, а в версии 6.8 перешли на базу данных. Это даёт огромную скорость для выборок, можно делать фильтры, получать справку по ошибкам (работают ссылки в тексте протоколов):

Работа новой системы логгирования MyChat

Файл базы данных с системными протоколами не растёт бесконтрольно, старые записи автоматически подчищаются. Хранится от 500 тысяч до миллиона последних записей. В штатном режиме, если не включать VERBOSE-протоколирование, этого хватит на много месяцев.


4. Интеграция с GeoIP: узнайте город и страну пользователя


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

Веб-поддержка на сайт MyChat

Теперь оператор поддержки в своём чате в MyChat Client может узнать ещё и страну/город посетителя:

Географическое положение в веб-поддержке MyChat

Чтобы это заработало, нужно скачать базу данных IP адресов и подключить её к вашему серверу.


5. Интеграция с Telegram, улучшения


Мы сделали возможность для автоматической регистрации и активации Telegram-пользователей в MyChat.

Работает это так: как только человек в своём Телеграме подписывается на сообщения вашего бота, MyChat Server сразу же регистрирует учётку в MyChat и делает связку между ней и Telegram-аккаунтом.

Автоматическая регистрация и активация Telegram-пользователей в MyChat

В профиль MyChat пользователя автоматически запишется ник, имя и фамилия человека, если они были указаны в Telegram-аккаунте.

Дополнительно в интерфейсе админки теперь ещё показывается имя вашего Телеграм-бота, чтобы не приходилось его мучительно вспоминать, когда будет нужно подписать новых пользователей.


6. Linux+macOS: настройки программы


Основные настройки MyChat Client теперь доступны на маке и в линуксе:

Настойки программы в macOS и Linux

Используйте шаблоны настроек с сервера для пользователей MyChat на macOS и Linux. Всё работает так же, как и для MyChat Client под Windows, хотя внешний вид немного другой.


7. Скрипты, что нового?


Традиционно, в каждой новой версии MyChat добавляются новые функции встроенного движка для написания программ-расширений.

В 6.8 это GeoIPGetFullInfoAsJSON и GeoIPGetQuickInfo для работы с сервисом определения географического положения пользователей по их IP адресам. Fetch — для работы со строками и mSetUserRoleID для назначения группы прав.

Чтобы добавить человека в общий древовидный список контактов, используйте mAddUserToCommonContacts.

А функции mGetUsersListByEmailAndState и mGetUsersListByNickAndState нужны, чтобы получать списки пользователей по нику/email и сетевому статусу.


8. Блокировки по HardwareID


HardwareID — это специальная строка, уникальная для компьютера, на котором выполняется MyChat Client.

Она зависит от типа микропроцессора и модели жёсткого диска. Информацию о HardwareID пользователей можно увидеть в "Управлении пользователями" в админке.

Теперь вы можете блокировать пользовательские компьютеры или смартфоны по этому уникальному параметру в инструменте "Фильтры", "HardwareID фильтры":

Новые блокировки в MyChat


9. Ограничьте регистрации с IP/MAC/HardwareID адресов


Для публичных серверов, открытых в Интернет, чтобы избежать возможных атак или фейковых регистраций.

По умолчанию защита включена, максимальное количество одинаковых IP — 100, для MAC/HardwareID — по 10 штук.

Ограничение количества регистраций MyChat


10. Дружим с Windows Firewall


MyChat Server — весьма сложное сетевое приложение. Мы стараемся сделать его максимально дружелюбным к админу, у которого и так есть работа и заботы, помимо корпоративного мессенджера.

В новой версии сервер после запуска теперь добавляет себя в исключения брандмауэра Windows автоматически:

Автоматическое добавление MyChat в брандмауэр

Современные антивирусы, фильтрующие трафик, обычно обращают внимание на Windows Firewall и его настройки, так что теперь у администраторов будет немного меньше головной боли по настройке MyChat Server. И это хорошо.


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


В доску объявлений добавили контекстные меню для копирования и вставки, сделали больше места для текста:

Улучшения доски объявлений MyChat

Для быстрой публикации сообщения используйте "Ctrl+Enter".

Когда вам передают в чате файлы, MyChat Client будет запоминать последнюю папку, куда они были сохранены. По умолчанию файлы сохраняются в папку "C:\Users\%USERNAME%\Documents\MyChat\" и дальше по имени отправителя. Но вы можете изменить папку для конкретного человека, и программа будет это помнить:

Изменение путей для файлов MyChat

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

В настройках сервера теперь можно задавать, в каких папках хранить файлы пользователей и протоколы работы. Заодно мы сделали отдельный раздел для настроек каталогов, чтобы не искать их в разных местах по всему интерфейсу:

Новый раздел в настройках сервера


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


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

MyChat Client

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

[*] улучшена логика работы настройки "Запоминать выбранную папку для каждого пользователя" для технологии приёма файлов в чате;
[*] улучшено определение локальных IP адресов для системы передачи файлов напрямую, минуя сервер;
[*] если папка с плагином для звонков была удалена, MyChat Client автоматически восстановит ее;
[*] если настройки языка интерфейса были повреждены, то программа автоматически переключит язык на английский и всё равно запустится;
[*] если MyChat Client принимает файл напрямую поверху уже открытого в другом приложении такого же файла, появляется сообщение об ошибке и приём файлов прерывается;
[*] (Доска объявлений) добавлены контекстные меню для копирования и вставки текста, увеличено окно для ввода текста, "Ctrl+Enter" для быстрой публикации сообщения;
[*] для определения географического положения пользователя в окне просмотра профиля теперь используется служба maxmind.com;

[-] ошибка в определении локальных MAC адресов, добавлялись в список 8-октетные адреса. Исправлено;
[-] неправильно показывался IP адрес пользователя из браузера для WEB-чата с сайта при входящем сообщении. Исправлено;
[-] ошибка в обработке параметров HOME_COUNTRY и WORК_COUNTRY в настройках показа информации о клиенте в привате;
[-] не работала регистрация нового пользователя в мастере первого запуска. Исправлено;
[-] ошибка при регистрации нового пользователя из интерфейса MyChat Client. Процесс "зацикливался" и пользователи создавались на сервере бесконечно;

MyChat Server

[+] (Admin) инструмент для настройки, в каких папках хранить различные файлы сервера;
[+] (Admin) правило для доступа к инструменту блокировки HardwareID пользователей;
[+] (Installer) ключ командной строки /IgnoreRunServer для игнорирования работающего сервера при запуске установщика сервера;
[+] (Installer) ключ командной строки /KillServer для принудительной выгрузки работающего сервера перед началом обновления сразу после запуска инсталлятора;
[+] (Admin) новый инструмент ведения системных протоколов;
[+] новая система первичной установки сервера и разворачивания клиентских приложений;
[+] (MSL) функции mGetUsersListByEmailAndState и mGetUsersListByNickAndState для получения списков пользователей по нику/email и сетевому статусу;
[+] (MSL) функция mAddUserToCommonContacts для добавления пользователя в общий древовидный список контактов;
[+] (MSL) функция mSetUserRoleID для изменения группы прав пользователя;
[+] (Integrations) интеграция с сервисом GeoIP, используя локальную базу данных;
[+] (MSL) функции GeoIPGetFullInfoAsJSON и GeoIPGetQuickInfo;
[+] (Admin) возможность автоматической регистрации и активации Telegram-пользователей в MyChat;
[+] (Admin) новый инструмент для блокирования пользователей по HardwareID;
[+] (Admin) настройки для ограничения количества регистраций пользователей с одного и того же IP адреса или HardwareID;
[+] (Admin) управление правами, "Группы прав", "Профиль", правило "Просмотр профилей других пользователей";

[*] (MSL) дополнена функция mGetServerServiceFolder;
[*] (Core) улучшено взаимодействие с Windows Firewall, сервер теперь добавляет себя в исключения автоматически (Core/WEB и TURN);
[*] (MSL) функция GetNextSt заменена на Fetch. Для совместимости оставлена старая версия тоже;
[*] в качестве разделителя дробного числа в скриптах теперь используется только точка, а не значение текущей системной локали (запятая и т.п.), чтобы скрипты единообразно работали на разных операционных системах;

[-] (Admin) функция "Настройки", "Резервные копии", "Полная очистка всех данных" не работала. Исправлено;
[-] ошибка "unable to open database file" при запуске сервера, возникала в редких случаях. Исправлена;
[-] ошибка Cannot open file "C:\Program Files (x86)\MyChat Server\languages\russian.ini". Системе не удается найти указанный путь;
[-] (MSL) функция JSONGetDateTime возвращала некорректные данные. Исправлено;
[-] (Core) исправлен логин доменного пользователя из MyChat Client без использования прозрачной авторизации (domain/login), если MyChat Server подключается к Windows Server через LDAP с шифрованием;
[-] (Admin) "Инструменты" -> "Доска объявлений", "Актуальные", кнопка "Очистить" приводила к "падению" сервера с ошибкой "SQL statement doesn't return rows". Исправлено;
[-] (Admin) проблема с импортом пользователей из домена с фотографиями большого размера. Исправлена;
[-] (Admin) в инструменте "Автосоздаваемые конференции" не отображались пользовательские группы при добавлении в конференцию. Исправлено;
[-] (MSL) если в функцию StrToFloat передать неправильные данные, скрипт аварийно завершал свою работу с записью в логе "function ... has invalid list of parameters". Исправлено;
[-] (Admin) при редактировании или создании сообщения для Доски Объявлений в админке "склеивался" текст из многострочного в одну строку. Исправлено.

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