MyChat 7.2 — синхронизация истории и статусы доставки сообщений
Официальная новость: MyChat 7.2 — синхронизация истории и статусы доставки сообщений
Дата релиза: 27.12.2018
[+] новое;
[*] исправлена ошибка и/или изменено к лучшему;
[-] исправлена ошибка;
MyChat Client
[+] (Android) добавлено отображение форматированного текста;
[+] (Android) добавлена индикация отсутствия подключения к серверу;
[+] система синхронизации приватных сообщений между разными устройствами;
[+] статусы приватных сообщений: "отправлено", "получено" и "просмотрено";
[+] сохранение информации о непрочитанных приватных сообщениях и индикация об этом миганием после перезапуска программы;
[+] после запуска автоматически повторно открываются приваты с теми людьми, с которыми они были открыты до завершения программы;
[+] инструмент для добавления заданий в Канбан-доску другим пользователям прямо из MyChat Client (Alt+T);
[+] (Android) теперь номера телефонов в текстовых сообщениях и в типе сообщения "Контакт" кликабельны, после чего их сразу можно открыть стандартным приложением для звонков;
[*] убрано системное сообщение "Пользователь подключен к серверу" в окне приватного разговора при подключении собеседника к серверу в связи с появлением системы синхронизации приватных сообщений;
[*] (Android) переработан список пользователей в конференции, теперь в списке отображаются статусы пользователей, навигация стала проще, элементы списка стали больше и выразительнее;
[*] убрано уведомление из приватного разговора "*** Пользователь подключен к серверу";
[*] "Ctrl+Enter" в окне создания оповещения мгновенно отправляет его, если все поля заполнены правильно;
[*] добавлена кнопка прокрутки главной панели инструментов, если ширина панели больше, чем ширина окна MyChat Client;
[*] если нет связи с сервером MyChat, то по F1 в любом месте программы открывается справка с официального сайта, https://nsoft-s.com, а не с локального сервера;
[*] консольная команда "help" открывает в браузере локальную справку по использованию консольных команд;
[*] дополнительная проверка на существование дефолтной папки при открытии стандартных диалогов открытия файлы/папки (если каталог не существует, отвалилась сетка, нет диска, удалили именно эту папку и т.п.);
[-] ошибка перерисовки технической информации о пользователе и активном процессе;
[-] в окне отправки оповещения неправильно работал фильтр пользователей (F3);
[-] в окне отправки оповещения автоматически заполнялся список получателей, если в поле фильтра вводились любые данные для поиска;
[-] в окне отправки оповещения (Ctrl+F9) иногда после нажатия на кнопку "Приложить файл" окно выбора файла показывалось на заднем плане. Исправлено;
[-] не получалось залить на сервер файлы нулевой длины, выдавалась ошибка заливки файла на сервер (#0234). Исправлено;
[-] (Android) после изменения структуры общего списка контактов, разделы не удалялись в мобильном клиенте до перезагрузки. Исправлено;
[-] ошибка ID 5C700000, "Cannot change Visible in OnShow or OnHide", возникала, если установить настройку запроса пароля для входа на сервер при каждом запуске программы. Исправлено;
[-] (Mac) из-за масштабирования с тачпада ломался интерфейс чата. Исправлено;
[-] (Android) исправление ошибок связанных с отображением типа сообщений "Контакт";
[-] (Android) исправления ошибок во время аудио и видео звонков;
[-] (Android) устранена проблема с невозможностью установить приложение на некоторых устройствах;
[-] (Android) во время регистрации пользователя учетная запись создавалась дважды. Исправлено;
[-] (Mac, Linux) дублирование истории конференций при выходе/входе. Исправлено;
[-] (Mac, Linux) "тихое падение" клиента при подключении к серверу или восстановлении связи. Исправлено;
[-] кнопка "Отправить файл" в привате оставалась неактивной, если получатель не дал согласие на приём файл в течение 15 минут и сеанс передачи файлов не был начат. Исправлено;
[-] пункт главного меню "Инструменты", "Мои любимые конференции" (ALt+V) не работал. Исправлено;
[-] ошибка рендеринга руководителей подразделений в списках контактов. Исправлена;
[-] если нажать на картинку в чате ПКМ и выбрать "Сохранить как", а затем изменить имя, то файл изображения сохранялся без расширения. Исправлено;
[-] (Android) теперь после изменения активного сервера в мастере, данные корректно сохраняются;
[-] (Android) раньше, во время редактирования сервера без пароля, вместо него подставлялось слово "null". Исправлено;
[-] (Android) исправление мелких ошибок интерфейса;
MyChat Server
[+] (Integration API) команды MCIAPI_CS_MoveUserToDepartment и MCIAPI_CS_CommonContactsRebuild для перемещения пользователей между подразделениями общего списка контактов и пересборки кеша общего списка контактов;
[+] (MSL) функция mCommonContactsRebuild для пересоздания кеша общего списка контактов и рассылки его всем онлайн-пользователям;
[+] (MSL) функция mMoveUserToDepartment для переноса пользователя из одной группы общего списка контактов в другую;
[+] (MSL) функция mAddUserToWebSupportGroup для добавления пользователя в указанную группу операторов web-поддержки;
[+] (MSL) функция mCreateWebSupportGroup для создания новой группы web-поддержки;
[+] (MSL) функция mDeleteUserFromWebSupport для удаления пользователя из группы web-поддержки;
[+] (MSL) функция mDeleteWebSupportGroup для удаления группы web-поддержки;
[+] (MSL) функция mGetUserWebSupportGroupID для получения группы web-поддержки указанного пользователя;
[+] (MSL) функция mGetWebSupportGroupIDByName для получения числового идентификатора группы web-поддержки по имени;
[+] (MSL) функция mGetWebSupportGroupNameByID для получения название группы операторов web-поддержки по идентификатору;
[+] (MSL) функция mGetWebSupportGroupUsers для получения списка пользователей указанной группы web-поддержки;
[+] (MSL) функция mRenameWebSupportGroup для переименования существующей группы операторов web-поддержки;
[+] (MSL) функция mWebSupportGroupIDExists для проверки существования группы web-поддержки;
[+] (MSL) функция mDBStorageGetData для чтения данных из базы по ключу;
[+] (MSL) функция mDBStorageSetData для записи данных в базу сервера;
[+] (MSL) функция mDBStorageDeleteKey для удаления ключа с данными из базы сервера;
[+] (MSL) функция mDBStorageKeyExists для проверки существования ключа с данными в базе данных сервера MyChat;
[+] (Admin) опция "Отключать скрипты из-за превышения времени выполнения" в разделе "Настройки", "Дополнительно". По умолчанию выключена;
[+] (WebSupport) можно выбрать в админке, использовать выбор операторов или нет при открытии окна для связи;
[+] (WebSupport) можно указать группу или несколько операторов для связи;
[+] (WebSupport) люди в списке доступных операторов для связи сортируются, кто онлайн, а кто офлайн, онлайн — вверху;
[+] (WebSupport) если в списке для выбора операторов только один человек онлайн — чат откроется сразу;
[+] (WebSupport) можно выбрать, что спрашивать у пользователя при первом входе: имя, email или ничего. Имя пользователя сгенерируется автоматически (user_20181207182456231);
[+] (WebSupport) в списке операторов, доступных для разговора, пишется имя и должность (если есть);
[+] (WebSupport) если выбор операторов отключен, то система выбирает случайно среди онлайн-операторов. Если онлайн нет никого, то случайно среди всех операторов;
[+] (WebSupport) при повторном открытии чата, чат откроется с тем оператором, с которым пользователь уже говорил ранее (ради истории, она отображается в чате сразу);
[+] (MSL) функция HexToInt для преобразования шестнадцатиричного числа в виде строки в десятичное;
[+] (MSL) функция IntToHex для преобразования десятичного числа в шестнадцатиричное;
[+] (MSL) функция FileSize для получения размера файла на диске;
[+] (MSL) функция IntToKbyte для получения короткой текстовой записи размера файла;
[+] (MSL) функция mMakeBackupServerDataBase для создания резервной копии баз данных сервера;
[+] (MSL) функция ExtractFilePath для получения пути файла;
[+] (MSL) функция ExtractFileName для получения имени файла;
[+] (MSL) функция ExtractFileExt для получения расширения файла;
[+] (Forum) вставка скриншотов (изображений) из буфера обмена;
[+] (Kanban) добавлена возможность прикреплять изображения и файлы к заданиям;
[+] встроенный робот-викторина;
[*] дополнительный контроль на принадлежность UIN-а пользователя к группе поддержки операторов на сайт;
[*] быстрое переподключение пользователей при отвале связи из-за перехода между подсетями (WiFi <-> Internet);
[*] в настройках внешнего IP адреса для встроенного FTP сервера можно вводить только IP, без указания порта. Сделан дополнительный контроль;
[*] в фильтре "Плохих слов", конференции исключения теперь добавляются с помощью выпадающего списка, а не с помощью ввода текстового названия;
[*] (Core) система автоматической очистки старых файлов теперь смотрит на дату и время последнего доступа к файлам, а не на дату и время создания;
[*] (MSL) теперь нельзя создать два скрипта, названия которых различаются только регистром, например, "MyScript" и "myscript". Такие названия будут считаться одинаковыми;
[-] (MSL) некорректная работа функции mConvertMsgToPlainText, если на вход передано сообщение из одного символа. Исправлено;
[-] (Admin) в профиле пользователя, список доменов в поле "Имя домена" писался в один элемент, через запятую. Исправлено;
[-] (MSL) скриптовая функция mSetUserAttribute не обновляла данные в базе сервера, только данные в памяти. Исправлено;
[-] (WEB-support) при регистрации пользователя с iPhone происходило дублирование пользователя. Исправлено;
[-] (Admin) в просмотре истории диалогов с роботом не отображались некоторые типы сообщений (IntegrationAPI, Forum и Kanban). Исправлено;
[-] (Admin) в онлайн пользователях сбрасывался фильтр, когда счетчик обновления доходил до 0. Исправлено;
[-] (WEB-chat) не работала отправка сообщений на доску объявлений. Исправлено;
[-] (WEB-chat) не работали видео-звонки. Исправлено;
[-] (WEB-chat) Kanban открывался всегда с адресом 127.0.0.1 вместо реального. Исправлено;
[-] после первого старта сервера автоматически создавалась группа-дубликат прав для администратора с UIN=1 с названием из цифр. На работоспособность сервера не влияет. Исправлено.