MyChat 8.0, большое обновление
Официальная новость: MyChat 8.0 — большое обновление
Дата релиза: 08.07.2020
[+] новое;
[*] исправлена ошибка и/или изменено к лучшему;
[-] исправлена ошибка;
MyChat Client
[+] (Android) добавлено редактирование всех полей в профиле пользователя;
[+] (Android) добавлена возможность изменить фото профиля;
[+] поддержка стандарта Emoji для смайликов;
[+] в приватах теперь показывается, сколько времени не было человека в сети, если он офлайн;
[+] текстовые placeholders в конференциях и в приватах в поле для ввода сообщений;
[+] (Android) добавлена обработка прав пользователя на просмотр активного процесса в профиле пользователя, запрет скриншотов экрана в диалогах и blur окна приложения при переключении между последними приложениями, права на поиск пользователей, права на осуществление медиа-звонков, права на перенаправление диалогов. Вся обработка сопровождается изменениями в интерфейсе приложения (сокрытие или отображение некоторых кнопок и элементов);
[+] (Android) добавлено расширенное логирование медиа-звонков а также настройка для включения полного протоколирования трафика для отладки;
[+] (Android) добавлен новый тип сообщений — "Штрих-код". Теперь можно при помощи приложения сканировать любой штрих-код либо QR-код и отправить его в приват или конференцию;
[+] (Android) добавлена галерея медиа-файлов для выбранного приватного диалога, в ней в удобном виде можно просмотреть все медиа из сообщений, которые находятся в локальной базе Android-приложения;
[+] (Android) теперь рядом с сообщением находится аватар отправителя, или, если он отсутствует, его инициалы;
[+] (Android) добавлена возможность перенаправить диалог другому пользователю, если для этого есть права;
[+] (Android) добавлена возможность создавать конференции;
[+] (Android) добавлена возможность создавать оповещения. Для удобства процесс создания разделен на несколько этапов. Можно выбирать пользователей из списков контактов или произвольных юзеров, зарегистрированных на сервере. Также доступен весь функционал из win32-приложения: указание актуальности оповещения, выбор его типа и добавление файлов;
[+] (Android) в инструменте просмотра принятых оповещений добавлен диалог со списком приложенных файлов;
[+] (Android) на странице логина добавлены подсказки для клиентов, которые устанавливают приложение впервые;
[+] (Android) добавлена новая вкладка — "Звонки", куда попадают все медиа-вызовы из всех диалогов в хронологическом порядке;
[+] Ctrl+PageUp, Ctrl+PageDown для переключения между последними диалогами;
[+] (Linux, Mac, Web) при скролинге текста чата в самый вверх, автоматически подчитывается история диалога или конференции;
[+] (Linux, Mac, Web) добавлен глобальный поиск пользователей;
[+] (Linux, Mac, Web) добавлен вход в форум в разделе инструментов;
[+] (Linux, Mac, Web) добавлена возможность вставлять смайлики, наборы переключаются в настройках;
[+] (Linux, Mac, Web) добавлен инструмент доступа к публичным и персональным папкам FTP;
[+] (Linux, Mac, Web) добавлена обработка ссылок на публичную и персональную FTP папку;
[+] (Linux, Mac, Web) добавлено контекстное меню в списке диалогов пользователей с кнопкой "Закрыть диалог";
[+] панель последних диалогов для быстрой навигации между активными приватными разговорами и конференциями;
[+] новая консоль с активными ссылками;
[+] навигация по чату теперь делается в левой части окна, четырьмя кнопками: "Чаты", "Звонки", "Контакты" и "Важное";
[+] новый внешний вид окна сообщений;
[+] содержимое основного окна "размывается", если пользователь вызывает модальное окно для каких-либо действий, чтобы сконцентрировать внимание человека. Отключается в настройках, автоматически отключается в RDP-сессиях;
[+] новая функция "разбудить" пользователя. Работает в привате. Если собеседник онлайн — то его окно переключается на первый план, в течение 1-2 секунд "дрожит" + звучит звонок. Функцией можно пользоваться не чаще, чем раз в минуту, можно отключить на сервере в правах групп;
[+] консольная команда "ReConnect" для переподключения к серверу;
[+] консольная команда "UpdateAdv" для мгновенного обновления HTML информационного блока в нижней части окна MyChat Client;
[*] новый инструмент создания конференций (Alt+С);
[*] новый инструмент входа в существующие конференции (Alt+E);
[*] кнопка для показа пароля в менеджере учётных записей;
[*] убрана настройка штампа даты и времени в чате, теперь она зависит от системной локали;
[*] убрана настройка показа системных сообщений в конференциях;
[*] увеличена скорость загрузки MyChat Client за счёт асинхронной загрузки словарей для проверки правописания;
[*] полная информация про то, сколько времени человека не было в сети, сколько он в онлайне в просмотре профиля пользователя;
[*] при возникновении сетевой winsock ошибки в консоли MyChat Client подсвечивается и сам текст ошибки, по клику на ней можно открыть специальную расширенную статью справки;
[*] (Android) полностью изменена архитектура медиа-звонков. Основное улучшение — теперь во время звонка в статус-баре всегда находится уведомление, кликнув по которому вы сможете вернуться к звонку или завершить его. Также добавлена корректная обработка поворота экрана во время звонка;
[*] (Android) изменена отправка файлов на сервер. Больше не появляется диалог отправки, который нельзя было закрывать до окончания заливки файла на сервер, теперь вместо него в статус-баре находится уведомление с прогрессом загрузки, также есть индикация расчета контрольной суммы файла перед отправкой;
[*] (Android) полностью переработано отображение сообщений в приватных диалогах и конференциях. Внешний вид общения приведен к единому стилю, который используется во всех клиентах MyChat;
[*] (Android) изменена панель выбора отправляемого вложения;
[*] (Android) переработан список принятых оповещений. Теперь все элементы одинакового размера, с возможностью развернуть текст сообщения;
[*] (Android) полностью переработана страница логина, убраны лишние элементы;
[*] (Android) изменена страница "Мастера серверов". Теперь во время добавления или редактирования элемента списка можно включить шифрование, ввести альтернативный адрес сервера, а также ввести имя домена, которое будет подставляться автоматически во время логина;
[*] (Android) изменена страница регистрации нового пользователя;
[*] (Android) во время регистрации добавлена возможность подставить данные из аккаунта Google или Facebook. Мы не храним эти данные ни в каком виде, получаем из профиля пользователя только краткую информацию;
[*] (Android) произведен редизайн домашнего экрана программы;
[*] (Android) панель навигации между вкладками теперь находится в нижней части экрана, возможность переключаться между экранами по свайпу осталась, как раньше. Также на панели теперь отображаются индикаторы новых событий;
[*] (Android) теперь для всех пользователей отображаются аватары пользователей, или, в случае их отсутствия, инициалы;
[*] (Android) добавлены индикаторы прочтения сообщений;
[*] (Android) изменен общий вид и компоновка элементов;
[*] мгновенная вставка иконок "no image" или "image deleted", если картинка удалена с сервера;
[*] автоматическое изменение поля ввода при изменении размера главного окна;
[*] увеличена скорость подключения клиента к серверу, список Actions теперь кешируется локально;
[*] автоматическое распознавание локальных и интернет-ссылок при вставке из буфера обмена в чат (Ctrl+V, Shift+Ins и ПКМ->"Вставить");
[*] сообщение автоответчика отключается для websupport-пользователей;
[*] ускорена отправка приватных сообщений;
[*] (Linux, Mac, Web) кнопки для звонка вынесены в заголовок диалога, а кнопка завершения звонка доступна даже при переключении между разными диалогами;
[*] (Linux, Mac, Web) в профиле пользователя данные теперь размещены более компактно;
[*] (Linux, Mac, Web) при вставке изображения из буфера обмена показывается привью содержимого перед отправкой;
[*] (Linux, Mac, Web) после открытия канбана, форума или админки в клиенте, через некоторое время, если повторно туда не заходить, они будут закрыты, чтобы не держать лишнее подключение;
[*] (Android) проведен полный редизайн страницы информации о пользователе. Теперь отображаются все поля, в соответствии с разделами (как в win32-клиенте). Также отображается сервисная информация о компьютере пользователя и об активном процессе, если для этого есть права;
[*] (Android) добавлен обработчик правила "Поиск пользователей", при отсутствии разрешения иконка поиска на главной странице приложения не будет отображаться;
[*] убрана настройка из раздела "Интерфейс": "Не показывать аватары";
[*] убраны настройки из раздела "Главное" : "Показывать на закладках конференций счётчик пользователей" и "Закрывать закладки разговоров двойным щелчком мышки";
[*] новое окно выбора папки для сохранения файлов в настройках;
[*] добавлен пункт меню в раздел "Инструменты" для открытия консоли. Теперь для неё нет отдельной закладки;
[*] убраны закладки для конференций и приватов, вся навигация теперь делается через раздел "Чаты";
[*] убрана панель для смены своего статуса и открытия собственного профиля из верхнего левого угла главного окна;
[*] поиск по контактам перенесён из отдельной строки в сами контакты;
[*] общий и личный список контактов объединены одним селектором;
[*] убрана главная панель инструментов;
[*] автоматический скроллинг колесом мышки содержимого окна при наведении без необходимости клика для получения фокуса;
[*] переделано и упрощено контекстное меню, которое вызывается по ПКМ на нике пользователя в чате;
[*] улучшенная система удаления сообщений в конференциях и приватах;
[*] новый мастер первого подключения;
[*] если на сервере прописан IP адрес или доменное имя сервера для внешних клиентов, то при автоматическом поиске серверов MyChat в локальной сети в самой программе и в мастере первого подключения этот адрес будет добавлен как альтернативный, чтобы MyChat мог автоматически переключаться между ними;
[*] в настройках сервера для подключения теперь можно указать порт с номером, меньше чем 1024;
[*] в лог подключения добавлена строка типа "[19:40:56] [INFO] Windows user: toshiba" для идентификации Windows-пользователя/домена, под которым запускается приложение MyChat Client;
[*] все голосовые, видео звонки и демонстрации экрана теперь записываются в историю сообщений, которая синхронизируется с сервера;
[*] в поиске пользователей (Alt+F), если у пользователя не была указана дата рождения, показывалось в результатах "01.01.1900". Исправлено;
[*] добавлены английский и украинский словари для системы проверки правописания;
[*] одинарный клик по мигающей иконке в трее открывает чат на последнем входящем сообщении;
[*] теперь возможны звонки с демонстрацией экрана, даже если в системе нет физического микрофона;
[*] после вызова окна вставки произвольной ссылки (Alt+L) поля с текстом ссылки и описанием не очищались. Исправлено;
[*] если в настройках выключено протоколирование лога соединения в файл, то после старта приложения в файл лога запишется строка "[INFO] Connection log disabled";
[*] если на сервере запрещено подключение клиентских приложений без шифрования, а в настройках MyChat Client шифрование отключено, то приложение научилось автоматически переключаться в режим шифрования трафика при коннекте;
[*] консольная команда "BackupServDB" теперь генерирует ссылку, по которой можно скачать резервную копию базы сервера прямо из MyChat Client;
[-] (Admin) редактирование и сохранение custom-полей учётных записей пользователей в управлении пользователями не работало. Исправлено;
[-] обновление локального времени удалённого пользователя в просмотре его профиля по F5;
[-] (Android) добавлена полноценная поддержка входящего звонка для Android 10, ранее экран звонка мог не появляться, когда телефон заблокирован;
[-] по клику по Action "Владелец лицензии" в тексте чата теперь показывается нормальное сообщение, без "кривых" тегов;
[-] исправлена работа автоответчика, сообщение отправляется, только если получатель офлайн;
[-] исправлен повторный запрос шаблона настроек клиента на сервере при логине;
[-] (MAC, Linux) не отображаются списки пользователей в оповещениях. Исправлено;
[-] если в пути для приёма файлов были переменные окружения (%HOMEPATH% и т.п.), то программа их игнорировала. Исправлено;
[-] исправлена вставка ссылок на конференции в чате;
[-] (Android) при выборе или удалении сервера в мастере, приложение закрывалось с ошибкой. Исправлено;
[-] если включить форматирование текста, ничего не писать и отправить сообщение — программа зависает. Исправлено;
[-] исправлен хинт "Вставить смайлик - Ctrl+S";
[-] если в бесплатной версии на сервере в шаблоне настроек включали шифрование трафика, то клиент переставал соединяться с сервером. Исправлено;
[-] (Android) при выходе из приложения или изменении учетной записи не сохранялась настройка "Использовать шифрование". Исправлено;
[-] исправлена ошибка при повторных логинах доменных пользователей без использования прозрачной авторизации;
[-] некорректная обработка ошибки #209, если исчерпаны все свободные подключения к серверу. Исправлено;
[-] если указать в настройках, раздел "Дополнительно" константу COMPUTER_NET_NAME, то, если у пользователя нет прав для просмотра чужих IP адресов, имя компьютера показываться не будет. Исправлено;
[-] консольная команда "Exit" не работала, если не было подключения к серверу;
[-] при изменении даты рождения в профиле пользователя (Alt+U) она очищалась. Исправлено;
MyChat Server
[+] (MSL) функция mClosePrivateDialog для программного закрытия приватного диалога у заданного пользователя;
[+] (Admin) новое правило в группах прав "Конференции", "Удаление любых сообщений в конференциях в своей локальной базе данных". По умолчанию включено;
[+] (Admin) новое правило в группах прав "Приваты", "Удаление любых сообщений в приватах в своей локальной базе данных". По умолчанию включено;
[+] (MSL) функция LoadLineFromFile для получения любой строки из текстового файла в указанной кодировке;
[+] (MSL) функции mSetAdvOptions и mGetAdvOptions для управления показом рекламных баннеров и брендинга внешнего вида MyChat Client;
[+] (MSL) функция mClearScriptLog для очистки логов в консоли разработчика;
[+] (MSL) функция JSONKeyExists для проверки наличия ключа в объекте;
[+] (MSL) функция NoDate для получения значения "дата и время не указано";
[+] (MSL) функция StrMyChatToDateTime для преобразования строки с датой и временем в double значение;
[+] (MSL) функция DateTimeToMyChatStr для перевода double значения даты и времени в строку MyChat-формата;
[+] (MSL) функция JSONArraySetLength для создания массива;
[+] (MSL) функция JSONArrayGetDouble для получения дробного числа из массива по индексу;
[+] (MSL) функция JSONArraySetDouble для сохранения дробного значения элемента массива по индексу;
[+] (MSL) функция JSONValid для проверки корректности JSON объектов;
[+] (MSL) функция JSONSetFloat для записи дробных значений в JSON объектах;
[+] (MSL) функция JSONGetFloat для чтения вещественных значений из JSON объектов;
[+] (MSL) функция AnsiLowerCase для преобразования UNICODE строки в нижний регистр;
[+] (MSL) функция AnsiUpperCase для преобразования UNICODE строки в верхний регистр;
[+] ключ /LicenseKey для ввода ключа лицензии сразу при запуске сервера из командной строки;
[+] (MSL) функция mPersonalContactsIsUserExists для проверки, есть ли указанный пользователь в личном списке контактов другого человека;
[+] (MSL) функция mPersonalContactsIsGroupExists для проверки, есть ли группа с таким названием в личном списке контактов пользователя;
[+] (MSL) функция mPersonalContactsAddGroup для создания новой группы в личном списке контактов пользователя;
[+] (MSL) функция mPersonalContactsAddUser для добавления пользователя в личный список контактов другого человека;
[+] (MSL) функция mPersonalContactsClear для очистки личного списка контактов любого пользователя;
[+] (MSL) функция mPersonalContactsDeleteUser для удаления пользователя из личного списка контактов другого человека;
[+] (MSL) функция mPersonalContactsIsEmpty для проверки, пустой ли личный список контактов;
[+] (MSL) функция mPersonalContactsRefresh для обновления личного списка контактов в онлайн-приложениях MyChat Client;
[+] (MSL) функция PosEx для поиска подстроки в строке со смещением;
[+] (MSL) функция SaveTextToFile для сохранения текста в файл в указанной кодировке;
[*] (Admin) "MyChat Server", "Онлайн пользователи", IP адрес Android-клиентов показывался как 127.0.0.1. Исправлено на реальный;
[*] (Core) скорость запуска сервера увеличена на 50% за счёт оптимизаций работ с базами данных;
[*] (Admin) изменена проверка домена, чтобы можно было указать домен на кириллице (например: "мойсуперсайт.рф"), используется в сетевых настройках;
[*] (Core) автоматическое удаление недолитых файлов на сервере при повторной попытке заливки (контроль по размеру);
[*] (MSL) обновлён скрипт CheckEmptyUsersFields, который идёт в комплекте с сервером. Скорость работы увеличена в 2,5 раза;
[*] (MSL) убрана функция mSendChannelMessage (deprecated), заменена на mSendConfMessage;
[*] (Kanban) добавлена возможность редактировать проект: редактирование названия и описания проекта, менять крайний срок, удалять пустые этапы, добавлять новые, переименовывать существующие этапы и менять их позиции в проекте;
[*] (FTP) улучшен механизм работы токенами при работе с FTP сервером из-под браузеров и Проводника;
[*] (Core) улучшен механизм перезапуска встроенных серверов NodeJS и TURN;
[*] (Core) улучшена автоматическая настройка встроенного STUN/TURN сервера, если есть внешний "белый" IP адрес/домен;
[*] (Core) после обновления профиля пользователя не полностью обновлялась информация для быстрого поиска в клиентских приложениях. Поправлено;
[*] (Admin) Добавлен фильтр LDAP запросов;
[*] (Admin) добавлены дефолтовые значения для полей, при создании шаблонов настроек клиентов;
[*] (Support) добавлена отправка скриншотов из буфера обмена в Firefox;
[*] (Kanban) в заголовок задания добавлена ссылка на это задание;
[*] (Kanban) при открытии задания в адресной строке пишется его полная ссылка;
[*] на все исполняемые файлы теперь накладывается две цифровых подписи для совместимости со старыми и новыми операционными системами (Windows XP, Vista, Server 2003 и старше);
[*] (MSL) переделана функция GetTextFileLinesCount, корректная работа с текстом в разных кодировках;
[*] (MSL) переделана функция AddLineToFile, запись текста в разных кодировках + возврат итогового размера файла в байтах;
[*] (MSL) переделана функция Protocol, штамп времени теперь начинается с "yyyy.mm.dd", запись текста в разных кодировках + возврат итогового размера файла в байтах;
[-] галка "Автозапуск вместе с Windows" всегда на старте GUI сервера была включена. Исправлено;
[-] (Admin) исправлено создание резервной копии из админки, бекап делался, но его не получалось скачать в браузере;
[-] (Admin) неправильно работала сортировка в списке активных конференций, при сортировке количества пользователей и сообщений. Исправлено;
[-] (MSL) функция EncodeURL некорректно работала с UNICODE-символами. Исправлено;
[-] (Forum) если открыть сообщение для редактирования, закрыть его, а затем создать новое сообщение — перезаписывалось предыдущее сообщение. Исправлено;
[-] исправлено несколько ошибок системы обновления истории сообщений с очень старых версий (5.0 и ниже);
[-] (MSL) функция mRemovePrivates, которая отвечает за полное удаление всей истории приватных сообщений на сервере и на клиентах, не удаляла историю на тех клиентах, что были офлайн в момент выполнения. Исправлено;
[-] (Admin) при добавлении нового пользователя, если ввести имя и нажать кнопку "сгенерировать пароль", не активировалась кнопка "сохранить". Исправлено;
[-] (Admin) неправильно подсчитывалось количество отправленных сообщений в разделе "Конференции", "Активные конференции". Исправлено;
[-] (Admin) при сохранении настроек в разделе админки "Пользователи", "Active Directory", "Синхронизация" WEB-интерфейс зависал. Исправлено;
[-] (MSL) функция mGetUserAttribute не отдавала названия ролей пользователей, если они были без административных прав на управление сервером (параметр "role");
[-] (Admin) в общем списке контактов, при перемещении групп пользователей между собой, возникала ошибка, приводящая к зависанию сервера или перемешиванию контактов;
[-] при запросе информации о имени компьютера офлайн-пользователя возвращалась версия клиентского приложения, а не NETBIOS-имя хоста. Исправлено;
[-] (Admin) при включении пользователя в профиле - ник пишется "undefined". Исправлено.