- Голосовые и видео звонки с Android
- Установка MyChat Client прямо с вашего сервера
- Новый инструмент для системных протоколов
- Интеграция с GeoIP: узнайте город и страну пользователя
- Интеграция с Telegram, улучшения
- Linux+macOS: настройки программы
- Скрипты, что нового?
- Блокировки по HardwareID
- Ограничьте регистрации с IP/MAC/HardwareID адресов
- Дружим с Windows Firewall
- Разные полезности
- Все изменения общим списком + история разработки
1. Голосовые и видео звонки с Android
Теперь звонки работают и на Android, можно звонить между Windows, Linux, macOS и в браузере.
А ещё сделали удобные загрузки различных файлов в конференциях и приватах:
2. Установка MyChat Client прямо с вашего сервера
Сразу после запуска MyChat Server всем вашим пользователям в сети доступна такая WEB-страница:
Раздайте вашим сотрудникам этот линк для быстрой установки клиентских приложений MyChat с вашего сервера.
Не надо вводить адрес сервера, регистрировать пользователя, отвечать на вопросы установщика. Все делается в три шага.
3. Новый инструмент для системных протоколов
Любой админ знает, что в непонятной ситуации следует читать логи. В MyChat на сервере пишутся протоколы с ошибками, разными уведомлениями и предупреждениями. Появились уровни логгирования:
Нижние — самые "экстремальные", протоколируется всё и вся и логи быстро "пухнут". В полночь карета превращается в тыкву и сервер автоматически переводит протоколирование на стандартный уровень, если вдруг админ забыл это сделать.
Раньше мы использовали текстовые файлы, а в версии 6.8 перешли на базу данных. Это даёт огромную скорость для выборок, можно делать фильтры, получать справку по ошибкам (работают ссылки в тексте протоколов):
Файл базы данных с системными протоколами не растёт бесконтрольно, старые записи автоматически подчищаются. Хранится от 500 тысяч до миллиона последних записей. В штатном режиме, если не включать VERBOSE-протоколирование, этого хватит на много месяцев.
4. Интеграция с GeoIP: узнайте город и страну пользователя
MyChat используется для чатов поддержки на сайтах интернет-магазинов. Люди задают вопросы в браузере, прямо на сайте:
Теперь оператор поддержки в своём чате в MyChat Client может узнать ещё и страну/город посетителя:
Чтобы это заработало, нужно скачать базу данных IP адресов и подключить её к вашему серверу.
5. Интеграция с Telegram, улучшения
Мы сделали возможность для автоматической регистрации и активации Telegram-пользователей в MyChat.
Работает это так: как только человек в своём Телеграме подписывается на сообщения вашего бота, MyChat Server сразу же регистрирует учётку в MyChat и делает связку между ней и Telegram-аккаунтом.
В профиль MyChat пользователя автоматически запишется ник, имя и фамилия человека, если они были указаны в Telegram-аккаунте.
Дополнительно в интерфейсе админки теперь ещё показывается имя вашего Телеграм-бота, чтобы не приходилось его мучительно вспоминать, когда будет нужно подписать новых пользователей.
6. Linux+macOS: настройки программы
Основные настройки MyChat Client теперь доступны на маке и в линуксе:
Используйте шаблоны настроек с сервера для пользователей 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 фильтры":
9. Ограничьте регистрации с IP/MAC/HardwareID адресов
Для публичных серверов, открытых в Интернет, чтобы избежать возможных атак или фейковых регистраций.
По умолчанию защита включена, максимальное количество одинаковых IP — 100, для MAC/HardwareID — по 10 штук.
10. Дружим с Windows Firewall
MyChat Server — весьма сложное сетевое приложение. Мы стараемся сделать его максимально дружелюбным к админу, у которого и так есть работа и заботы, помимо корпоративного мессенджера.
В новой версии сервер после запуска теперь добавляет себя в исключения брандмауэра Windows автоматически:
Современные антивирусы, фильтрующие трафик, обычно обращают внимание на Windows Firewall и его настройки, так что теперь у администраторов будет немного меньше головной боли по настройке MyChat Server. И это хорошо.
11. Разные полезности
В доску объявлений добавили контекстные меню для копирования и вставки, сделали больше места для текста:
Для быстрой публикации сообщения используйте "Ctrl+Enter".
Когда вам передают в чате файлы, MyChat Client будет запоминать последнюю папку, куда они были сохранены. По умолчанию файлы сохраняются в папку "C:\Users\%USERNAME%\Documents\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) при редактировании или создании сообщения для Доски Объявлений в админке "склеивался" текст из многострочного в одну строку. Исправлено.