Официальная новость: 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 с названием из цифр. На работоспособность сервера не влияет. Исправлено.